Drivers NVIDIA 340.104 no Fedora Rawhide

Captura de tela em 2017-10-15 19-45-36

Sim, eu sei que pode parecer loucura, mas mudei o sistema para o Fedora Rawhide…
Mas vamos ao que interessa, sim! É possível utilizar os drivers da NVIDIA no Fedora Rawhide (Kernel 4.14)!
Para que isso fosse possível, perdi meu domingo inteiro tentando “debugar” sozinho o código fonte do driver, mas vamos ao que interessa, como fazer tal façanha!

Passo 1:
Para realizar a compilação é necessário possuir os pacotes necessários, para isso digite o comando:
# dnf update && dnf install make automake autoconf gcc gcc-c++ kernel-devel

Passo 2:
É necessário fazer o download do driver no site da NVIDIA (No meu caso 9500GT) baixei um driver legado através deste link: NVIDIA 340.104 Linux 64.

Passo 3:
Extraia o driver com o comando:
$ /NVIDIA-Linux-x86_64-340.104.run -x

Passo 4:
Substitua a linha 176 do arquivo ./NVIDIA-Linux-x86_64-340.104/kernel/nv-drm.c para:
ret = drm_legacy_pci_init(&nv_drm_driver, pci_driver);

E a linha 186 do mesmo arquivo acima substitua para:
drm_legacy_pci_exit(&nv_drm_driver, pci_driver);

Aparentemente tudo certo, mas o kernel usado no Fedora Rawhide só permite que módulos com licença GPL sejam utilizados (Culpa do script modpost), então vamos a uma gambiarra para permitir que o módulo seja carregado:

Passo 5:
Substitua as linhas: 34 do arquivo./NVIDIA-Linux-x86_64-340.104/kernel/nv.c e 18 do arquivo./NVIDIA-Linux-x86_64-340.104/kernel/nv-frontend.c para:
MODULE_LICENSE(“GPL”);

Passo 6:
É necessário agora impedir o carregamento do módulo nouveau com o comando:
# grubby –args=”modprobe.blacklist=nouveau” –update-kernel=”ALL”

Passo 7:
Espera aí mais um pouco que a diversão só está começando…
Reinicie o computador.
Após a inicialização, abra um terminal elevado e digite:
# init 3
Você será agraciado com uma linda tela preta 🙂

Passo 8:
Entre no diretório aonde o driver foi extraído, exemplo:
# cd /home/victor/NVIDIA-ummontedecoisa
/

Execute o instalador com o parâmetro –no-unified-memory (sem cuda… ele acaba dando erro para compilar), exemplo:
# ./nvidia-installer –no-unified-memory

Passo 9:
Aceite os termos e aguarde a bagaça fazer seus paranauês e maracutaias.
Ao fim da compilação, aceite a instalação das bibliotecas 32bits e a execução do nvidia-xconfig.
Ao fim de tudo, reinicie o computador com o comando:
# reboot

Passo 10:
Relaxe e aproveite, a guerra terminou… Ufa!

Complicado mas é possível 😀

Drivers NVIDIA 340.104 no Fedora Rawhide

Leave a comment