- Das Xfce-Team hat Pläne für die Entwicklung des neuen Wayland-basierten Compositors „xfwl4“ vorgestellt; die Community-Spenden werden genutzt, damit der zentrale Entwickler Brian Tarricone die Arbeit leitet
- Ziel sind dieselben Funktionen und dieselbe Benutzererfahrung wie bei xfwm4, wobei der Einstellungsdialog und die xfconf-Konfigurationen wiederverwendet werden, um einen nahtlosen Übergang zu sichern
- Auf Basis von Rust und dem smithay-Framework als vollständig neuer Code geschrieben; bietet Speichersicherheit sowie anpassbare Grafik- und Eingabe-Pipelines
- Zum Projektumfang gehören Änderungen an der Session-Management-Struktur, Unterstützung für XWayland und xdg-session-management sowie Verbesserungen am CI-Build-System
- Eine zentrale Investition in den Wayland-Umstieg von Xfce; die erste Entwicklungsveröffentlichung ist noch im Laufe des Jahres geplant
Xfces neuer Plan für einen Wayland-Compositor
- Das Xfce-Team beginnt mit der Entwicklung des neuen Wayland-Compositors „xfwl4“ unter Nutzung von Community-Spenden
- Die Entwicklung übernimmt der langjährige Kernbeitragende Brian Tarricone
- Ein erheblicher Teil der Projektmittel soll für diese Entwicklung verwendet werden
- Ziel ist es, dieselben Funktionen und dasselbe Verhalten wie xfwm4 in einer Wayland-Umgebung bereitzustellen
- Die bestehenden xfwm4-Einstellungsdialoge und xfconf-Einstellungen werden unverändert genutzt, um eine konsistente Benutzererfahrung zu wahren
- xfwl4 basiert nicht auf dem bestehenden xfwm4-Code, sondern wird in Rust vollständig neu geschrieben
- Es wird auf der smithay-Bibliothek aufgebaut
Warum eine Neuentwicklung statt Wiederverwendung des bestehenden Codes
- Anfangs war geplant, den xfwm4-Code anzupassen, um X11 und Wayland parallel zu unterstützen, doch aus mehreren Gründen wurde dies als ungeeignet bewertet
- Die Struktur von xfwm4 ist stark von X11 abhängig, wodurch sich eine verallgemeinerte Schnittstelle nur schwer umsetzen lässt
- Bei einem Refactoring besteht ein hohes Risiko für X11-Bugs
- Es gibt X11-Konzepte, die unter Wayland nicht unterstützt werden, was die Pflege des Codes erschwert
- Bei Nutzung des bestehenden Codes wäre man auf C und wlroots angewiesen
- Mit einer separaten Codebasis lassen sich die Stabilität von xfwm4 erhalten und experimentelle Wayland-Entwicklung parallel vorantreiben
Warum smithay gewählt wurde
- Brian Tarricone verglich wlroots und smithay und entschied sich anschließend für smithay
- smithay unterstützt die meisten offiziellen Wayland-Protokollerweiterungen sowie wlroots- und KDE-Protokolle
- Durch das Fehlen einer High-Level-Abstraktion ist eine feingranulare Kontrolle über Grafik- und Eingabe-Pipelines möglich
- Die Dokumentation ist gut, und durch Rust sinkt das Risiko speicherbezogener Bugs und Abstürze
- Der Entwickler bevorzugt Rust
- wlroots ist in C geschrieben, wodurch sich Rust-Bindings nur schwer erstellen lassen
Projektumfang und technische Herausforderungen
- Zusätzlich zur Funktionsgleichheit mit xfwm4 umfasst das Projekt folgende Aufgaben
- In einer Wayland-Umgebung muss der Compositor die Session-Wurzel sein, daher ist eine Änderung der Session-Startstruktur erforderlich
- Unterstützung für das xdg-session-management-Protokoll wird ergänzt
- XWayland-Unterstützung ist enthalten
- Das CI-Container-Build-System wird auf eine meson-basierte Struktur aktualisiert, die den Build von Rust-Code ermöglicht
- Brian Tarricone hat die Entwicklung bereits begonnen; die erste Entwicklungsveröffentlichung ist noch im Laufe des Jahres geplant
Community und Förderung
- Das Projekt wird durch Spenden von Unterstützern von Open Collective US und EU ermöglicht
- Entwicklungsfortschritt und technische Details können in den xfwl4-Issues und dem Quellcode-Repository auf GitLab verfolgt werden
- Fragen dazu können über den Matrix-Kanal #xfce-dev gestellt werden
Noch keine Kommentare.