Eu sempre tive a melhor sorte de executar os drivers proprietários da Nvidia em minhas máquinas.
Instalação do driver da Nvidia:
O driver mais recente pode ser baixado aqui ( link ), mas geralmente, a menos que você tenha um motivo específico para ter o driver mais recente, é sempre mais fácil usar o incluído na sua distribuição ( sudo apt-get install nvidia-driver
no debian por exemplo).
(No momento em que escrevo este artigo, o último lançamento do driver (375) tem duas grandes correções para a funcionalidade "Prime Sync" - eliminando o rasgo da tela e o manuseio adequado das telas externas - o que faz o driver mais recente um pouco mais valioso em sua circunstância.)
Observe que, se você optar por fazer a instalação binária do site da Nvidia, terá recursos como o suporte atualizado ao custo de reinstalar o driver toda vez que atualizar seu kernel. Portanto, se você seguir essa rota, mantenha o script de instalação do driver Nvidia em um local fácil de encontrar.
Certificando-se de que o nouveau não está em execução
Se o Nouveau for executado, ele assumirá a propriedade da sua placa gráfica e o driver da nvidia não poderá operar. Como o módulo nouveau vem com o Linux por padrão, não é possível desinstalá-lo, mas você pode colocá-lo na lista negra. O primeiro passo é adicionar a linha blacklist nouveau
ao arquivo /etc/modprobe.d/blacklist.conf
. O segundo passo é rodar sudo update-initramfs -u
(no debian / ubuntu). Esta etapa propaga a alteração na configuração da lista negra para a sequência de inicialização do grub ou algo assim.
Observe que bumblebee, bbswitch e primus funcionam apenas com o nouveau e devem ser desinstalados. Veja editar no final do post para informações mais detalhadas.
Configurando o driver da Nvidia para funcionar no modo Prime Sync
Os laptops Nvidia Optimus têm duas placas gráficas: a placa gráfica integrada da Intel, que é anexada à tela, e a placa gráfica discreta da Nvidia, que não está conectada à tela (embora seja frequentemente conectada a saídas externas). Portanto, você precisa configurar a placa Nvidia para gerar gráficos, mas para passá-los para a placa Intel para ser exibido na tela.
Tente alterar seu /etc/X11/xorg.conf
para o seguinte (substituindo no PCI BusID da sua placa gráfica, geralmente "PCI:1:0.0"
, com aspas):
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "<BusID for NVIDIA device here>"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Em seguida, você precisará executar dois comandos depois que seu servidor X tiver iniciado antes de poder realmente usar o servidor X (portanto, coloque-os em um arquivo em que eles sejam executados automaticamente):
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
Eu inicio meu servidor x manualmente a partir da linha de comando usando startx
, então coloco esses comandos no meu arquivo ~/.xinitrc
config. Se você inicializar em um ambiente gráfico, você provavelmente poderia colocá-los em /etc/X11/xinit/xinitrc
. Eu nunca tentei isso sozinho.
As informações são da documentação on-line da Nvidia ( link )
Informações extras
Os passos que descrevo aqui usam o driver proprietário da Nvidia, usando o que é chamado de funcionalidade "Prime Sync". Ele renderiza todos os gráficos da GPU, mas os envia através de um buffer para a GPU integrada da Intel para exibição real. Este sistema Prime Sync não é complementar ao zangão. Note que as instruções Debian podem ainda estar corretas, porque elas não configuram a funcionalidade Nvidia Prime Sync. Estou muito menos familiarizado com a maneira como eles sugerem. Eu geralmente venho do "último driver proprietário é o melhor", porque eu geralmente quero rodar o CUDA mais recente em hardware de GPU razoavelmente novo. Eu sugiro esta estratégia para você porque você está tendo problemas com a configuração do driver de código aberto.
Também vale a pena mencionar o programa bbswitch, que não se preocupa com monitores ou drivers, apenas liga e desliga a GPU da Nvidia. Ele não deve ser usado com a funcionalidade Prime Sync da Nvidia, porque com o Prime Sync, desligar sua GPU significa que você não tem mais gráficos: (