TWM + NVIDIA + Wayland?

Tem algum TWM que funcione bem com NVIDIA?
Sway é meio travado, simplesmente não funciona com os drivers proprietários.
Queria passar a utilizar o Wayland.

Tem o DWL que é um DWM para wayland. Você pode testar.

Mas tipo, os drivers NVIDIA sempre tiveram problemas com o Wayland, não? É porque sempre costumo ver assuntos do tipo, mas não tenho experiência própria já que tenho placa gráfica AMD.

1 curtida

Antigamente sim, agora já tem suporte, inclusive, Gnome 42 com Wayland e o proprietario funcionou super bem.

Primeiro, garanta que tem o driver Nvidia na versão mais recente/beta (≥495), no fim do post tem o motivo.

Se mesmo com o driver mais recente e a opção --unsupported-gpu ainda houver problemas, você pode tentar compilar o Sway com o wlroots-eglstreams, que é uma modificação dessa base com mudanças para compatibilizar com Nvidia (incluindo drivers antigos sem suporte à infraestrutura que o Wlroots usa). Com ele, Sway e muitos outros TWMs têm mais chances de funcionar com a sua placa.

O DWL continua sendo baseado no wlroots. Provavelmente vai dar o mesmo problema do sway.


A história mais longa é que a Nvidia suporta o Wayland, mas com uma pegadinha.

Os drivers de código aberto do Linux (AMD, Intel, entre outros) fazem o Wayland se comunicar com a GPU por meio de um “protocolo” chamado GBM, enquanto a Nvidia preferiu um chamado EGLStreams.

Acabou pondo os devs de ambientes Wayland na situação desconfortável de ter que fazer um código para o driver da Nvidia, e outro completamente diferente para Intel e AMD. GNOME e KDE aceitaram, mas os desenvolvedores do wlroots (que a base do Sway, DWL, enfim, 99% dos TWMs Wayland) acharam o custo de manutenção muito alto para agradar um único fabricante. O wlroots-eglstreams que eu citei acima é uma fork/modificação do wlroots para usar tal do EGLStreams nativamente.

A Nvidia acabou aceitando colocar o GBM no driver, mas isso é recente e provavelmente não está maduro.

5 curtidas

Vou testar com o wlroots-eglstreams, tinha lido sobre realmente.
Quando executo o Sway fica repetindo que o elogind em x porta já está utilizado, será que tem relação?

Não sabia de toda essa história. Obrigado pela explicação!