Você pode lista negra módulos do kernel. Os módulos na lista negra não serão carregados pelo kernel. O Xorg então não tentará autodetectar o hardware.
Por exemplo, você pode adicionar um arquivo chamado nonvidiavideo.conf
in /etc/modprobe.d/
com o seguinte conteúdo (o nome do arquivo não importa, ele só precisa terminar com .conf
):
blacklist nouveau
Você pode precisar estender o arquivo se tiver módulos que considerem o driver nouveau
como pré-requisito, por exemplo:
blacklist nouveau
blacklist nvidia-dkms
(Eu criei o nome do outro módulo para o propósito do exemplo.) Basicamente, a inclusão de um módulo na lista negra não funciona se outro módulo tiver uma dependência, você precisa colocar na lista negra toda a cadeia de dependência. Provavelmente não há nenhuma cadeia de dependência com nvidia
/ nouveau
, já que são módulos bastante específicos. Mas, para encontrar os módulos que têm nouveau
como dependência, você pode fazer:
depmod -n | grep nouveau | egrep -v '^alias'
(Isso também imprime o módulo em si, as dependências são exibidas quando dois módulos aparecem na mesma linha.)
Outra opção que eu tentaria seria forçar o Xorg a usar o cartão de intel para a tela. Adicione o seguinte a um arquivo (digamos nonvidia.conf
, novamente o nome não importa) para /etc/X11/xord.conf.d/
:
Section "Device"
Identifier "Intel Card"
Driver "intel"
EndSection
Section "Device"
Identifier "Nvidia Card"
Driver "nouveau"
EndSection
Section "Screen"
Identifier "My Screen"
Device "Intel Card"
EndSection
Você também pode adicionar um parâmetro BusID "PCI:..."
a uma seção "Dispositivo" se você sabe onde seu cartão reside (mas não deve ser necessário, o Xorg deve ser capaz de descobrir as coisas dos drivers).
A parte importante é que o parâmetro Device
da "Tela" aponta para o Identifier
do "Dispositivo".
Isso provavelmente não funcionará se você tiver duas telas.
(Disclaimer: este é um código não testado, eu não tenho uma máquina com duas placas de vídeo para testá-lo, desculpe.)