Manjaro – Instalando Nvidia sem o Bumblebee no Notebook

    3
    411

    O Bumblebee é um projeto para suportar Nvidia Optimus no Linux. Notebooks que possuem placa Intel Graphics e Nvidia necessita intercalar entre si para melhor gerenciamento de energia e maior durabilidade da bateria e sua vida útil. Praticamente o video Intel Graphics é utilizado por padrão, sempre ativado até que seja necessário ativar a Nvidia em um certo momento. Porém até o momento o Bumblebee não suporta Vulkan, presente nos jogos atuais e seu desempenho pode não ser satisfatório.

    Atenção: Essa não é uma instalação oficial do Manjaro. A distribuição Manjaro instala por padrão em notebooks/laptops a última versão do driver Nvidia com Bumblebee. No geral funciona bem, mas se quiser tentar por sua conta e risco, siga exatamente os passos abaixo. Esse procedimento foi testado em um Notebook Acer Vx5 com processador Core i5 e Nvidia 1050M. Esse artigo serve com uma solução alternativa para conseguir jogar sem maiores problemas na Steam ou jogos com suporte ao recente Próton da Valve. Então se mesmo assim quiser continuar, então leia com atenção.

    • Fique atento: No artigo é utilizado o editor de texto simples nano. É muito comum usar o nano, que é um editor de texto no terminal. Mas não se prenda a isso, se gosta de usar o gedit, vim, ou qualquer editor de texto pelo terminal ou interface gráfica que você esta habituado e sinta confortável em usar.

    Remova os Drivers Instalados com Bumblebee

    Desinstale os drivers atuais pelo Manjaro Settings Manager, clique com o botão direito em cima do driver e depios Remover. Terá que digitar a senha para concluir a remoção completa do driver. Ou se preferir execute os comandos abaixo para remover o driver:
    sudo mhwd -f -r pci video-hybrid-intel-nouveau-bumblebee
    sudo mhwd -f -r pci video-hybrid-intel-nvidia-bumblebee

    Instale apenas o Driver Nvidia

    Agora será necessário apenas instalar o driver Nvidia. Essa é a primeira etapa, as demais são apenas configurações que devem ser feitas exatamente como esta no artigo. Então leia com atenção. Vamos ao que interessa, instale o driver com o comando abaixo:
    sudo mhwd -i pci video-nvidia

    Configure o Xorg

    É necessário criar uma nova configuração do XORG. Mas antes de criar uma configuração é necessário excluir a existente. Exclua o arquivo de configuração com o comando abaixo:
    sudo rm /etc/X11/xorg.conf.d/90-mhwd.conf
    sudo rm /etc/modprobe.d/mhwd-gpu.conf

    Agora é necessário criar um arquivo de configuração. Criaremos o arquivo optimus.conf  com as configurações necessárias. Antes de continuar execute o comando abaixo:
    lspci | grep -E "VGA|3D"

    O resultado deverá ser exibido conforme abaixo, mas a parte em azul é que nos interessa.

    00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
    01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)

    Crie um arquivo de configuração com o comando abaixo:
    sudo nano /etc/X11/xorg.conf.d/optimus.conf

    E copie e cole dentro todo o conteúdo abaixo. Porém a parte destacado em azul que é importante. Se o resultado for igual a parte azul citado acima, então deixe como está abaixo no BusID. Geralmente esse é o padrão, mas se apresentar um valor diferente deve-se alterar na parte destacada em azul.

    Section “Module”
             Load “modesetting”
    EndSection
    Section “Device”
             Identifier “nvidia”
             Driver “nvidia”
       BusID “PCI:1:0:0”
    Option “AllowEmptyInitialConfiguration”
    EndSection


    Blacklist

    O MHWD coloca os módulos Nvidia em uma lista negra por padrão, mas para garantir que o nvidiamódulo do kernel carregará, ainda precisamos incluir alguns outros módulos na lista negra. É necessário remover a lista negra existente e criaremos uma nova.

    Execute o comando para listar todos os arquivos de configuração e exclua todos eles. Se houver além dos dois arquivos já criados contendo mhwd, então exclua.
    Para listar todos os arquivos execute o comando abaixo:
    sudo ls /etc/modprobe.d/mhwd*

    Agora é necessário remover todos os listados inicialmente com o nome mhwd.
    sudo rm /etc/modprobe.d/mhwd-gpu.conf
    sudo rm /etc/modprobe.d/mhwd-nvidia.conf

    Crie um arquivo de configuração nvidia.conf com os módulos na blacklist.
    sudo nano /etc/modprobe.d/nvidia.conf

    Copie e cole o conteúdo abaixo:

    blacklist nvidiafb
    blacklist nouveau
    blacklist rivafb

    Salve o arquivo e feche. Para salvar pressione CTRL + O, ENTERCTRL +X para fechar.

    É necessário mais um arquivo de configuração.
    sudo nano /etc/modprobe.d/nvidia-drm.conf

    Copie e cole o conteúdo abaixo:
    options nvidia_drm modeset=1

    Salve o arquivo e feche. Para salvar pressione CTRL + O, ENTERCTRL +X para fechar.

    Crie um script para o Display Manager

    Esta é a parte mais complicada. Precisamos definir um script de inicialização para carregar as configurações corretas enquanto o DM está sendo carregado. Para cada display manager tem uma configuração diferente.

    Crie um novo arquivo com o nome optimus.sh. Depois adicione o conteúdo e salve.
    sudo nano /usr/local/bin/optimus.sh

    Copie e cole exatamente igual está abaixo, sem alterações. Depois salve o arquivo.

    #!/bin/sh
    xrandr --setprovideroutputsource modesetting NVIDIA-0
    xrandr --auto

    Salve o arquivo e feche. Para salvar pressione CTRL + O, ENTERCTRL +X para fechar.

    Conceda permissão de leitura e gravação com o comando chmod:
    sudo chmod a+rx /usr/local/bin/optimus.sh

    Agora vem a parte mais complicada. Geralmente a maioria das imagens do Manjaro utiliza o Lightdm como gerenciador de login (Display Manager). Por exemplo as imagens Manjaro XFCE, Manjaro Cinnamon, Manjaro Deepin, Manjaro Openbox, utiliza o gerenciador de login Lightdm. O Manjaro Gnome utiliza o gerenciador de Login GDM. E o Manjaro KDE utiliza o gerenciador de Login SDDM.

    LightDM

    Edite o arquivo de configuração do lighdm. Então fique atento porque se não fizer extamente como está no artigo, o seu Manjaro pode não iniciar graficamente, sendo necessário ações adicionais para corrigir o problema. Então evite dores de cabeça, leia e releia se possível antes de continuar. Se ainda assim não sentir confortável ou seguro do que está fazendo, repita os passos de todo o artigo. Bom, continuando…execute o comando abaixo:
    sudo nano /etc/lightdm/lightdm.conf

    Localize o display-setup-script e descomente a linha. Se você não sabe, apenas apague o # antes do display-setup-script. Perceba na imagem acima que em outras linhas está o #.  Após localizar e descomentar removendo o # do display-setup-script, e deixe exatamente como está abaixo, sem espaços:
    display-setup-script=/usr/local/bin/optimus.sh

    Salve o arquivo e feche. Para salvar pressione CTRL + O, ENTERCTRL +X para fechar.

    Dica: Para localizar com mais facilidade porque o arquivo contém muitas linhas. Pressione CTRL + W para pesquisar e digite display-setup-script. Feito isso, pressione ENTER e ele busca a expressão exata. Repita o processo se necessário, mas não é necessário digitar novamente display-setup-script. Apenas pressione CTRL + W e depois enter, até encontrar a linha para fazer alterações. Isso economiza muito tempo.

    GDM

    O GDM (Gnome Display Manager) é o gerenciador de login padrão do GNOME. Diferente do Lightdm será necessário criar um arquivo de configuração.
    sudo nano /usr/local/share/optimus.desktop

    Copie e cole as configurações abaixo:

    [Desktop Entry]
    Type=Application
    Name=Optimus
    Exec=/usr/local/bin/optimus.sh
    NoDisplay=true
    X-GNOME-Autostart-Phase=DisplayServer


    Salve o arquivo e feche. Para salvar pressione CTRL + O, ENTERCTRL +X para fechar.

    Agora é necessário criar os link para iniciar com o GDM no login. E um detalhe é que não funciona com wayland.
    sudo ln -s /usr/local/share/optimus.desktop /usr/share/gdm/greeter/autostart/optimus.desktop
    sudo ln -s /usr/local/share/optimus.desktop /etc/xdg/autostart/optimus.desktop

    SDDM

    O SDDM (Simple Desktop Display Manager) é o gerenciador de login padrão do KDE. E sua configuração é bem simples. Primeiro crie um arquivo:
    sudo nano /usr/share/sddm/scripts/Xsetup

    Em seguida copie o conteúdo abaixo e salve.

    xrandr --setprovideroutputsource modesetting NVIDIA-0
    xrandr --auto

    Salve o arquivo e feche. Para salvar pressione CTRL + O, ENTERCTRL +X para fechar.

    Se apresentar algum problema de travamentos ou congelamento do KDE não se preocupe. Pressione CTRL + ALT + F2 ou F3 e logue com seu usuário, depois digite o comando abaixo:
    cd ~/
    sudo rm .config/plasma*

    Não se preocupe, você não quebrará seu ambiente KDE. Apenas irá excluir algumas customizações, depois é necessário refazer a suas edições no ambiente gráfico. Mas só faça isso se apresentar problemas ok?

    Finalizando – Reinicie

    Tudo configurado corretamente, então agora é necessário reiniciar sua distro Manjaro. Quando você reiniciar o gerenciador de login será iniciado normalmente. Após logar execute o comando glxinfo:
    glxinfo | grep -i vendor

    O resultado do comando será exibido assim:

    server glx vendor string: NVIDIA Corporation
    client glx vendor string: NVIDIA Corporation
    OpenGL vendor string: NVIDIA Corporation

    Pronto, você esta executando a GPU Nvidia a todo vapor.

    Esse artigo foi traduzido e adaptado. O conteúdo é do fórum Manjaro oficial. Fiz os testes em vários jogos e esta funcional. Os testes realizados foram em jogos pesados com suporte ao linux e 1 jogo de windows funcionando pelo Próton (Steam Play). Veja alguns jogos testados e funcionando perfeitamente com desempenho melhor do que o Bumblebee. E outros como Tomb Raider não funcionava porque o Bumblebee não tem suporte ao Vulkan e apresenta falha ao tentar iniciar.

    • Rise of the Tomb Raider
    • Neverwinter – Arc Games (SteamPlay)
    • Mad Max
    • Middle-earth: Shadow of Mordor

    Algo a levar em consideração é que seu notebook/laptop irá esquentar um pouco mais, já que sua GPU Nvidia está ativa constantemente. Recomendável ter uma base com cooler para evitar problemas de aquecimento, o que diminui um pouco a temperatura. A bateria do seu notebook descarregará mais rapidamente, por isso é reocmendando usar sempre conectado na fonte.

    Referência: Manjaro Forum

  • Por isso q é tão difícil sair do Windows. Sou gamer e me sobra pouco tempo pra jogar. Ter que ler uma Bíblia pra instalar driver de vídeo é muuuuuito desestimulante. Achei q com o Manjaro settings eu conseguiria instalar um driver de vídeo pro meu note, pela primeira vez, sem terminal. Mas aí tive a tela preta. Acabei de instalar o sistema de novo e vou desistir se não funcionar pelo modo gráfico :/