[TUTORIAL] Placas Híbridas Nvidia Fedora 30

VGomes
editado setembro 2019 em Tutoriais

Hardware

Notebook Dell 15 Gaming 7567

Processador: Intel Core i5 7300HQ
Placa Nvidia: GeForce(R) GTX 1050 4GB GDDR5
Placa Intel: HD Graphics 630
Tela: 15.6-inch FHD (1920 x 1080) Anti-Glare LED-Backlit Displa
SSD: 120 WD Green

A maior dificuldade que eu tive ao migrar para o linux foi o meu notebook, ele é um notebook muito robusto, ótimo para quem gosta de jogos com um desempenho satisfatório, no Windows, quando eu iniciava meus games, via o cooler começar a trabalhar mais forçado. Mas eu notei que meu fps não era lá essas coisas, ficava por volta de 120 a 140 jogando CSGO pela Steam.
Quando eu decidi migrar 100% para o linux, eu fiquei rodando de distro em distro tentando resolver meu problema com a placa gráfica, até que finalmente consegui, usando o Deepin eu consegui configurar o driver com a solução prime já vinha nativo deles, mas com uns updates meu sistema sempre quebrava, e eu tinha problemas maiores para concertar. Até que eu decidi ir para a familia Red Hat, usando o Fedora 30 eu consegui configurar e rodar meu sistema usando todo o potencial da minha placa gráfica. Segue passo a passo para configuração.

Lembrando. Eu sou um mero iniciante, tenho pouca experiência, se esse passo a passo lhe servir, ficarei muito feliz em saber que lhe ajudei deixe seu comentário, se você tiver uma melhoria para essa publicação, comente também.

Antes de tudo, precisei desabilitar o driver nouveau, pois no meu hardware ele sempre da problemas.

echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf

Editar o /etc/sysconfig/grub e anexar ‘rd.driver.blacklist=nouveau’ no final de ‘GRUB_CMDLINE_LINUX=”…”‘.

## Examplo linha ##
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora/swap rd.lvm.lv=fedora/root rhgb quiet rd.driver.blacklist=nouveau"

Update grub2conf

    ## BIOS ##
grub2-mkconfig -o /boot/grub2/grub.cfg

## UEFI ##
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

### Remover xorg-x11-drv-nouveau
dnf remove xorg-x11-drv-nouveau

Gerar initramfs

## Backup initramfs nouveau image ##
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

## Criar um novo initramfs image ##
dracut /boot/initramfs-$(uname -r).img $(uname -r)

OBS: Reiniciar a máquina antes de seguir os outros passos.

Agora, atualize seu sistema.

Logue como root (su -) ou sudo dnf update .

Depois configure o RPM Fusion no seu sistema como root ou sudo:

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Agora começa a parte legal.
Usando a wiki do rpm fusion instale o driver NVIDIA.
RPM Fusion NVIDIA
Porém, Não há a necessidade de instalar o cuda/nvdec/nvenc support, quando instalei ele, meu sistema começou a travar. Então refiz a instalação do 0. Da wiki, instalei somente o ak-mod e o driver.

execute como root ou sudo dnf install xorg-x11-drv-nvidia akmod-nvidia

Agora é a hora de configurar o Optimus, que também está disponível na wiki do rpm fusion.
Howto/Optimus

Passo a passo que eu fiz, eu pulei a parte que ele habilita o rpm fusion, pois já havia habilitado no começo para atualização do driver. Lembrando que o driver atual já é o 430.

execute o comando como root ou sudo -s
dnf copr enable kwizart/xorg-x11-server_nvidia
dnf update xorg-x11-server\*

**Execute o comando abaixo de uma só vez.**

cat > /etc/modprobe.d/nvidia.conf <<EOF
#Enable DynamicPwerManagement
#http://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/dynamicpowermanagement.html
options nvidia NVreg_DynamicPowerManagement=0x02
EOF

Prontinho. Reinicie sua maquina, que seu sistema já deve iniciar com o Optimus habilitado.

O Optimus vai fazer todo o trabalho, assim que você iniciar um jogo ele vai rodar a nvidia, quando estiver fora de games, ele roda na Intel.

Caso você inicie o game e ele não rodar com a nvidia. Você precisara fazer mais algumas configurações.

Descrito na wiki.
Howto/Optimus

Para configurar um aplicativo gráfico para ser descarregado na tela da GPU NVIDIA, defina a variável de ambiente NV_PRIME_RENDER_OFFLOAD como 1. Se o aplicativo gráfico usar o Vulkan, isso será tudo o que é necessário. Se o aplicativo gráfico usar GLX, defina também a variável de ambiente GLX_VENDOR_LIBRARY_NAME como nvidia, para que o GLVND carregue o driver NVIDIA GLX. A implementação EGL da NVIDIA ainda não suporta a transferência de renderização PRIME.

Driver Version
No Game

Comentários

  • Como eu gostaria de ter um notebook com placa hibrida agora rsrs.
    Ficou muito bem documentado, parabéns e vlw por compartilhar.

  • Feito a instalação do driver no fedora 31 kde plasma e foi validado com sucesso.

  • Parabéns pelo empenho.
    Tomara que mais usuários validem.
    Já passou da hora dos usuários fedora deixarem de sofrer com hibridas nvidia.

  • Boa tarde! Feito a instalação do driver no fedora 31 Workstation e foi validado com sucesso. Foi necessário seguir o "How to Optimus" para configurar o PRIME Render Offload. Segue o print. Abraço!

  • Estava pesquisando no google e achei seu tópico @VGomes, vou baixar o Fedora 31 para realizar estes procedimentos pois tenho um Dell G3 com as configurações idênticas às suas. Sai do Fedora 30 há alguns meses por problemas com essa config da híbrida, dando certo devo voltar a usar o Fedora pra valer.

  • Digite seu comentário> @HenioJunior disse:

    Boa tarde! Feito a instalação do driver no fedora 31 Workstation e foi validado com sucesso. Foi necessário seguir o "How to Optimus" para configurar o PRIME Render Offload. Segue o print. Abraço!

    Você poderia informar o passo a passo para os outros usuários utilizando o "How to Optimus"? seria muito importante essa sua informação. Aguardamos.

  • Gideon
    editado março 2020

    Voltei a utilizar o Fedora hoje e fiz a instalação do driver nvidia no fedora 31 kde plasma e foi validado com sucesso. ;)

    No entanto, antes de seguir este tutorial verifiquei o Howto/Optimus a fim de identificar diferenças. Onde encontrei o aviso:

    Com o Fedora 30 e posterior, os pacotes oficiais do fedora xorg-x11-server possuem os patches necessários (portanto, não há necessidade de usar o repositório copr). O uso do NVIDIA 440.31+ anunciará o suporte otimizado completo (GL / EGL) usando uma versão estável do driver. Não é necessário usar o repositório copr anterior que pode ser desativado usando:

    dnf config-manager --set-disable copr:copr.fedorainfracloud.org:kwizart:xorg-x11-server_nvidia`
    

    Após realizar os procedimentos, fiz testes conforme a imagem.

  • Ao tentar seguir o tutoral ele diz que o repositorio (dnf copr enable kwizart/xorg-x11-server_nvidia) não existe depois de perguntar se eu tinha certeza de que queria ativar o repositório.