Como Fazer o Wayland Funcionar em Placas Gráficas Nvidia

Nvidiawayland Card

Embora a Nvidia tenha teorizado ter suporte total ao Wayland desde que lançou seus drivers no final de 2021, o caminho não tem sido necessariamente suave. Ainda há muito trabalho a ser feito em relação a como ele interage com componentes que a maioria das pessoas usa, como o XWayland. Isso requer a configuração de variáveis tanto no ambiente do usuário quanto no kernel para navegar pelo seu sistema e clicar nas coisas corretamente.

Isso não quer dizer que a experiência não vale a pena uma vez que você consiga fazer o Wayland funcionar em placas gráficas Nvidia. Se você seguir este guia, sua experiência na Nvidia será quase tão suave quanto é no X.

Também Útil: Se você tiver outros problemas com sua GPU, experimente estas correções comuns para placas gráficas.

Índice

  • Não Desinstale o Xorg
    1. Configure Seu Ambiente
    1. (Arch Linux) Construa Seu Init Ramdisk
    1. Habilite o Gerenciador de Renderização Direta
  • Suporte ao Wayland em Sua Distro
  • Perguntas Frequentes

Não Desinstale o Xorg

Primeiro, não desinstale o Xorg ou qualquer um dos ambientes de desktop que o utilizam! Para tornar sua experiência mais fácil, com a mínima frustração, é sempre bom ter uma opção segura para voltar. Pense no X agora como seu “modo seguro” caso algo dê errado no processo. O que faremos neste guia não afetará o Xorg.

1. Configure Seu Ambiente

Existem algumas variáveis de ambiente para fazer o Wayland funcionar em placas gráficas Nvidia. Como não há um padrão uniforme aqui, seremos muito genéricos na configuração para garantir que a Nvidia não faça cara feia para você.

Nvidiawayland Environment

Siga estes passos para configurar o ambiente:

  1. Faça backup do seu ambiente para seu diretório pessoal:
sudocp/etc/environment ~/environment.bak
  1. Abra seu arquivo de ambiente universal:
sudonano/etc/environment
  1. Se você planeja usar aplicativos Qt (geralmente terá alguns), adicione esta linha em qualquer lugar do arquivo:
QT_QPA_PLATFORMTHEME="wayland;xcb"
  1. Adicione as seguintes variáveis de ambiente para que a Nvidia possa ser forçada a usar o backend GBM (compatível com a grande maioria dos ambientes Linux) e habilite algumas outras coisas que você pode precisar, mesmo que ainda não estejam instaladas:
GBM_BACKEND=nvidia-drm  
__GLX_VENDOR_LIBRARY_NAME=nvidia  
ENABLE_VKBASALT=1  
LIBVA_DRIVER_NAME=nvidia
  1. Como a renderização de cursor de hardware pode falhar em alguns ambientes, há uma última variável opcional. Isso só é necessário se, quando você finalmente testar o Wayland, não vir um cursor na sua tela.

Porém, não há nada de errado em adicionar isso e removê-lo mais tarde para testar as coisas sem ele:

WLR_NO_HARDWARE_CURSORS=1

Bom Saber: Você pode consertar problemas do Wayland GDM no Fedora com nosso guia.

2. (Arch Linux) Construa Seu Init Ramdisk

A maioria das distros populares inicializa com um “ramdisk inicial” (initramfs) que carrega um sistema de arquivos temporário na sua RAM (daí o termo “ramdisk”) para inicializar o processo de inicialização e preparar o kernel para fazer sua mágica e te colocar em funcionamento.

Nvidiawayland Mkinitcpio

Dentro deste ramdisk inicial, devemos carregar os vários componentes da Nvidia, incluindo uma maneira de carregar a resolução de tela no kernel. Isso é importante porque o Wayland simplifica o framebuffer e se comunica mais de perto com o kernel.

Em distros populares como Ubuntu e Fedora, a Nvidia não deve encontrar problemas, pois os sistemas já estão configurados de uma maneira que torna o initramfs menos discriminatório em relação a quais módulos são carregados. No entanto, a estrutura muito modular do Arch exigirá que módulos específicos sejam carregados manualmente.

Este processo não é tão intimidante quanto parece. Basta seguir estes passos com cuidado:

  1. Edite sua configuração de ramdisk inicial (certifique-se de criar um backup primeiro):
sudonano/etc/mkinitcpio.conf
  1. Sob a linha MODULES=(), entre os parênteses, adicione o seguinte:
nvidia nvidia_modeset nvidia_uvm nvidia_drm

Se já houver outros módulos dentro dos parênteses que não estão listados aqui, anexe esses módulos ao final. Se você já ver alguns módulos da Nvidia inclusos, adicione o que estiver faltando da lista.

  1. Regere sua ramdisk inicial para todas as imagens initramfs (para isso serve a flag -P):
sudo mkinitcpio -P

Você deve ver uma tonelada de avisos assustadores sobre “firmware ausente.” Ignore isso. Isso geralmente acontece e não há nada com que se preocupar. Isso é útil apenas em casos de nicho em que um pacote de firmware está ausente para um hardware que você não pode usar.

Dica: Alguns jogos podem sobrecarregar seu processador, mas você pode corrigir rapidamente o alto uso da CPU no Linux.

3. Habilite o Gerenciador de Renderização Direta

O Gerenciador de Renderização Direta (DRM) do Linux permite que o kernel trabalhe com GPUs. Para que a Nvidia e o Wayland se entendam, temos que garantir que o kernel use o modo de configuração DRM da Nvidia dentro dos parâmetros do kernel do seu gerenciador de inicialização:

  1. Edite a configuração padrão do GRUB (novamente, sempre garanta que exista um backup):
sudonano/etc/default/grub
  1. Procure uma linha que comece com GRUB_CMDLINE_LINUX_DEFAULT. Se não existir (não existirá no Fedora, por exemplo), crie-a para que fique assim: GRUB_CMDLINE_LINUX_DEFAULT="".
  2. Dentro das aspas, anexe o seguinte:
nvidia-drm.modeset=1
  1. Atualize a configuração do Grub:

Em tudo baseado em Ubuntu/Debian/Mint:

sudo update-grub

Em Fedora/RHEL:

sudo grub2-mkconfig -o/boot/grub2/grub.cfg

Com tudo baseado em Arch:

sudo grub-mkconfig -o/boot/grub/grub.cfg

Uma vez que tudo esteja feito, seu sistema terá muito mais facilidade em executar o Wayland em hardware Nvidia!

Próximos Passos: Agora que o Wayland funciona, você pode fazer um teste de estresse em sua placa gráfica.

Suporte ao Wayland em Sua Distro

No Ubuntu, Fedora e algumas outras distros selecionadas, você pode fazer o Wayland funcionar em placas gráficas Nvidia assim que atualizar para a versão mais recente do seu software. O Ubuntu está enviando o Wayland como a sessão padrão para seu desktop GNOME modificado desde a versão 22.04, e o Fedora tem feito isso há muito mais tempo. Considere garantir que você está executando a versão mais recente da sua distro.

Nvidiawayland Sddm

Outras, como o Linux Mint, terão dificuldades em executar o Wayland porque não é uma prioridade reformular o ambiente de desktop que enviam junto. No entanto, isso não impede que você instale um sistema operacional alternativo. O GNOME oferece suporte imediatamente, enquanto o KDE Plasma pode requerer pacotes adicionais.

Sistemas Baseados em Debian/Ubuntu

Se seu sistema estiver executando o GNOME, ele já tem suporte ao Wayland desde que você esteja atualizado. Para instalar o GNOME caso não o tenha:

sudo apt install gnome

Para o KDE Plasma, você deve instalar tanto o ambiente de desktop quanto o compositor Wayland separadamente:

sudo apt install kde-standard plasma-workspace-wayland

É isso! O Wayland deve estar disponível para você em seu gerenciador de exibição assim que você reiniciar.

Sistemas Baseados em Arch

Assim como qualquer outra distro que oferece o ambiente de desktop GNOME, instalá-lo no Arch Linux fornecerá suporte automático ao Wayland:

sudo pacman -S gnome

Instalar o KDE Plasma também é bastante simples:

sudo pacman -S plasma-meta plasma-wayland-session

Qualquer um desses comandos incluirá o Wayland em seu gerenciador de exibição (mais familiarmente conhecido como tela de login).

Certifique-se de também instalar o XWayland:

sudo pacman -S xorg-xwayland

Quando você terminar de instalar tudo, reinicie e, em seguida, use sua tela de login para selecionar a versão do ambiente de desktop que você instalou com suporte ao Wayland.

Perguntas Frequentes

O Wayland realmente vale a pena?

Você pode notar que algumas coisas não funcionarão corretamente mesmo após todas essas mudanças. Embora muitos problemas com a Nvidia tenham sido resolvidos, muitos aplicativos continuam a ter pequenas, mas irritantes, questões de compatibilidade com o Wayland. É importante notar que o Wayland e muitos dos aplicativos que você está familiarizado estão em contínuo desenvolvimento ativo. A maioria, senão todos, esses problemas eventualmente desaparecerão.

Se você ficar muito frustrado com o Wayland, volte para o X. Recomendo não desinstalar seus pacotes Wayland, pois o X está sendo reconhecido como software abandonado por mais desenvolvedores de aplicativos a cada dia. Uma vez a cada lua azul, verifique se seus problemas começaram a desaparecer.

O que eu faço se meu gerenciador de exibição não mostrar opções do Wayland?

Embora a maioria dos gerenciadores de exibição deva exibir as implementações do protocolo Wayland dos seus ambientes de desktop favoritos, isso nem sempre acontece. A solução é experimentar outro gerenciador de exibição. Os que vêm com o KDE Plasma (SDDM) e GNOME (GDM) funcionarão sem problemas. O LightDM também é conhecido por funcionar perfeitamente.

Imagem de crédito: Pixabay. Todas as capturas de tela por Miguel Gomez.