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
Ótimo tutorial. Porém estou com uma dúvida a respeito dessa tecnologia (Optimus).
Pergunta: Para trabalhar com as duas GPUs (Nvidia e Intel) é preciso estar com os 2 cabos de vídeo conectados no Monitor e consequentemente as Placas de vídeo?
Obrigado!
Olá Sandro,
Obrigado por comentar. Bom, sobre a sua pergunta a resposta é não, pois o “chaveamento” entre uma GPU e outra é via software. Por padrão, a GPU primária é a intel, e caso você queira rodar algo com a NVIDIA, que é a secundária, você utiliza o optirun/primusrun.
Boa tarde Greyson, como vai?
Instalei o fedora 25 em um laptop com i915 e GTX 960M, porém, após executar o gdm, consigo acesso somente ao gnome e através do Wayland, o X quebra e não consigo utilizar o cinnamon, no log do Xorg, ele indicia que não existe modulo nvidia. Pode me ajudar, se for oportuno, peço por gentiliza que envie um passo à passo para o meu e-mail. Grande abraço.
Olá. O Wayland se utiliza do driver opensource para funcionar https://fedoraproject.org/wiki/Wayland_features#Nvidia_driver_support. Se você está tentando executar o sistema com o driver nvidia proprietário você tem de desativar o Wayland e ativar o Xorg. Veja como aqui https://ask.fedoraproject.org/en/question/96134/how-can-i-set-xorg-as-a-default-on-fedora-25/. Se você está executando o sistema em notebook, então aqui estão os procedimentos atualizados https://fedoraproject.org/wiki/Bumblebee. Em notebooks não é necessário desativar o wayland, pois a GPU primária é a Intel.
Olá amigão, tudo bem? peço desculpas pela demora em responder, mas acredito que você deve alterar do wayland para o X.org, como mostra aqui https://ask.fedoraproject.org/en/question/96134/how-can-i-set-xorg-as-a-default-on-fedora-25/
O vídeo embedded acima está errado. Ele está apontando para dica do “instalando Drive da Intel” .
Tiver que entrar no seu canal e procurar o vídeo correto.
Obrigado pela ótima observação meu jovem. O vídeo já encontra-se corrigido no post
Estou com vostro 5470 e kenel 4.10.8-200.fc25.x86_64 e Fedora 25, mas não funciona para mim.
Eu copiei e colei exatamente como escrito em cima.
bumblebee-nvidia –check:
Warning! bbswitch is not loaded into this kernel!
Since bbswitch is not loaded into the kernel, lets do additional checks on it…
dkms status bbswitch output:
bbswitch, 0.8.0, 4.10.8-200.fc25.x86_64, x86_64: installed
if the bbswitch package is installed, you may wish to try:
/usr/sbin/dkms add -m bbswitch -v 0.8.0
/usr/sbin/dkms build -m bbswitch -v 0.8.0
/usr/sbin/dkms install -m bbswitch -v 0.8.0
/sbin/modprobe bbswitch
To get clues as to why bbswitch is failing on this kernel…
All checks completed successfully! NVIDIA driver appears to have compiled ok.
Documentation on bumblebee for RHEL / CentOS / fedora can be found at:
https://www.linux.ncsu.edu/bumblebee/
Interessante. Aí podem ser duas coisas ou uma das coisas que citarei abaixo:
1 – Verifique se o secure boot está desativado no setup;
2 – O mais provável: Instale o pacote kernel-devel com:
#dnf install kernel-devel-$(uname -r) -y
Depois reinstale novamente o módulo de driver com:
# dnf install bumblebee-nvidia bbswitch-dkms VirtualGL.x86_64 VirtualGL.i686 primus.x86_64 primus.i686 kernel-devel -y
eu verifiquei o boot secure e esta desativado.
Também já estou com o kernel-devel na mesma versão do kernel instalado.
kernel-devel-4.10.8-200.fc25.x86_64
A sua versão do Fedora também é o 25? E está com essa versão do kernel-devel-4.10.8-200.fc25.x86_64 ??
Ah, tem o log de instalação aqui:
/var/log/nvidia-installer.log:
https://paste.fedoraproject.org/paste/Y7H8-WUVX0-fC44heGkL0F5M1UNdIGYhyRLivL9gydE=
Eu estou com esta versão de kernel sim e o driver que está instalando é o 375 que está problemático com o kernel 4.10. No meu desktop tive de partir para o 378 para solucionar. Estou verificando o que pode ser feito quanto ao bumblebee e qualquer novidade postarei aqui
a minha versão do Driver é 375.
Aguardo um retorno seu. Obrigado!
com a atualização do Kernel para 4.10.10-200.fc25 está funcionando usando Gnome com Xorg.
Opa meu nobre, estava testando agora mesmo. Você foi mais rápido. Muito obrigado
Tenho 2 gpus no notebook, preciso instalar o driver nvidia, e o bumblebee, ou apenas o bumble?
Se você usa GNOME e quer usar o PRIME, driver nvidia http://acrelinux.org/nvidia-prime-no-fedora/. Se você quer o bumblebee, então: http://acrelinux.org/ativando-o-nvidia-optimus-no-fedora/
Olá! Primeiramente gostaria de parabenizá-lo pelo excelente tutorial; ficou muito bem explicado e intuitivo. Tive um problema ao rodar o comando “bumblebbe-nvidia –check”, o mesmo problema relatado pelo Eduardo. Consegui resolver utilizando o comando “bumblebbe-nvidia –debug”, ou “bumblebbe-nvidia –check –debug” (não lembro ai certo qual dos dois utilizei). Outra questão é que não consigo rodar o exemplo das esferas com o primusrun. A janela abre e fecha instantaneamente e no terminal aparece a seguinte mensagem: Segmentation fault (imagem do núcleo gravada). Saberia me dizer se isso é normal? Com o comando optirun funciona perfeitamente. Outra coisa que gostaria de saber é se o chaveamento entre as gpus é feita automaticamente conforme a demanda, ou se sempre temos que inicializar os aplicativos (mesmo os nativos do linux) com os comandos optirun ou primusrun?
Grande abraço.
Olá. Vamos as respostas:
1 – Sobre o primusrun, algo foi mudado no software. Então realmente tá dando falha de segmentação mesmo. O chaveamento de gpu Não é feito automático. Você deve configurar os apps 1 por 1. Se você quer ativar o uso da Nvidia para tudo o que for utilizar, recomendo vc usar o prime. Tem um post aqui no blog mostrando como fazer funcionar (testado apenas no gnome).
Olá tudo bem? Acabei de instalar o fedora 27 gnome, em um acer a515-51g-58vh com 8gb de ram,core i5-7200u,1Tb hd,intel graphics 620 e nvida 940mx. Eu escolhi instalar o tutorial acima para utilizar as placas com bumblebee, mas eu tenho que fazer o tutorial pra instalar o driver da placa da intel? E outra é qual a melhor opção usar o Prime ou Bumblebee. Obrigado pela ajuda, e estou a cada dia mais apaixonado pelo fedora.
Estou tendo esse erro :Erro: Erro ao baixar pacotes:
Cannot download x86_64/bumblebee-nvidia-384.98-1.fc27.x86_64.rpm: All mirrors were tried
Olá Greyson, tudo bom?
Estou tentando instalar a placa de video, mas não vai de jeito nenhum.
Quando reinicia e eu escolho qual Fedora iniciar, ele passa daquilo e para. Ele simplesmente fica tudo preto.
Ola Sandro. Só para informar que funcionou corretamente no Fedora 29 em um Dell 7460. Obrigado e parabéns.
Opa, fico feliz em ler isto
Geowanni… e no caso do Desktop, com uma placa PCI-Express N8400GS, eu baixei o instalador da NVidia mas não instala, acusa que tem o Noveau ativo já fiz de tudo para instalar e não funciona…
Uma placa incrivelmente antiga. Neste caso é utilizar o RPM Fusion https://rpmfusion.org/Howto/NVIDIA?highlight=%28CategoryHowto%29#Legacy_GeForce_8.2F9.2F200.2F300