Como fazer Wayland funcionar em placas gráficas Nvidia

Como fazer Wayland funcionar em placas gráficas Nvidia

Embora a Nvidia tenha teoricamente suporte total para Wayland desde que lançou seus drivers no final de 2021, a estrada não foi necessariamente tranquila. Ainda há muito trabalho a ser feito sobre como ele interage com os componentes que a maioria das pessoas usa, como o XWayland. Requer a configuração de variáveis ​​no ambiente do usuário e no kernel para navegar em seu sistema e clicar nas coisas corretamente.

Isso não quer dizer que a experiência não valha a pena quando você faz o Wayland funcionar nas placas gráficas da Nvidia. Se você seguir este guia, sua experiência na Nvidia será quase tão tranquila quanto no X.

Não desinstale o Xorg

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

1. Configure seu ambiente

Existem algumas variáveis ​​ambientais para fazer Wayland funcionar em placas gráficas Nvidia. Como não há um padrão uniforme aqui, seremos muito genéricos ao configurar as coisas para garantir que a Nvidia não faça cara feia para você.

Ambiente Nvidiawayland

Siga estas etapas para configurar o ambiente:

  • Faça backup de seu ambiente em seu diretório pessoal:

sudo cp /etc/environment ~/environment.bak

  • Abra seu arquivo de ambiente universal:

sudo nano /etc/environment

  • Se você planeja usar aplicativos Qt (geralmente você terá alguns), adicione esta linha em qualquer lugar do arquivo:

QT_QPA_PLATFORMTHEME="wayland;xcb"

  • Adicione as seguintes variáveis ​​de ambiente para que a Nvidia seja forçada a usar o back-end 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=1LIBVA_DRIVER_NAME=nvidia

  • Como a renderização do cursor de hardware pode falhar em alguns ambientes, há mais uma variável opcional. Isso só é necessário se, quando você finalmente testar o Wayland, não vir um cursor na tela.

No entanto, 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

2. (Arch Linux) Construa seu Init Ramdisk

As distros mais populares inicializarão com um “ramdisk inicial” (initramfs) que carrega um sistema de arquivos temporário em sua RAM (daí o termo “ramdisk”) para inicializar o processo de inicialização e preparar o kernel para fazer sua mágica e levá-lo para cima e para baixo. correndo.

Nvidiawayland Mkinitcpio

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

Em distribuições populares como Ubuntu e Fedora, a Nvidia não deve encontrar problemas, pois os sistemas já estão configurados de uma forma que torna o initramfs menos exigente sobre quais módulos ele carrega. 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 cuidadosamente:

  • Edite sua configuração inicial de ramdisk (certifique-se de criar um backup primeiro):

sudo nano /etc/mkinitcpio.conf

  • Sob a MODULES=()linha, entre parênteses, adicione o seguinte:

nvidia nvidia_modeset nvidia_uvm nvidia_drm

Se os parênteses já tiverem outros módulos que não estão listados aqui entre eles, anexe esses módulos no final. Se você já vê alguns módulos Nvidia incluídos, adicione o que está faltando na lista.

  • Regenere seu ramdisk inicial para todas initramfsas imagens (é -Ppara isso que serve o sinalizador):

sudo mkinitcpio -P

Você deve ver uma tonelada de avisos assustadores sobre “firmware ausente”. Ignore aqueles. Isso geralmente acontece e não é nada para se preocupar. Isso só é útil em casos de nicho em que falta um pacote de firmware para uma peça de hardware que você não pode usar.

3. Ative o Gerenciador de renderização direta

O Direct Rendering Manager (DRM) do Linux permite que o kernel funcione com GPUs. Para que a Nvidia e o Wayland se dêem bem, temos que garantir que o kernel use a configuração do modo DRM da Nvidia dentro dos parâmetros do kernel do seu gerenciador de inicialização:

  • Edite sua configuração padrão do GRUB (novamente, sempre verifique se existe um backup):

sudo nano /etc/default/grub

  • Procure uma linha que comece com GRUB_CMDLINE_LINUX_DEFAULT. Se não existir (não existirá no Fedora, por exemplo), crie-o para ficar assim: GRUB_CMDLINE_LINUX_DEFAULT="".
  • Dentro das aspas, acrescente o seguinte:

nvidia-drm.modeset=1

Nvidiawayland Modeset
  • Atualize a configuração do Grub:

Em tudo baseado no Ubuntu/Debian/Mint:

sudo update-grub

No Fedora/RHEL:

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

Com tudo baseado no Arch:

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

Depois que tudo estiver pronto, seu sistema terá muito mais facilidade em executar o Wayland no hardware da Nvidia!

Suporte Wayland em sua distro

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

Nvidiawayland Sddm

Outros, como o Linux Mint, terão problemas para executar o Wayland porque não é uma prioridade revisar o ambiente de desktop com o qual eles são fornecidos. No entanto, isso não o impede de instalar um sistema operacional alternativo. O GNOME oferece suporte pronto para uso, enquanto o KDE Plasma pode exigir pacotes extras.

Sistemas baseados em Debian/Ubuntu

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

sudo apt install gnome

Para o KDE Plasma, você deve instalar o ambiente de área de trabalho e o compositor Wayland separadamente:

sudo apt install kde-standard plasma-workspace-wayland

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

Sistemas baseados em Arch

Como em qualquer outra distro que oferece o ambiente de área de trabalho GNOME, instalá-lo no Arch Linux suportará automaticamente o Wayland:

sudo pacman -S gnome

A instalação do KDE Plasma também é bastante simples:

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

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

Certifique-se de instalar também o XWayland:

sudo pacman -S xorg-xwayland

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

perguntas frequentes

Wayland realmente vale a pena?

Você pode perceber que algumas coisas não funcionarão corretamente mesmo depois de todas essas alterações. Embora muitos problemas com a Nvidia tenham sido resolvidos, muitos aplicativos continuam tendo problemas de compatibilidade menores, mas irritantes, com o Wayland. É importante observar que Wayland e muitos dos aplicativos com os quais você está familiarizado estão em desenvolvimento ativo contínuo. A maioria desses problemas, se não todos, acabará por desaparecer.

Se você ficar muito frustrado com o Wayland, volte para o X. Eu recomendo não desinstalar seus pacotes do Wayland, já que o X está sendo reconhecido como abandonware por mais desenvolvedores de aplicativos a cada dia. De vez em quando, verifique se seus problemas começaram a desaparecer.

O que devo fazer se meu gerenciador de exibição não mostrar as opções do Wayland?

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

Crédito da imagem: Pixabay . Todas as capturas de tela de Miguel Gomez.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *