Por que Wayland é melhor?

148

Como recentemente anunciado por Mark Shuttleworth, o Ubuntu estará se movendo no sentido de usar o Wayland como seu gerenciador de exibição.

Quais são as maiores diferenças entre o X11 e o Wayland? Por que Wayland vai melhorar o Ubuntu?

    
por Hillar 05.11.2010 / 14:52
fonte

6 respostas

119

Você pode ver a página da arquitetura de Wayland para ver como ela difere no design. Ele supostamente simplifica 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 foi através do design flexível, alguns foram crescendo dores. 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. Se as coisas continuarem se expandindo para fora como foram, chegaremos a um ponto em que o projeto se tornará inatingível.

Em suma, quando o suporte de hardware está lá, ele deve tornar toda a pilha mais eficiente e menos dolorosa de usar em configurações padrão.

No entanto, há alguns problemas que não vi até agora:

  • X é bastante ciente da rede. Você pode enviar janelas para outros computadores, você pode ter várias telas com logins remotos e todos os tipos de coisas divertidas como essa. Isso pode parecer bastante especializado, mas é uma tecnologia amplamente usada. Wayland parece razoavelmente local e estático em comparação.

  • Há também suporte ao motorista. Os drivers de código fechado ainda precisam oferecer suporte às tecnologias KMS / shared-GEM / shared-DRM que a Wayland aproveita. Um purista pode ficar bem com 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 em 3D que teria com o atual driver aberto.

    Atualização: A Nvidia está trabalhando para suportar Wayland e Mir .

De qualquer maneira, estamos falando de anos (provavelmente de dois a três IMO) antes que algo assim esteja pronto para testes estáveis e ainda mais antes de você ter que desistir de X (se Wayland fosse claramente melhor).

    
por Oli 05.11.2010 / 15:43
fonte
48

Existem lotes de diferenças entre X e Wayland. Provavelmente, o maior do lado gráfico é que Wayland não faz nenhum desenho .

O X tem duas APIs de desenho. Uma delas é parte do núcleo do protocolo X11, que é antigo, inútil e ninguém usa. A outra é a extensão XRender, que fornece operações compostas modernas, entre outras coisas, como gradientes. É o que o Cairo, por exemplo, usa. X também tem APIs de desenho de fontes.

O 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 ou se importa como o cliente atrai para esse buffer. Em termos X, isso significa que todos os aplicativos recebem renderização direta - as solicitações de desenho não precisam passar pelo servidor.

A única renderização que o Wayland faz é copiar os buffers do cliente na tela.

Em termos de benefícios, o Wayland é muito menos complexo do que o X, o que deve facilitar a manutenção - embora parte dessa simplicidade venha de empurrar a complexidade (ex .: como realmente atrair para esse buffer, transparência de rede) para outras camadas da pilha. Ao responsabilizar os clientes por todas as suas renderizações, os clientes podem ser mais inteligentes em relação a coisas como o buffer duplo.

Existem outros benefícios fora dos gráficos. É muito mais fácil proteger aplicativos, por exemplo.

    
por RAOF 07.11.2010 / 06:40
fonte
16

A principal diferença em meus olhos é que o Wayland está mais próximo do kernel do que o X-Server. Com o movimento dos drivers gráficos do X para o kernel (conhecido como KMS), o Wayland planeja usar essa nova funcionalidade para substituir o X. Você poderia esperar ver o seguinte ...

Menos de uma pegada do que X - porque a exibição é manipulada pelo kernel O Wayland não terá que implementar tanto para se tornar utilizável. Isso acontece nos dois sentidos, já que suspeito que o redirecionamento do X (veja uma tela em outro PC) pode acabar com o X.

Recursos do KMS: Ser capaz de 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 na nvidia), depure console no kernel panic para chipsets intel (movendo para nouveau) se é nesse tipo de coisa.

Alguém pode me corrigir se eu estiver errado?

    
por TGM 05.11.2010 / 15:36
fonte
9

Todos os outros posts destacam os benefícios do Wayland, mas nem tudo é bom. A maior vantagem do X em relação ao Wayland é que o X funciona através da rede. X é transparente na rede, você pode exibir a janela ou, com o XDMCP, uma sessão completa, em um terminal, enquanto o programa real está sendo executado em outra máquina geralmente mais poderosa. Com algo parecido com Wayland, a ideia de transparência de rede desapareceu. Talvez não seja muito necessário nos dias de hoje com redes rápidas e outros protocolos como VNC e RDP, apenas pensei em mencioná-lo para a integridade.

    
por Christian Hujer 02.09.2015 / 22:16
fonte
6

Simplificando, a esperança é de melhores gráficos (menos bugs, mais rápidos, mais fáceis de usar). Mesmo as coisas podem ser possíveis um dia que não eram antes. Eu pessoalmente acho que isso vai apimentar as coisas, como a concorrência sempre faz.

    
por ido 05.11.2010 / 15:20
fonte
3

Duas pequenas coisas que qualquer um notará rapidamente no trabalho do dia-a-dia:

  • Wayland acaba com os papercuts que foram considerados difíceis de consertar no X11. Um exemplo famoso: usar as teclas de função (volume do alto-falante, brilho da tela, etc.) enquanto o menu está aberto ou a tela de bloqueio está ativada.
  • Wayland é melhor em dispositivos de entrada. Por um lado, há muito mais opções para configurar touchpads, incluindo uma configuração persistente de tocar para clicar.
por Nico Schlömer 15.08.2017 / 15:52
fonte