Eu tenho nomodeset quando inicializo meu kernel, pois quero alternar entre drivers proprietários nouveau e nvidia dentro de uma sessão.
No entanto, o nouveau não carrega, reclamando que o kms não está habilitado (trecho do 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.
Aqui está o 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
Estou faltando alguma coisa ou não é possível ter o nouveau sem KMS? Eu pesquisei um pouco e tudo que encontrei me aponta para a ativação de kms no kernel.
Linux zen 2.6.32-5-xen-amd64 #1 SMP Tue Jun 14 12:46:30 UTC 2011 x86_64 GNU/Linux
Responder1
https://wiki.archlinux.org/index.php/Nouveau#KMS
Kernel Mode-Setting (KMS) é exigido pelo driver Nouveau. Consulte a página KernelModeSetting para obter mais informações.
É do wiki do Arch, mas é verdade para todos os sistemas. Você não pode usar o nouveau sem KMS.
Responder2
O driver nouveau requer KMS para ser executado, portanto não é possível usá-lo quando o nomodeset está definido na linha de inicialização do kernel no grub.
A maneira correta de remover o driver após a inicialização é desconectar o framebuffer do driver conforme descrito aqui: