Xfwl4: Xfce erhält eigenen Wayland Compositor
29. Jänner 2026
Das Xfce-Team hat gerade bekannt gegeben, daß es den langjährigen Xfce-Entwickler Brian Tarricone aus Spendengeldern finanzieren werde, damit er einen neuen Wayland Compositor eigens für Xfce entwickelt, der auf den Namen Xfwl4 hört.
Das Ziel ist, daß Xfwl4 so weit wie möglich und unter Berücksichtigung der Unterschiede zwischen X11 und Wayland, die gleiche Funktionalität wie Xfwm4, der Standard-Fenstermanager von XFCE, bieten soll. Die Verwendung von xfwl4 soll sich unter X11 genauso anfühlen wie die von xfwm4. Weiterhin sollen die bestehenden Konfigurationsdialoge und xfconf-Einstellungen von xfwm4 wiederverwendet werden, um einen reibungslosen Übergang zu gewährleisten.
Xfwl4 wird nicht auf dem bestehenden xfwm4-Code basieren. Stattdessen wird es von Grund auf in Rust unter Verwendung der Smithay-Bausteine geschrieben. Smithay ist eine in Rust geschriebene Bibliothek, die Bausteine zur Entwicklung eigener Wayland-Compositoren bereitstellt. Damit können Grundfunktionen von Wayland und den zugrundeliegenden Systembibliotheken ohne großen Aufwand erstellt werden. Die Compositoren von COSMIC und des Tiling-Compositors Niri wurden ebenfalls mit Smithey erstellt.
Es gab einen Versuch, den Code von xfwm4 so zu modifizieren, daß er sowohl X11 als auch Wayland unterstützt. Dies erwies sich jedoch aus mehreren Gründen als der falsche Weg.
- Xfwm4 ist so konzipiert, daß es sehr schwierig ist, das Fensterverwaltungsverhalten hinter generischen Schnittstellen zu platzieren, die keine X11-Besonderheiten enthalten.
- Das Refactoring von Xfwm4 ist riskant, da es neue Fehler in X11 einführen könnte. Zwei parallele Codebasen ermöglichen eine schnelle Entwicklung und das Experimentieren mit dem Wayland-Compositor, ohne das Risiko, xfwm4 zu beeinträchtigen.
- Einige X11-Fensterverwaltungskonzepte sind von den Wayland-Protokollen derzeit einfach nicht verfügbar oder werden nicht unterstützt, und der Umgang mit diesen Unterschieden kann in einer X11-zentrierten Codebasis schwierig sein.
- Die Verwendung der bestehenden Codebasis würde uns zwingen, C und wlroots zu verwenden, auch wenn eine bessere Alternative verfügbar wäre.
- Da unter Wayland der Compositor anstelle von xfce4-session das Stammverzeichnis der Sitzung sein muß, sind größere Änderungen am Sitzungsstart erforderlich.
- Die Unterstützung des xdg-session-management-Protokolls ist ein weiteres Ziel.
- Auch die Unterstützung für XWayland ist Teil des Entwicklungsplans.
- Das Build-System des Xfce CI-Containers muß aktualisiert werden, um das Kompilieren von Rust-Code über Meson zu unterstützen.