Fazer o Xorg ignorar tanto o nouveau quanto a nVIDIA?

5

Eu tenho um sistema com gráficos on-board (na CPU):

(--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 4000

e uma nVIDIA GTX 650 Ti. O gráfico on-board é o que alimenta o meu monitor, e o GPU é usado para outras coisas (CUDA). Agora, quero fazer com que meu Xorg ignore completamente o meu cartão, não o teste nem nada - não tente usar os drivers da nVIDIA nem os novos drivers. (Por isso, não iria reclamar sobre problemas de driver, nem carregar os módulos do kernel, etc.)

Isso é possível?

Notas:

  • Os módulos ainda devem existir e pelo menos o módulo nVIDIA deve ser carregado (eu só quero que X não tente fazer isso).
  • Eu já tentei incluir o nouveau na lista negra em /etc/modprobe.d/ , isso não ajudou.
por einpoklum 30.07.2016 / 00:20

1 resposta

-1

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.)

    
por 30.07.2016 / 01:52