Como anunciado recentemente por Mark Shuttleworth, o Ubuntu passará a usar Wayland como seu gerenciador de exibição.
Quais são as maiores diferenças entre o X11 e o Wayland? Por que Wayland tornará o Ubuntu melhor?
Como anunciado recentemente por Mark Shuttleworth, o Ubuntu passará a usar Wayland como seu gerenciador de exibição.
Quais são as maiores diferenças entre o X11 e o Wayland? Por que Wayland tornará o Ubuntu melhor?
Respostas:
Você pode ver a página de arquitetura Wayland para ver como ela difere no design. Supõe-se que simplifique toda a pilha de gráficos forçando tudo através de uma pilha GEM / DRM padrão diretamente para o kernel e gerenciando a própria composição.
Compare isso com a pilha X, onde você tem bits e bobs em todo o lugar. Parte da bagunça do X passou por um design flexível, outras têm crescido. Todos os compositores (Compiz / Metacity / Mutter / KWin / etc) foram adicionados como uma reflexão tardia. Eles são, em sua essência, hacks para fazer o que o X provavelmente deveria estar fazendo sozinho. Se as coisas continuarem se expandindo para fora como foram, chegaremos a um ponto em que o projeto se tornará insustentável.
Em suma, quando o suporte de hardware existe, deve tornar toda a pilha mais eficiente e menos dolorosa para uso em configurações padrão.
No entanto, existem alguns problemas que não vi até agora:
O X reconhece bastante a rede. Você pode enviar janelas para outros computadores, ter várias telas com logins remotos e todo tipo de coisas estranhas como essa. Isso pode parecer bastante especializado, mas é uma tecnologia amplamente usada. Wayland parece bastante local e estático em comparação.
Também há suporte ao driver. Os drivers de código fechado ainda não oferecem suporte às tecnologias KMS / shared-GEM / shared-DRM que Wayland aproveita. Um purista pode concordar com o Nouveau, mas alguém que paga entre 100 e 400 libras em uma placa de vídeo 3D de alto desempenho não ficará satisfeito com o fraco desempenho 3D que eles obteriam com o atual driver aberto.
Atualização: A Nvidia está trabalhando para apoiar Wayland e Mir .
Atualização de 2018 . 17.10 usou o Wayland como o servidor de exibição padrão (a menos que você tivesse um driver fechado, ou um driver que não o suportasse, ou precisasse do X). 18.04 e 18.10 usam o X como padrão global (embora você possa instalar o Wayland).
Não sou responsável por nada, exceto por essa posição, parece que ainda estamos a uma Nvidia métrica longe de conseguir tração real . Até esse ponto, acho que não veremos o suficiente compartilhar mente e desenvolver o poder atrás de Wayland. O mercado de jogos / desempenho está usando X. O mercado MCE está usando X (e framebuffers diretos). Não tenho certeza se Wayland terá uma chance real.
Existem muitas diferenças entre X e Wayland. Provavelmente o maior do lado gráfico é que Wayland não faz nenhum desenho .
X tem duas APIs de desenho. Uma delas faz parte do protocolo X11 principal, que é antigo, inútil e que ninguém usa. A outra é a extensão XRender, que fornece operações compostas modernas, entre outras coisas, como gradientes. É isso que o Cairo, por exemplo, usa. X também possui APIs de desenho de fontes.
Wayland não possui APIs de desenho. Um cliente Wayland obtém um identificador de buffer DRM, que é basicamente um ponteiro para alguma memória gráfica; Wayland não sabe nem se importa como o cliente atrai esse buffer. Em termos X, isso significa que todos os aplicativos recebem renderização direta - os pedidos de desenho não precisam passar pelo servidor.
A única maneira de renderizar Wayland é copiar os buffers do cliente na tela.
Em termos de benefícios, o Wayland é muito menos complexo que o X, o que deve facilitar a manutenção - embora parte dessa simplicidade venha de aumentar a complexidade (por exemplo: como realmente atrair esse buffer, transparência da rede) para outras camadas do pilha. Ao tornar os clientes responsáveis por toda a sua renderização, os clientes podem ser mais inteligentes quanto a coisas como buffer duplo.
Existem outros benefícios fora dos gráficos. É muito mais fácil colocar aplicativos em área restrita, por exemplo.
A principal diferença em meus olhos é que Wayland está mais próximo do kernel do que o X-Server. Com a mudança dos drivers gráficos do X para o kernel (conhecido como configuração do modo do kernel, KMS), Wayland planeja usar essa nova funcionalidade para substituir o X. Você pode esperar ver o seguinte ...
Menos área ocupada que X - porque o monitor é tratado pelo kernel Wayland não precisará implementar tanto para se tornar utilizável. Isso ocorre nos dois sentidos, pois suspeito que o encaminhamento do X (veja uma tela em outro PC) possa desaparecer com o X.
Recursos do KMS: poder alterar a resolução da tela sem reiniciar o servidor X (embora eu acredite que isso foi corrigido no X há algum tempo, pelo menos para a nvidia), console de depuração no pânico do kernel para chipsets intel (movendo-se para o nouveau) se você estiver interessado esse tipo de coisas.
Alguém pode me corrigir sobre isso, se eu estiver errado?
Todas as outras postagens destacam os benefícios do Wayland, mas nem tudo é bom. A maior vantagem do X sobre o Wayland é que o X trabalha na rede. X é transparente à rede, você pode exibir a janela ou, com o XDMCP, uma sessão completa, em um terminal enquanto o programa real estiver sendo executado em outra máquina, geralmente mais poderosa. Com algo como Wayland, a idéia de transparência da rede se foi. Talvez não seja tão exigido hoje em dia com redes rápidas e outros protocolos como VNC e RDP, apenas pensei em mencioná-lo por completo.
Duas pequenas coisas que alguém notará rapidamente no trabalho do dia a dia: