Tengo nomodeset cuando inicio mi kernel, ya que quiero cambiar entre los controladores propietarios nouveau y nvidia dentro de una sesión.
Sin embargo, nouveau no se carga y se queja de que kms no está habilitado (extracto de xorg.log):
(II) NOUVEAU driver Date: Tue Mar 16 13:08:37 2010 +1000
(II) NOUVEAU driver for NVIDIA chipset families :
RIVA TNT (NV04)
RIVA TNT2 (NV05)
GeForce 256 (NV10)
GeForce 2 (NV11, NV15)
GeForce 4MX (NV17, NV18)
GeForce 3 (NV20)
GeForce 4Ti (NV25, NV28)
GeForce FX (NV3x)
GeForce 6 (NV4x)
GeForce 7 (G7x)
GeForce 8 (G8x)
(II) Primary Device is: PCI 01@00:00:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: Searching for BusID pci:0000:01:00.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: drmOpenMinor returns 7
drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
(II) [drm] nouveau interface version: 0.0.15
(EE) [drm] KMS not enabled
(EE) No devices detected.
Aquí está el lsmod:
$ lsmod | grep nouv
nouveau 353208 0
ttm 40978 1 nouveau
drm_kms_helper 20369 1 nouveau
drm 143329 3 nouveau,ttm,drm_kms_helper
i2c_algo_bit 4225 1 nouveau
i2c_core 15819 5 nouveau,drm_kms_helper,drm,i2c_i801,i2c_algo_bit
button 4650 1 nouveau
¿Me estoy perdiendo algo o no es posible tener nouveau sin KMS? He buscado un poco y todo lo que encuentro me apunta a habilitar kms en el kernel.
Linux zen 2.6.32-5-xen-amd64 #1 SMP Tue Jun 14 12:46:30 UTC 2011 x86_64 GNU/Linux
Respuesta1
https://wiki.archlinux.org/index.php/Nouveau#KMS
El controlador Nouveau requiere la configuración del modo kernel (KMS). Consulte la página KernelModeSetting para obtener más información.
Es de la wiki de Arch, pero es válido para todos los sistemas. No puedes usar nouveau sin KMS.
Respuesta2
El controlador nouveau requiere que KMS se ejecute, por lo que no es posible usarlo cuando nomodeset está configurado en la línea de inicio del kernel en grub.
La forma correcta de eliminar el controlador después del arranque es desconectar el framebuffer del controlador como se describe aquí: