Gaming: Wayland bekommt Screen Tearing für das Steam Deck
Eigentlich soll mit Wayland jeder Frame perfekt sein. Ein Tearing in Spielen kann aber die Latenz verringern.
Mit der Veröffentlichung der Wayland-Protokollsammlung in Version 1.30 erhält die moderne Linux-Grafikumsetzung eine überraschende Neuerung: eine experimentelle Unterstützung für das sogenannte Screen-Tearing. Das widerspricht eigentlich dem vor mehr als einem Jahrzehnt formulierten Grundgedanken von Wayland, wonach jeder Frame perfekt dargestellt werden soll.
Beim Screen Tearing werden die Bildinhalte eines älteren sowie eines neueren Frames bei der Anzeige miteinander vermischt. Das kann passieren, wenn das Rendering des neuen Frames nicht schnell genug abgeschlossen werden kann und so Buffer nur teilweise neu beschrieben werden. Vorkommen kann das Tearing aber auch, falls die Darstellung selbst nicht mit der Bildwiederholfrequenz des Monitors synchronisiert wird. Der Effekt wirkt dabei wie ein Zerreißen des Bildes.
Durch technische Beschränkungen sollte Wayland derartige Fehler eigentlich vermeiden. Wie der KDE-Entwickler Xaver Hugl aber in der Erläuterung zu dem Code-Beitrag schreibt, könne es "für einige Anwendungsfälle wie Spiele oder Zeichentabletts" sinnvoll sein, ein Tearing zu erlauben, um die Latenz zu reduzieren. Genutzt werden könnte das neue Protokoll wohl in den internen Umsetzungen von Grafik-APIs wie EGL oder Vulkan, die eine Bufferverwaltung übernehmen.
Die nun verfügbare Protokollerweiterung für Wayland ermöglicht es Wayland-Clients, anzugeben, ob deren Inhalte geeignet für solche eine Tearing-Darstellung sind. Genutzt wird die neue Technik offenbar bereits von Valve auf dem Steam Deck mit dessen hauseigenem Wayland-Compositor Gamescope. Letzterer ermöglicht auch einen sogenannten Nested-Betrieb, also als Sitzung in einer laufenden Desktop-Sitzung. Möglicherweise könnte Valve dies künftig auch über den Steam Client für Linux umsetzen.