Wayland (protocolo de servidor gráfico)

Sistema de exibição destinado a substituir o X11

Wayland é um protocolo de computador que especifica a comunicação entre o servidor gráfico (chamado compositor Wayland) e os seus clientes.[5] Ele foi inicialmente projetado por Kristian Høgsberg, líder do projeto AIGLX, como um substituto ao X Window System.

Wayland
Logótipo
Wayland (protocolo de servidor gráfico)
Captura de tela
Wayland (protocolo de servidor gráfico)
Weston, a implementação de referência de um servidor Wayland.
Autor Kristian Høgsberg
Desenvolvedor freedesktop.org e outros
Lançamento 30 de setembro de 2008 (15 anos)[1]
Versão estável Wayland: 1.22.0,[2] Weston: 13.0.0[3] (4 de abril de 2023; há 12 meses)
Escrito em C
Sistema operacional Oficial: Linux
Não-oficial: NetBSD, FreeBSD, DragonFly BSD[4]
Gênero(s) Protocolo de comunicações, sistema de janelas, servidor de exibição
Licença MIT
Estado do desenvolvimento Ativo
Página oficial wayland.freedesktop.org
Repositório gitlab.freedesktop.org/wayland/wayland.git

A implementação inicial, principalmente libwayland-server, libwayland-client, libwayland-EGL e a implementação de referência Weston são escritas em C e publicada sob a Licença MIT. Weston é escrito para o núcleo Linux. Um porte inicial para o FreeBSD está em processo de desenvolvimento.[6]

Compositores Wayland editar

 
Elementos típicos de uma janela. Nem o Wayland nem o X11 especificam qual software é responsável pela renderização da decoração da janela. Weston requer que elas sejam desenhadas pelo cliente, mas o KWin implementará a decoração do lado do servidor.

Servidores gráficos que implementam o protocolo de servidor gráfico Wayland são também chamados de compositores Wayland, porque eles adicionalmente fazem a tarefa de um gerenciador de janelas baseado em composição.

  • Weston – implementação de referência de um compositor Wayland; Weston implementa decoração de janela de lado de cliente
  • Lipstick – framework de shell gráfico móvel que implementa compositor Wayland. É usado no Sailfish OS, Nemo Mobile e AsteroidOS.
  • Enlightenment tem suporte completo ao Wayland desde a versão 0.20.
  • KWin tem suporte incompleto ao Wayland em abril de 2013.
  • Mutter mantém um ramo separado para a integração do Wayland para o GNOME 3.9 (em septembro de 2013).
  • Clayland é um exemplo simples de compositor Wayland usando Clutter.
  • Westeros é uma biblioteca de compositor Wayland que permite que as aplicações criem seus próprios servidores Wayland, que permite o aninhamento e a incorporação de aplicações de terceiros.

Weston editar

Weston é a implementação de referência de um compositor Wayland também desenvolvido pelo projeto Wayland. Está escrito em C e publicado sob a licença MIT. O Weston só tem suporte oficial para os sistemas operacionais baseados em Linux devido à dependência de determinados recursos do kernel do Linux, como a configuração de resolução gráfica em modo kernel (KMS), o Gerenciador de Execução de Gráficos (GEM) e o udev, que ainda não foram implementados em outros sistemas operacionais Unix. Quando executado no Linux, o gerenciamento do hardware de entrada depende do evdev, enquanto o tratamento de buffers depende do Gerenciamento Genérico de Buffer (GBM). No entanto, em 2013 foi anunciado um protótipo de porte do Weston para o FreeBSD.[6]

Disponibilidade editar

Distribuições de Linux para desktops editar

Em geral, o suporte completo aos ambientes de desktop Wayland nas principais distribuições do Linux ainda está nos estágios iniciais. A maioria das distribuições Linux que usam a versão 3.20 ou mais recente do ambiente de trabalho do Gnome suportam a instalação manual de uma sessão do Wayland e, no caso do Gnome 3.22 ou posterior, pode usar o Wayland por padrão. Adotadores iniciais notáveis que fornecem o Wayland são:

  • O Fedora a partir da versão 25 usa o Wayland como sessão padrão do desktop GNOME 3.22, com o X.Org como alternativa se o driver gráfico não suportar o Wayland.[7][8] A versão 34 do Fedora também usa o Wayland como padrão para sessões de desktop KDE.[9]
  • O Ubuntu usa o Wayland como padrão na versão 17.10 (Artful Aardvark).[10][11] O Ubuntu reverteu para o X.Org na versão 18.04 LTS, pois o Wayland teve problemas com compartilhamento de tela e aplicativos de área de trabalho remota, e não se recuperava tão bem de travamentos do gerenciador de janelas.[12][13] Desde o Ubuntu 21.04, o Wayland é o padrão novamente.[14][15]
  • O KDE Neon Developer Edition tem suporte ao Wayland.[16][17]
  • O Arch Linux vem com o Wayland habilitado por padrão em vários ambientes desktop.[18]
  • O Red Hat Enterprise Linux usa o Wayland como a sessão padrão na versão 8.[19]
  • O Debian usa o Wayland como a sessão padrão para o GNOME desde a versão 10.[20]

Suporte de toolkit editar

Toolkits que suportam o Wayland incluem os seguintes:

  • Clutter tem suporte completo ao Wayland.
  • EFL tem suporte completo ao Wayland, exceto para seleção.
  • GTK+ 3.20 tem suporte completo ao Wayland.
  • Qt 5 tem suporte completo ao Wayland.
  • SDL suporta o Wayland desde a versão 2.0.2 e foi habilitado por padrão desde a versão 2.0.4.
  • GLFW 3.2 tem suporte ao Wayland.
  • FreeGLUT tem suporte inicial ao Wayland.

Ambientes de desktop editar

Os ambientes de desktop que estão em processo de serem portados do X para o Wayland incluem: GNOME,[21] KDE Plasma 5[22] e Enlightenment.[23] O ambiente de desktop Hawaii é um ambiente de desktop que suporta exclusivamente o Wayland.

Em Novembro de 2015, o Enlightenment e20 foi anunciado com suporte completo ao Wayland.[24] O GNOME 3.20 foi a primeira versão a ter uma sessão Wayland completa. O GNOME 3.22 incluiu um suporte muito melhorado ao Wayland no GTK, Mutter e GNOME Shell.[25] O GNOME 3.24 incluiu o suporte para os drivers proprietários da Nvidia no Wayland.[26]

O suporte ao Wayland para o KDE Plasma foi adiado até o lançamento do Plasma 5,[27] embora anteriormente o KWin 4.11 tenha recebido um suporte experimental ao Wayland.[28] A versão do 5.4 do Plasma foi a primeira com uma sessão Wayland.[29]

História editar

Kristian Høgsberg, desenvolvedor de software de gráficos do Linux e do X.Org que anteriormente trabalhou no AIGLX e no Direct Rendering Infrastructure 2 (DRI2), iniciou o Wayland como um projeto de tempo livre em 2008 enquanto trabalhava para a Red Hat. Seu objetivo declarado era um sistema em que "cada quadro é perfeito, pelo que quero dizer que as aplicações serão capazes de controlar a renderização o suficiente para que nunca veremos tearing, atrasos, redesenhamento ou cintilação". Høgsberg estava dirigindo pela cidade de Wayland, Massachusetts, quando os conceitos subjacentes "cristalizaram", daí o nome.

Em outubro de 2010, Wayland tornou-se um projeto freedesktop.org. Como parte da migração, o grupo anterior do Google foi substituído pela lista de correspondência wayland-devel como o ponto central de discussão e desenvolvimento do projeto.

As bibliotecas de clientes e servidores do Wayland foram inicialmente lançadas sob a Licença MIT, enquanto o compositor de referência Weston e alguns exemplos de clientes usavam a Licença Pública Geral GNU versão 2. Posteriormente, todo o código GPL foi relicenciado sob a licença MIT "para facilitar o movimento de código entre a implementação de referência e as bibliotecas atuais". Em 2015, descobriu-se que o texto da licença utilizado pelo Wayland era uma versão ligeiramente diferente e mais antiga da licença MIT e o texto da licença foi atualizado para a versão atual usada pelo projeto X.Org (conhecida como Licença MIT Expat).

Wayland funciona com todos os drivers compatíveis com Mesa com suporte ao DRI2, além de drivers do Android através do projeto Hybris.

Os desenvolvedores do Wayland são em grande parte atuais desenvolvedores do servidor X.Org.

Ver também editar

Referências

  1. Kristian Høgsberg (30 de setembro de 2008). «Initial commit». Consultado em 15 de outubro de 2020 
  2. Ser, Simon (4 de abril de 2023). «[ANNOUNCE] wayland 1.22.0». wayland-devel (Lista de grupo de correio). Consultado em 13 de julho de 2023 
  3. Vlad, Marius (28 de outubro de 2023). «[ANNOUNCE] weston 13.0.0». wayland-devel (Lista de grupo de correio). Consultado em 6 de abril de 2024 
  4. «Wayland & Weston Compositor Ported To DragonFlyBSD - Phoronix». www.phoronix.com 
  5. «Wayland». Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. 
  6. a b Larabel, Michael (16 de fevereiro de 2013). «Wayland Begins Porting Process To FreeBSD». Phoronix. Consultado em 14 de julho de 2013 
  7. Ricardo Ferreira (22 de novembro de 2016). «Fedora 25 oficialmente liberado com servidor gráfico Wayland, substituto do X11, disponível por padrão». Linux Descomplicado. Consultado em 23 de dezembro de 2017 
  8. «Fedora 25 Release Notes» (PDF). Fedora Project. Consultado em 23 de dezembro de 2017 
  9. «Fedora 34 is officially here!». Fedora Magazine. 27 de abril de 2021. Consultado em 30 de abril de 2021 
  10. Josué Vicente (19 de outubro de 2017). «Ubuntu 17.10 é oficialmente lançado com GNOME 3.26 e Wayland por padrão». Linuxbuzz. Consultado em 23 de dezembro de 2017 
  11. «ArtfulAardvark/ReleaseNotes - Ubuntu Wiki». Ubuntu Wiki. Consultado em 23 de dezembro de 2017 
  12. «Bionic Beaver 18.04 LTS to use Xorg by default». Canonical 
  13. Dionatan Simioni (26 de abril de 2018). «Ubuntu 18.04 LTS Bionic Beaver lançado, conheça 21 novidades sobre o sistema!». Diolinux. Consultado em 30 de abril de 2021 
  14. Carlos Augusto (22 de abril de 2021). «Ubuntu 21.04 lançado, confira as novidades!». Diolinux. Consultado em 30 de abril de 2021 
  15. «Ubuntu 21.04 is here». Canonical. 22 de abril de 2021. Consultado em 30 de abril de 2021. Cópia arquivada em 22 de abril de 2021 
  16. Dionatan Simioni (23 de junho de 2017). «KDE Neon Developer Edition traz suporte ao Wayland». Blog Diolinux. Consultado em 23 de dezembro de 2017 
  17. «Wayland Option Now in Neon Dev Unstable ISO by Default». KDE neon Developers Blog. 16 de junho de 2017. Consultado em 23 de dezembro de 2017 
  18. «Wayland - ArchWiki». ArchWiki. Consultado em 23 de dezembro de 2017 
  19. «Chapter 5.1. New features». Red Hat Customer Portal (em inglês). Consultado em 26 de novembro de 2019 
  20. «NewInBuster - Debian Wiki». wiki.debian.org. Consultado em 26 de novembro de 2019 
  21. «GNOME Initiatives - Wayland». GNOME Wiki. Consultado em 6 de abril de 2024. Cópia arquivada em 7 de março de 2016 
  22. «KWin/Wayland». KDE Community Wiki. Consultado em 6 de abril de 2024. Cópia arquivada em 10 de março de 2016 
  23. «Enlightenment - Wayland». Enlightenment.org. Consultado em 6 de abril de 2024. Cópia arquivada em 9 de março de 2016 
  24. Larabel, Michael (30 de novembro de 2015). «Enlightenment 0.20 Arrives With Full Wayland Support & Better FreeBSD Support». Phoronix.com. Consultado em 6 de abril de 2024. Cópia arquivada em 15 de março de 2016 
  25. «A Look At The Exciting Features/Improvements Of GNOME 3.22». Phoronix. Consultado em 6 de abril de 2024. Cópia arquivada em 12 de agosto de 2020 
  26. «GNOME Lands Mainline NVIDIA Wayland Support Using EGLStreams». Phoronix. Consultado em 6 de abril de 2024. Cópia arquivada em 8 de agosto de 2019 
  27. «Plasma's Road to Wayland». 25 de julho de 2014. Consultado em 6 de abril de 2024. Cópia arquivada em 27 de julho de 2014 
  28. Larabel, Michael (14 de junho de 2013). «KDE 4.11 Beta Released, Works On Wayland». Phoronix.com. Consultado em 6 de abril de 2024. Cópia arquivada em 25 de abril de 2016 
  29. Graesslin, Martin (29 de junho de 2015). «Four years later». Consultado em 6 de abril de 2024. Cópia arquivada em 31 de março de 2016 

Ligações externas editar