Tým desktopového prostředí Xfce oznámil zahájení vývoje nového kompozitního serveru Xfwl4, který využívá protokol Wayland. Xfwl4 nebude používat kódovou základnu současného správce oken xfwm4, ale bude vyvíjen od nuly v Rustu s využitím knihovny Smithay. Projekt je v raných fázích vývoje, první testovací verze se očekává v polovině roku 2026. Xfwl4 je licencován pod licencí GPLv3.
Xfwl4 má v úmyslu implementovat všechny funkce dostupné v xfwm4, včetně možnosti používat stávající nastavení xfconf a konfigurační rozhraní, ale s ohledem na specifika použití Waylandu namísto X11. Mezi rozšířené funkce patří významné přepracování logiky spouštění relací, implementace protokolu Wayland xdg-session-management a podpora spouštění aplikací X11 pomocí XWaylandu.
Jako důvod pro vytvoření nového kompozitu server Článek zmiňuje neúspěšný pokus o implementaci simultánní podpory pro X11 a Wayland v existující kódové základně správce oken xfwm4, který byl původně navržen s ohledem na těsnou integraci protokolu X11, což ztěžuje oddělení obecné logiky správy oken od specifik X11.
Postupné přidávání podpory Waylandu do xfwm4 bylo považováno za nepraktické kvůli riziku snížení stability a zavedení nových chyb během procesu refaktorování. Ukázalo se, že je jednodušší ponechat xfwm4 vázaný na X11 a současně vyvíjet nový kompozitní framework. serveru pro Wayland. Mezi další uváděné důvody patří neschopnost adaptovat některé koncepty správy oken X11 pro Wayland a nutnost používat jazyk C a knihovnu wlroots, pokud bude vývoj xfwm4 pokračovat, a to i přes dostupnost lepších alternativ.
Xfwl4 byl vyvinut na bázi knihovny Smithay, která poskytuje implementace téměř všech oficiálních rozšíření protokolu Wayland, stejně jako protokoly wlroots a KDE. Smithay se používá v projektech jako Cosmic a Niri. Podobně jako wlroots poskytuje Smithay abstrakce na vysoké úrovni a zároveň umožňuje interferenci s nízkoúrovňovými systémy a přizpůsobení metod grafického výstupu, zpracování vstupních zařízení, chování protokolu Wayland a vykreslování plochy. Jazyk Rust byl zvolen, protože ztěžuje chyby ve správě paměti a snižuje pravděpodobnost pádů.
Zdroj: opennet.ru
