Como mudar o driver da nvidia de “nouveau” para nvidia proprietary

2

estou usando o Linux Mint.

Atualizei recentemente minha estação de trabalho e, a partir desse momento, meus motoristas enlouqueceram. Eu estava trabalhando bem antes, com os drivers nvidia-361 e, quando terminei minhas atualizações, e depois de reiniciar o PC, ele estava rodando em "modo de renderização de software".

Eu finalmente consegui ter um desktop correto, mas agora, eu tenho certeza que o cartão não está funcionando corretamente, porque eu não consigo lançar nenhum jogo simples com 3D (como o blazeRush por exemplo, que estava rodando bem antes ).

Este é o resultado de um lspci -vnnn

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF104 [GeForce GTX 460] [10de:0e22] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd GF104 [GeForce GTX 460] [1458:34fc]
Flags: bus master, fast devsel, latency 0, IRQ 124
Memory at dc000000 (32-bit, non-prefetchable) [size=32M]
Memory at d0000000 (64-bit, prefetchable) [size=128M]
Memory at d8000000 (64-bit, prefetchable) [size=64M]
I/O ports at e000 [size=128]
Expansion ROM at de000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Kernel driver in use: nouveau
Kernel modules: nvidiafb, nouveau, nvidia_375_drm, nvidia_375

Como você pode ver, o driver do kernel em uso é "nouveau", mas eu gostaria de usar o nvidia_375. Eu já tentei limpar com o apt assim

sudo apt purge *nvidia* xserver-xorg*nouveau* bbswitch*

mas quando eu faço isso, depois de uma reinicialização, "nouveau" ainda está aqui ... eu posso tentar instalar novamente os drivers proprietários, mas estarei de volta na mesma situação que antes da limpeza.

Estou ficando sem opções.

    
por Carpette 21.03.2017 / 14:55

2 respostas

1

Depois de tentar coisas diferentes, isso é o que funcionou para mim. Eu apreciaria qualquer sugestão ou explicação se algo parecesse inútil.

  1. faça o download do driver proprietário que você deseja usar, no site da nvidia no meu caso:

NVIDIA-Linux-x86_64-375.39.run

  1. vá para o seu modo não gráfico ( ctrl-alt-f1 )
  2. Mate seu processo gráfico ( sudo service mdm stop ). Se a tela ficar preta, você pode usar uma conexão remota (ssh) de outro computador para as próximas etapas ou fazer a etapa 1 novamente.
  3. edite seu arquivo grub /etc/default/grub e altere o GRUB_CMD_LINE_DEFAULT para este

GRUB_CMDLINE_LINUX_DEFAULT="nouveau.blacklist=1 quiet splash"

  1. elimine todos os drivers que você pode ter, nouveau ou nvidia ( sudo apt-get purge xserver-xorg-video-nouveau libdrm-nouveau1a nvidia* )
  2. atualize seu initramfs sudo update-initramfs -u -k all . Este passo é realmente importante, mas eu não entendi direito, então, seus comentários são bem vindos
  3. reinicializar
  4. voltar no modo não gráfico ( ctrl-alt-f1 )
  5. mate seu processo gráfico ( sudo service mdm stop ). Se a tela ficar preta, você pode usar uma conexão remota (ssh) para as próximas etapas ou fazer a etapa 1 novamente.
  6. execute seus arquivos de driver proprietários baixados no modo raiz ( sudo ./NVIDIA-Linux-x86_64-375.39.run ) e clique em "yes" ou "aceite" para o que precisar.
  7. reinicie e aproveite

o lspci -vnnn deve ser assim agora

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF104 [GeForce GTX 460] [10de:0e22] (rev a1) (prog-if 00 [VGA controller])
    Subsystem: Gigabyte Technology Co., Ltd GF104 [GeForce GTX 460] [1458:34fc]
    Flags: bus master, fast devsel, latency 0, IRQ 126
    Memory at dc000000 (32-bit, non-prefetchable) [size=32M]
    Memory at d0000000 (64-bit, prefetchable) [size=128M]
    Memory at d8000000 (64-bit, prefetchable) [size=64M]
    I/O ports at e000 [size=128]
    [virtual] Expansion ROM at de000000 [disabled] [size=512K]
    Capabilities: [60] Power Management version 3
    Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
    Capabilities: [78] Express Endpoint, MSI 00
    Capabilities: [b4] Vendor Specific Information: Len=14 <?>
    Capabilities: [100] Virtual Channel
    Capabilities: [128] Power Budgeting <?>
    Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_375_drm, nvidia_drm, nvidia_375, nvidia

Você pode ver que o driver do kernel em uso agora está referenciando nvidia em vez de nouveau

    
por 22.03.2017 / 10:23
-1

A placa gráfica está bem. A razão pela qual o atraso dos seus jogos é porque o modo de renderização do software significa que o sistema operacional roda sem poder de GPU dedicado, então é claro que ficará lento, já que somente o chip gráfico interno está sendo usado.

A triste mensagem para você é que esse é um problema de driver da NVIDIA, que também enfrento em muitos sistemas operacionais Linux. Você não pode fazer muito sobre isso agora, exceto por mudar para o método de trabalho anterior.

    
por 21.03.2017 / 18:04