Das Team der Xfce-Desktop-Entwickler hat die Entwicklung eines neuen Compositors Xfwl4, der das Wayland-Protokoll nutzt, bekannt gegeben. In Xfwl4 wurde beschlossen, die Codebasis des derzeit verwendeten Fenstermanagers xfwm4 nicht zu verwenden und das Projekt von Grund auf neu in Rust unter Verwendung der Smithay-Bibliothek zu entwickeln. Das Projekt befindet sich in einem frühen Entwicklungsstadium, die erste Testversion wird Mitte 2026 erwartet. Der Code von Xfwl4 wird unter der GPLv3-Lizenz veröffentlicht.
In Xfwl4 wird angestrebt, alle Funktionen von xfwm4 zu implementieren, einschließlich der Möglichkeit, bestehende xfconf-Einstellungen und die Konfigurationsschnittstelle zu verwenden, jedoch unter Berücksichtigung der spezifischen Nutzung von Wayland anstelle von X11. Zu den erweiterten Funktionen gehört eine umfassende Überarbeitung der Logik zum Start von Sitzungen, die Implementierung des Wayland-Protokolls xdg-session-management und die Unterstützung des Starts von X11-Anwendungen mithilfe von XWayland.
Als Grund für die Schaffung eines neuen Compositors Server wird ein gescheiterter Versuch erwähnt, gleichzeitige Unterstützung für X11 und Wayland in der bestehenden Codebasis des Fenstermanagers xfwm4 zu implementieren, der ursprünglich mit einer engen Integration des X11-Protokolls entworfen wurde, was die Trennung der allgemeinen Logik der Fensterverwaltung von der Spezifik der X11 erschwerte.
Die schrittweise Hinzufügung von Unterstützung für Wayland in xfwm4 wurde als unzweckmäßig angesehen, da die Wahrscheinlichkeit besteht, dass die Stabilität beeinträchtigt und neue Fehler im Laufe der Refaktorisierung auftreten. Es stellte sich als einfacher heraus, xfwm4 an X11 gebunden zu lassen und parallel ein neues Composite Server für Wayland zu entwickeln. Auch als Gründe wird die Unmöglichkeit angeführt, einige Konzepte der Fensterverwaltung von X11 für Wayland anzupassen, sowie die Notwendigkeit, die Programmiersprache C und die Bibliothek wlroots zu verwenden, falls die Entwicklung von xfwm4 fortgesetzt werden sollte, trotz der Existenz besserer Alternativen.
Es wurde beschlossen, Xfwl4 auf der Bibliothek Smithay zu entwickeln, die nahezu alle offiziellen Erweiterungen des Wayland-Protokolls sowie die Protokolle wlroots und KDE implementiert. Smithay wird in Projekten wie Cosmic und Niri eingesetzt. Analog zu wlroots bietet die Smithay-Bibliothek hochgradige Abstraktionen, erlaubt jedoch Eingriffe in die Funktionsweise von niederen Systemen und ermöglicht die Anpassung von Grafik-Rendering-Methoden, die Arbeit mit Eingabegeräten, das Verhalten von Wayland-Protokollen und die Verarbeitung von Aufgaben, die mit dem Desktop-Bau verbunden sind. Die Programmiersprache Rust wurde gewählt, da sie es erschwert, Fehler im Umgang mit Speicher zu machen, und die Wahrscheinlichkeit von Problemen verringert, die zu einem Absturz führen könnten.
Quelle: opennet.ru
