Wayland (protocolo de servidor gráfico)

Origem: Wikipédia, a enciclopédia livre.
Saltar para a navegação Saltar para a pesquisa
Wayland
Logótipo
Wayland demo 2.png
demonstração do Wayland
Desenvolvedor Kristian Høgsberg
Lançamento 0.85 / 9 fevereiro 2012; há 5 anos
Versão estável 1.14.0/ 8 de agosto de 2017; há 11 meses[1]
Linguagem C
Sistema operacional Linux,FreeBSD
Licença MIT
Estado do desenvolvimento Ativo
Página oficial wayland.freedesktop.org

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

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.[3]

Compositores Wayland[editar | editar código-fonte]

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 | editar código-fonte]

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.[3]

Disponibilidade[editar | editar código-fonte]

Distribuições de Linux para desktops[editar | editar código-fonte]

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.[4][5]
  • O Ubuntu usa o Wayland como padrão na versão 17.10 (Artful Aardvark).[6][7]
  • O KDE Neon Developer Edition tem suporte ao Wayland.[8][9]
  • O Arch Linux vem com o Wayland habilitado por padrão em vários ambientes desktop.[10]

Suporte de toolkit[editar | editar código-fonte]

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 | editar código-fonte]

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

Em Novembro de 2015, Enlightenment e20 foi anunciado com suporte completo ao Wayland. GNOME 3.20 foi a primeira versão "a ter uma sessão Wayland completa". GNOME 3.22 agora usa o Wayland por padrão. GNOME 3.24 irá ter patches para NVidia desenvolvido para o Fedora 25.

O suporte ao Wayland do KDE Plasma foi adiado até o lançamento do Plasma 5, apesar de anteriormente o KWin 4.11 teve um suporte experimental ao Wayland. A versão do 5.4 do Plasma foi a primeira a ter uma sessão Wayland.

História[editar | editar código-fonte]

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 | editar código-fonte]

Referências

  1. lists.freedesktop.org/archives/wayland-devel/2017-August/034748.html
  2. «Wayland». Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. 
  3. a b Larabel, Michael (16 de fevereiro de 2013). «Wayland Begins Porting Process To FreeBSD». Phoronix. Consultado em 14 de julho de 2013. 
  4. 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. 
  5. «Fedora 25 Release Notes» (PDF). Fedora Project. Consultado em 23 de dezembro de 2017. 
  6. 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. 
  7. «ArtfulAardvark/ReleaseNotes - Ubuntu Wiki». Ubuntu Wiki. Consultado em 23 de dezembro de 2017. 
  8. Dionatan Simioni (23 de junho de 2017). «KDE Neon Developer Edition traz suporte ao Wayland». Blog Diolinux. Consultado em 23 de dezembro de 2017. 
  9. «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. 
  10. «Wayland - ArchWiki». ArchWiki. Consultado em 23 de dezembro de 2017. 

Ligações externas[editar | editar código-fonte]