NVIDIA Optimus no Fedora – Notebooks

UPDATE 06/05/2020 – Procedimentos para instalação alterados. Não existe mais necessidade de usar Bumblebee https://docs.fedoraproject.org/en-US/quick-docs/bumblebee/

Neste HOW-to pretendo demonstrar e explanar um pouco sobre a tecnologia NVIDIA Optimus utilizada em alguns notebooks/ultrabooks com 2 GPU’s.

Muitos dos laptops atuais têm sistemas híbridos de processamento 3D que permitem ter ao mesmo tempo uma placa de vídeo poderosa e um sistema leve para gastar pouca bateria.

No caso dos laptops com placas de vídeo nVidia, este sistema híbrido chama-se Optimus e basicamente funciona desta maneira: a placa NVidia está sempre desligada e a placa Intel (menos potente mas que gasta menos bateria) faz o processamento; quando usuário quiser fazer uso da placa NVidia, para jogar por exemplo, o sistema liga-a automaticamente e usa-a para processar o jogo ou outra aplicação que requer de mais “poder” gráfico.

Você precisa ter em mente que devido ao driver ser proprietário, 99% do necessário para que ele funcione corretamente depende da desenvolvedora, no caso, a NVIDIA. De cara, você precisa também verificar e realizar, se necessário, alterações em seu equipamento para que, mais adiante, não venha a ter problemas. Basicamente, o mínimo é:

a) Em um cenário ideal, se no setup estiver configurado UEFI, altere para MBR e instale o Fedora. Se isso não for possível por algum motivo, tudo bem, pode manter.

b) Este é importantissimo: Desabilitar o secure boot, Isso porque drivers não assinados no kernel não irão ter seus módulos carregados no boot, juntamente como o mesmo, então o driver não irá funcionar.

Verificando se o seu laptop tem suporte ao NVIDIA® Optimus:

$ lspci -vnn | grep '\''[030[02]\]'

Se o resultado por positivo, a saída será basicamente como esta:

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 520 [8086:1916] (rev 07) (prog-if 00 [VGA controller])
01:00.0 3D controller [0302]: NVIDIA Corporation GM108M [GeForce 930M] [10de:1346] (rev ff) (prog-if ff)

Como instalar no Fedora:

a) adicionando o repositório do RPM Fusion, Fedora Workstation e instalando o driver nvidia:

# dnf install fedora-workstation-repositories
# dnf config-manager rpmfusion-nonfree-nvidia-driver --set-enabled
# dnf install akmod-nvidia acpi xorg-x11-drv-nvidia-cuda vulkan

PS: Se sua GPU Nvidia não for atual, é bom consultar qual o pacote adequado para instalação. Para isso, verifique aqui https://rpmfusion.org/Howto/NVIDIA

b) Configurando a interface NVIDIA para ser a primária, em vez da iGPU (Intel)

# cp -p /usr/share/X11/xorg.conf.d/nvidia-drm-outputclass.conf /etc/X11/xorg.conf.d/nvidia.conf

c) Edite o arquivo, deixando assim:

Section "OutputClass"
    Identifier     "nvidia"
    MatchDriver    "nvidia-drm"
    Driver         "nvidia"
Option "PrimaryGPU" "yes" EndSection

d) Caso queira a iGPU como saída de vídeo padrão, basta apagar o arquivo relatado acima

Neste caso, existe a possibilidade de usar o NVIDIA Prime Render Offload. Para mais detalhes, veja esta documentação https://rpmfusion.org/Howto/Optimus

Reinicie seu computador e estará pronto para usar

 Para remover os drivers Nvidia®

# dnf remove akmod-nvidia xorg-x11-drv-nvidia\*

Desativando o repositório do driver Nvidia®

# dnf config-manager rpmfusion-nonfree-nvidia-driver --set-disabled

Referências:

http://www.nvidia.com.br/object/optimus_technology_br.html
https://en.wikipedia.org/wiki/Nvidia_Optimus
https://docs.fedoraproject.org/en-US/quick-docs/bumblebee/index.html https://rpmfusion.org/Howto/Optimus
http://download.nvidia.com/XFree86/Linux-x86_64/440.82/README/primerenderoffload.html