WAYLAND VS X11 – Intel HD 4000 – GNOME 42

Vou fazer aqui uma série de testes e benchmark’s na sessão X11 e Wayland no GNOME.

Já fiz alguns comparativos com meu desktop com AMD GPU, mas creio que com uma configuração de hardware mais fraca possa representar a realidade de mais pessoas.

Ainda existe muito mito e dúvidas sobre o desempenho da sessão Wayland e app’s rodando com ou sem XWayland, então vou fazer alguns testes com um hardware de 2013/2014 com Intel de 3ºgen.

Aqui vamos avaliar como alguns app’s e jogos rodando na sessão Wayland com/sem XWayland VS sessão X11.

Hardware:

Se trata de um velho notebook CCE N325 levemente upgraded:

CPU: I3 3217u

RAM: 4 + 2 GB DDR3 13333

SSD: 240GB

Gráficos: HD 4000 (suporta OpenGL 4.2) não tem suporte completo a Vulkan.

Monitor: 1920×1080

Sistema: Fedora Silverblue 36

Kernel: 5.17.5

GNOME: 42.1

Mesa: 22.0.2

Firefox 100.0

Pacote Flatpak fornecido pela Mozilla via Flathub. Por padrão vem com Webrender ativo (com aceleração de hardwar) e rodando via XWayland. Farei benchmark também diretamente via Wayland, mesmo a Mozilla não enviando o Firefox assim na versão atual.

obs: Já estão usando o Firefox nativamente via Wayland na versão nighlty.

Usarei os benchmarks do https://browserbench.org/:

JetStream2

Conjunto de benchmark JavaScript e WebAssembly focado nos aplicativos da web mais avançados. Ele recompensa os navegadores que iniciam rapidamente, executam código rapidamente e funcionam sem problemas.

Nestes benchmarks o resultado se mostrou praticamente empatado nas 3 situações, tendo uma leve queda para o Firefox Xwayland:

Motionmark1.2

Neste tive que realizar algumas vezes, pois apresentou variações grandes, também devido ao sistema de resfriamento ruim do laptop, a temperatura chega até 69/70º com este benchmark, então o primeiro teste sempre se beneficia um pouco.

Mas notei que com o Firefox Xwayland, novamente, apresentou pior desempenho de modo geral, mas como se trata de um benchmark de gráficos, a qualidade não é mensurável apenas por estes números, pois outras coisas também são importantes como: fluidez, tearing, flickering etc…

speedometer

Este é um benchmark de navegador que mede a capacidade de resposta de aplicativos da Web. Ele usa aplicativos da Web de demonstração para simular ações do usuário, como adicionar itens de tarefas pendentes.

Aqui temos empate técnico:

Uso de CPU / RAM com vídeos 1080p60 no Youtube

Não creio que ouve diferença significativa:

Xwayland / Wayland / X11

Uso de CPU em tarefa pesada

Vou usar o Motionmark e analisar o uso de CPU com GNOME Monitor enquanto rodo o teste por 1 min:

Xwayland

Wayland

X11

Podemos ver que o uso de CPU em geral está menor com Firefox Wayland, mas percebi um comportamento diferente, quando rodando o benchmark e deixando a janela do Monitor maximizada, o GNOME/Mutter parece focar esforços para a janela em foco, coisa que não aconteceu com Xwayland/X11, onde o Benchmark praticamente mata o desempenho de qualquer outra coisa que você tente fazer ao mesmo tempo no OS.

Compartilhamento de tela inteira

Usei o serviço https://meet.jit.si/

Wayland

X11

No compartilhamento de tela inteira, a sessão X11 apresentou usar um pouco menos de recursos de CPU, mas não significativamente a ponto de afetar o desempenho e fluidez.

Conclusão, vemos que apesar da pouca diferença, esta versão do Firefox ainda tem espaço para melhorias de desempenho (sempre terá) que talvez estejam vindo da versão Nighlty. Infelizmente não se pode mais esperar melhorias via X11 pois o mesmo já está abandonado e se trata de uma tecnologia anciã.

Xonotic

Este game em OpenGL consegue rodar nativamente via Wayland e possui um benchmark integrado.

Xwayland

Wayland

X11

Podemos ver um pouco menos de quadros renderizados no XWayland e Wayland, com mais quadros renderizados no X11. Novamente, como teste de desempenho de um jogo a qualidade não foi levada em consideração nos números, mas como se trata de um jogo relativamente leve, percebi boa qualidade visual em todos os testes, sem tearing, flickering, stuttering… (isso se vsinc ativo).

Steam

Infelizmente não consigo forçar a Steam e os jogos a rodarem diretamente via Wayland/SDL2 (tentei com o comando: SDL_VIDEODRIVER=wayland %command%) então vai ser comparativo de XWayland vs X11 aqui:

CS:GO OpenGL – Low settings – 1080p

X11

e

XWayland

Teve um desempenho sofrível em ambos os casos, embora via XWayland renderizou mais quadros na média (25fps) não foi uma quantidade significativa.

OBS Studio

O OBS Studio roda nativamente via Wayland, então será apenas Wayland VS X11. Sendo que os plugins de captura no Wayland são diferentes da sessão X11.

Gravação com VAAPI 1080p30 – CQP 20

Wayland

OBS com média de 10% de uso de CPU – Monitor entre 19/25% de uso total

X11

OBS com média de 13% de uso de CPU – Monitor entre 24/30% de uso total

Vemos uma ligeira economia de recursos via Wayland, creio que por conta do conjunto Wayland + Pipewire. Neste teste em 1min de gravação não se sente diferença significativa no uso de recursos.

Google Chrome

Usarei o Chrome do Flathub, que é basicamente o .deb disponibilizado pela Google reempacotado para rodar dentro do sandbox do Flatpak.

Compartilhamento de tela via Google Meet:

obs: é preciso ativar 2 flags para compartilhar e rodar o navegador via Wayland

Wayland

X11

Teve uma leve diferença com menos uso de CPU na sessão X11, porém não significativa para impactar o uso.

Teste de Tearing

Veja o vídeo abaixo rodando o game Xonotic (OpenGL) sem sincronização vertical + Benchmark 3D para forçar o servidor gráfico:

X11

obs: repare que fechei o benchmark e o tearing continuou.

Wayland

obs: deixei o benchmark rodando em segundo todo tempo, mesmo assim não consegui ver um mísero tearing.

Aqui vemos claramente a “mágica” do Wayland, ativando a sincronização vertical obviamente o tearing some no X11, mas usará o dobro de processamento, enquanto mesmo sem sincronização vertical o jogo fica liso rodando via Wayland.

Talvez aí mostre a justificativa de ter renderizado mais quadros no benchmark, enquanto via X11 renderiza mais quadros de forma dessincronizada causando tearing, no Wayland renderiza um pouco menos de quadros porém de maneira mais sincronizada.

Agora rodando Google Chrome + Spotify + GNOME Software como um teste de fluidez em multi tarefas

Chrome via XWayland com movimentação de janelas totalmente fluida

Chrome via Wayland totalmente fluido:

Chrome na sessão X11, uma pequeno video vale mais que mil palavras:

Conclusão

Creio que no comparativo em geral, o desempenho não é perceptível em números de benchmark, algumas vezes pode-se achar uma leve diferença. A desculpa de “não uso Wayland por desempenho” parece ser furada. Já no desempenho em multitarefas e qualidade gráfica não tenho dúvidas sobre a sessão Wayland.

O mais perceptível é a ausência de tearing, mais consistência com animações do desktop além da fluidez ao manipular várias janelas.

Acho que isso serviu para mostrar que não irá perder nada usando sessão Wayland com um hardware deste nível. Apesar de eu achar que a melhor experiência é com AMD GPU, diria que com um Intel é a segunda melhor opção, mesmo não testando com gerações mais recentes. Com Nvidia? bom, ainda é cedo e o suporte a Wayland chegou a poucos meses, então pode ser que a situação mude em algum tempo.

Eu sei que ter desempenho e funcionalidades não significa nada se o app que você quer ou precisa usar, não suporta a sessão Wayland, mas claramente a estas alturas é limitação do app e dos desenvolvedores em não suportar a tecnologia.

Alguns app’s foram desenvolvidos baseados no design (já antiquado) do X11, o que pode exigir grandes mudanças que talvez os desenvolvedores destes app’s, simplesmente não querem ou não tem tempo para adaptar ao Wayland, ou seja lá qual for o motivo…

Se você depende de algum app que não funciona via XWayland e não gostaria de usar a sessão X11 apenas para este app, considere entrar em contato com os desenvolvedores e informar sobre a situação, o fato é que X11 está em modo manutenção, possui problemas crônicos de segurança não resolvíveis facilmente, está semi-abandonado e que a nova tecnologia é o Wayland, atualmente opção padrão nas grandes distribuições Linux: Fedora, RHEL, Debian, Ubuntu…Caso contrário, apenas mude para sessão Xorg / X11 no login do seu sistema enquanto as distros ainda suportam e creio que ainda manterão a opção lá por uns bons anos.

Se deseja me dar sugestões, mande para fastos2016@gmail.com ou nas redes sociais.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Blog no WordPress.com.

Acima ↑

%d blogueiros gostam disto: