O que é o Wayland, Weston no Linux ?

o-que-e-wayland-weston-linux

Wayland, uma palavra familiar que sempre lemos em tutoriais e até notícias em torno de drivers ou ambientes gráficos, temos também o Weston, pouco conhecido, mas que esta sendo desenvolvido para desempenhar um papel fundamental em nossas distribuições Linux. Mas será que você já procurou saber o que é o Wayland ou sobre o Weston? Vamos então explicar um pouco sobre eles.

Mas antes, vamos entender um pouco de cada um! 

O X nunca foi tão simples como hoje, antes era necessário configurar o bendito X manualmente, você tinha que ter conhecimento um pouco mais avançado, e tinha que conhecer bem todos os periféricos que tinha em seu computador como mouse, teclado, taxa de RAM para o seu vídeo, placa de vídeo e muitos outros detalhes. Muita gente sofria com o XF86Config.

Mas, houve uma grande confusão entre os desenvolvedores do X, e em 2003 o desenvolvedor principal teve a brilhante ideia de alterar a licença do XFree86 para ser totalmente incompatível com a GPL. Mas o XFree86 começou a afundar e o desenvolvedor principal o Keith Packard resolveu criar o um fork que é o famoso X.org que usamos ainda hoje em dia. O XFree86 foi sepultado em 2009.

Bom, no X.org ele pode configurar tudo para você, ou você pode fazer isso manualmente. Algumas coisas foram removidas do X para o Kernel e tem até facilitado a vida dos desenvolvedores. Alguns chegaram dizer que existem problemas que não conseguem corrigir envolvendo o X e é aí aonde vamos chegar no Wayland.

O que é o Wayland?

o-que-e-wayland-weston-2-linux

O Wayland é um protocolo ao que chamamos de servidor de exibição, ele não é o fork do X.org e não é um servidor X, que fique claro, existe muita confusão em torno disso. Há também o famoso compositing ou compositor em nosso idioma, (inclusive no texto vou usar a palavra em português) ele foi a melhor coisa que foi criada, digo isso porque antes do “compositor” as próprias aplicações faziam o gerenciamento de suas janelas diretamente na memória destinada ao vídeo, pois é, e isso causava uma bagunça pela falta de eficiência gerando uma grande instabilidade no ambiente gráfico.

Eis que surge o “compositor” ou gerente de composição, ele transforma a memória compartilhada com vídeo em uma verdadeira pizza,  e distribuí a memória de acordo com a necessidade de cada aplicativo.

Bom, se antes cada um reservava a memória que achava que dava, agora a coisa ficou mais organizada, cada um só recebe aquilo que vai realmente usar, e evita que tudo trave somente porque um aplicativo travou, pois é, antes era assim, se algo travava, tudo travava, agora não, você pode simplesmente encerrar a aplicação que travou e aí vai aparecer aquela janela de aviso que indaga se você quer cancelar, aguardar ou forçar saída, antes não tinha isso.

O que é o Weston?

E é aí aonde entra o Weston, ele é o compositor do Wayland, o Weston pode ser comparado a um servidor X, aplicação X ou até um cliente, mas o Weston ainda é uma pequena demonstração, ainda está sendo testado e aprimorado.

Os gerentes de janela de compostagem são capazes de executar efeitos como animações 2D e 3D, rotação, sombras, borrões, ampliadores e vários outros efeitos. Alguns gerenciadores de janelas de composição populares são Xfwm, Cairo, KWin (KDE4), Mutter (GNOME 3) e Compiz. KWin e Mutter têm suporte parcial Wayland, com planos de no futuro ter o suporte completo.

Wayland hoje já faz muitas tarefas que o X atualmente faz. Desenho, monitores múltiplos e renderização de fontes são todas tarefas que podem ser tratadas por algo diferente de um servidor X. O desenho é o que você vê em sua tela toda vez que algo muda, como rolagem, abertura de uma nova aplicação, reprodução de um vídeo tudo é desenhado em sua tela pelo servidor X.

O X tem duas APIs de desenho, uma que é antiga e ninguém usa, e a outra é a extensão XRender, que é o que usamos agora. O Wayland não tem APIs de desenho e não precisa de nenhum agradecimento à renderização direta que liga o kernel do Linux diretamente ao seu adaptador gráfico, cortando uma verdadeira camada intermediária como se fosse de gordura, do servidor X. O kernel do Linux inclui um gerenciador de renderização direta (DRM) que possui duas partes: o driver do kernel drm e o driver da placa gráfica, se ele for compatível com renderização direta.

Wayland pretende ser mais simples, mais limpo e mais flexível. Não é possível fazer uma pausa limpa com o Xorg devido a cargas de trem de código e aplicativos legados, mas o Xorg pode funcionar como cliente do Wayland para compatibilidade com versões anteriores.

O Wayland pode ser entendido como um intermediário entre gestores de janelas ou compositor, os clientes podem carregar todos os tipos de funcionalidades especializadas sem ter que lidar com uma antiga base de código X gigante. E muitos outros recursos estão sendo implementados e testados, para que cada vez mais o protocolo esteja mais completo e precise menos dos esforços do X.

Espero que eu tenha ajudado você a entender melhor!