Wayland kann man mittlerweile benutzen. Vor ein paar Jahren sah das noch ganz anders aus, und vor allem mit NVIDIA-Karte stand man da echt im Regen: Kein Screensharing in Teams (und das während Corona!), bei diversen Applikationen fehlten plötzlich Fenster-Rahmen und auch sonst lief es nicht rund.

Mittlerweile sieht das deutlich besser aus. Die udev-Regeln sind zwar immer noch heftig (man sieht in /run/udev/gdm-*, was er für tests gemacht hat, und die Regeln sind - derzeit - in /usr/lib/udev/rules.d/61-gdm.rules), aber entweder man nullt sie (ln -s /dev/null /etc/udev/rules.d/61-gdm.rules) oder hat einfach Glück und es funktioniert auch so. Die genauen Anforderungen sind mal wieder im exzellenten Arch Wiki.

Danach ist immer noch etwas Feinarbeit notwendig. Zum einen gibt’s manchmal Timing-Problem mit den Real Time-Kernel Modesetting-Threads, die man am besten einfach in den Debug-Modus schaltet, um sie zu umgehen:

1
2
# /etc/environment
MUTTER_DEBUG_KMS_THREAD_TYPE=user

Symptom ist übrigens, dass ihr nach dem Login direkt wieder in der Login-Maske landet, weil gdm der Meinung ist, die Session ist gestorben.

Browser auf Chromium-Basis kriegen oft nicht mit, dass sie unter Wayland laufen, das fixed man mit dem Flag --ozone-platform-hint=auto beim Starten (unter Arch kann man das in die ~/.config/chrome-flags.conf und Co. schreiben). Die meisten[tm] Electron-basierten Programme kriegen es mit der Umgebungsvariable ELECTRON_OZONE_PLATFORM_HINT=auto auch mit, und Visual Studio Code braucht Flags analog zu Chromium (dies es dann bei jedem Starten anmeckert, danke dafür). Hardware-Beschleunigung habe ich mit Chrome und NVidia nicht hinbekommen, auf Intel ging es einfach mit --enable-features=VaapiVideoDecodeLinuxGL (dafür aber auf Anhieb, zumindest mit dem iHD-Treiber für libva).

Für Firefox und Hardware-Beschleunigung unter NVIDIA ist das wohl etwas ekliger:

1
2
3
# /etc/environment
MOZ_DISABLE_RDD_SANDBOX=1
LIBVA_DRIVER_NAME=nvidia

Generell ist die Erfahrung deutlich stressfreier geworden - Steam Deck sei Dank.