Projekt Xfce ogłosił kompozytowy serwer Xfwl4, wykorzystujący Wayland i Rust

Zespół deweloperów środowiska graficznego Xfce ogłosił rozpoczęcie prac nad nowym kompozytowym serwerem Xfwl4, który wykorzystuje protokół Wayland. W Xfwl4 postanowiono nie korzystać z bazy kodowej obecnego menedżera okien xfwm4 i rozwijać projekt od podstaw w języku Rust, przy użyciu biblioteki Smithay. Projekt znajduje się na wczesnym etapie rozwoju, a pierwsza wersja testowa spodziewana jest w połowie 2026 roku. Kod Xfwl4 jest rozpowszechniany na licencji GPLv3.

W Xfwl4 planowane jest zaimplementowanie całej funkcjonalności dostępnej w xfwm4, w tym możliwość użycia istniejących ustawień xfconf oraz interfejsu konfiguracji, ale z uwzględnieniem specyfiki używania Wayland zamiast X11. Wśród rozszerzonych funkcji wyróżnia się znaczne przekształcenie logiki uruchamiania sesji, implementację protokołu Wayland xdg-session-management oraz wsparcie dla uruchamiania aplikacji X11 za pomocą XWayland.

Za powód stworzenia nowego kompozytowego serwera wspomniana jest nieudana próba jednoczesnego wsparcia X11 i Wayland w istniejącej bazie kodowej menedżera okien xfwm4, który pierwotnie został zaprojektowany z myślą o ścisłej integracji protokołu X11, co utrudniało oddzielenie ogólnej logiki zarządzania oknami od specyfiki X11.

Stopniowe dodawanie wsparcia dla Wayland w xfwm4 uznano za nieopłacalne z powodu możliwości obniżenia stabilności i występowania nowych błędów w trakcie refaktoryzacji. Łatwiej okazało się pozostawić xfwm4 powiązanym z X11 i równolegle rozwijać nowy kompozytowy serwer dla Wayland. Za powody wymienia się także niemożność dostosowania niektórych koncepcji zarządzania oknami X11 do Wayland oraz konieczność użycia języka C i biblioteki wlroots w przypadku kontynuacji rozwoju xfwm4, mimo dostępności lepszych alternatyw.

Xfwl4 postanowiono rozwijać na bazie biblioteki Smithay, która oferuje implementację niemal wszystkich oficjalnych rozszerzeń protokołu Wayland, a także protokołów wlroots i KDE. Smithay jest wykorzystywana w takich projektach jak Cosmic i Niri. Podobnie jak wlroots, biblioteka Smithay dostarcza abstrahacje na wysokim poziomie, ale jednocześnie pozwala na ingerencję w działanie systemów niskiego poziomu oraz dostosowywanie metod renderowania grafiki, interakcji z urządzeniami wejściowymi, zachowania protokołów Wayland oraz obsługi zadań związanych z budową desktopu. Język Rust został wybrany, ponieważ utrudnia popełnianie błędów związanych z pamięcią i zmniejsza prawdopodobieństwo problemów prowadzących do awarii.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster