O que é Wayland e o que isso significa para os usuários do Linux?

O que é Wayland e o que isso significa para os usuários do Linux?

Desde que o Fedora 25 introduziu corajosamente a pilha de gráficos Wayland por padrão em 2016, ela foi instalada como a opção principal em várias distribuições do Linux. Você pode até estar usando agora se estiver lendo isso em uma máquina Linux. Mesmo que Wayland já exista há algum tempo, ainda é um tópico de intriga entre as pessoas que estão acostumadas a usar o antigo e onipresente protocolo X11 por meio do Xorg.

Este guia aborda brevemente o que é Wayland, o que ele faz e por que os desenvolvedores estão migrando para ele em massa!

O que é Wayland?

Para exibir as janelas em sua tela e desenhar corretamente cada um de seus elementos, o Linux precisa de uma maneira de se comunicar com seu hardware gráfico e exibições. De 1984 a 2016, a maioria das distribuições usava um protocolo de exibição chamado “protocolo central do sistema X window” (ou apenas X). O Wayland surgiu no final desse período, apresentando uma alternativa mais leve, com mais segurança e mais otimizada para trabalhar em modernas tecnologias de exibição.

No entanto, os protocolos de exibição não podem funcionar sozinhos para desenhar coisas em sua tela. Eles precisam ser implementados em softwares conhecidos como servidores de exibição. Para X, o atual campeão por muito tempo foi o Xorg.

wayland-xorg-xsession

No Wayland, o servidor de exibição geralmente será apenas o gerenciador de janelas que seu ambiente de área de trabalho usa. Para o GNOME, é o Mutter. No KDE Plasma, é o KWin. Em vez de ter um processo autônomo separado executando o servidor, o gerenciador de janelas faz chamadas para uma biblioteca dentro do sistema para se comunicar com o hardware gráfico. Na maioria dos casos, isso seria wlroots.

Isso permite que o Mutter do GNOME, por exemplo, grave dados diretamente no framebuffer, em vez de usar um intermediário (muito parecido com o modo como o Xorg é usado), melhorando significativamente o desempenho.

Como funciona o Wayland?

Os servidores de exibição fornecem informações ao kernel e ao hardware gráfico para que eles possam passar rapidamente as coisas para a exibição. Eles recebem essas informações por meio de aplicativos que se comunicam com eles por meio de seus respectivos protocolos. Um aplicativo projetado para funcionar com o X, por exemplo, não pode se comunicar com um servidor Wayland.

Wayland Displayserver

Wayland resolve isso por meio de algo chamado XWayland, que atua como uma camada de compatibilidade que permite que a interação cliente-servidor X seja traduzida em algo que Wayland possa “entender”.

Em Wayland, o servidor e o compositor são o mesmo. Todo ambiente de área de trabalho que usa Wayland faz chamadas para uma biblioteca que implementa o protocolo Wayland para desenhar efeitos, como transparência, desfoque de janela, animações de transição e sombras projetadas, que dão uma sensação de dimensão às janelas.

Wayland traz todas essas funções para mais perto do kernel, e você frequentemente sentirá isso pela “suavidade” que você experimenta no ambiente gráfico.

Em vez de desenhar usando um software de terceiros, Wayland chama o que é conhecido como buffer do Direct Rendering Manager (DRM) no kernel para desenhar coisas.

Você pode notar que em Wayland, as etapas são muito mais simples e o processo direto. Isso leva a um maior desempenho em situações graficamente intensas e torna mais fácil para os desenvolvedores criar aplicativos executados sob esse protocolo.

Como experimentar Wayland

A maioria das distribuições Linux decidiu usar o Wayland como opção padrão, então você pode até estar usando agora mesmo! Você pode verificar isso facilmente abrindo um terminal e digitando echo $XDG_SESSION_TYPE.

Existem algumas resistências, como o Linux Mint, devido ao lento ciclo de desenvolvimento de seus ambientes de desktop e ao debate sobre se o Wayland é realmente maduro o suficiente para rodar na distro.

No momento, instalar o Ubuntu 22.04 ou posterior – ou qualquer versão atualmente suportada do Fedora – oferece a maneira mais simples de experimentar o Wayland.

wayland-gnome-wayland-sessão

Em qualquer outra distro, se estiver usando uma versão atual do GNOME ou KDE Plasma, tem a opção de usar o Wayland.

Se você estiver usando o Arch Linux , talvez seja necessário seguir estas etapas:

  • Se você estiver executando o GNOME, não há nada a fazer, pois seu gerenciador de exibição (GDM) oferece suporte por padrão. Se você estiver executando o KDE Plasma com seu gerenciador de exibição padrão, precisará obter a versão “git” do AUR :

yay -S sddm-git

ou

paru -S sddm-git

  • Se você fez alguma coisa na etapa 1, verifique se o serviço systemd não foi desativado ou algo assim:

sudo systemctl enable sddm

  • Instale o XWayland:

sudo pacman -S xorg-xwayland

É isso! Na próxima vez que inicializar seu sistema, você terá a opção de selecionar Wayland como o protocolo de exibição para seu ambiente de área de trabalho na tela de login.

Se você deseja depurar eventos para ver por que algo não está funcionando corretamente, execute:

qdbus org.kde.KWin /KWin org.kde.KWin.showDebugConsole

perguntas frequentes

Quais drivers atualmente suportam Wayland?

Desde que a Nvidia lançou a versão 495.44 em 26 de outubro de 2021, todos os principais fabricantes de placas gráficas (AMD, Nvidia e Intel) implementaram suporte completo para Wayland em seus drivers com Generic Buffer Management (GBM), que atualmente é o padrão ouro para implementações de o protocolo de exibição.

Wayland impedirá os keyloggers?

Há muito se sabe que o X11 é vulnerável a algo conhecido como “ataque de acesso não autorizado” ( CVE-1999-0526 ), ​​que permite que aplicativos façam capturas de tela injustificadas, acessem eventos de teclado e mouse, etc., para obter acesso a nomes de usuários e senhas. Embora Wayland tenha medidas de segurança para evitar esses tipos de ataques, essa proteção é apenas dentro do domínio de exibição de gráficos em seu monitor. Uma aplicação ainda pode, na prática, escutar outros tipos de mensagens enviadas ao kernel através do teclado.

Resumindo, evite o excesso de confiança em sua máquina, pois o Wayland aumenta sua segurança de maneiras específicas!

Qual é o desempenho de Wayland com jogos?

Em alguns casos de nicho, você notará algumas melhorias ao jogar com o Wayland, mas os jogos renderizados pelo Xorg podem ter pequenos problemas gráficos. Alguns aplicativos de overlay (como o WTRTI, que fornece um overlay para o War Thunder, por exemplo) podem não funcionar, pois é uma janela do XWayland tentando se comunicar com outra janela do XWayland, o que pode ser muito difícil. Sua milhagem pode variar e você pode ficar tão satisfeito com alguns resultados quanto desapontado com outros.

Deixe um comentário

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