Екипът на разработчиците на десктоп средата Xfce обяви началото на разработката на нов композитен сървър Xfwl4, използващ протокола Wayland. В Xfwl4 е решено да не се използва кодовата база на текущия прозоречен мениджър xfwm4 и да се развие проектът от нулата на езика Rust, използвайки библиотеката Smithay. Проектът е на начален етап на разработка, като първият тестови Release се очаква в средата на 2026 година. Кодът на Xfwl4 се разпространява под лицензията GPLv3.
В Xfwl4 се предвижда реализиране на всички функции, налични в xfwm4, включително възможността за използване на съществуващите настройки xfconf и интерфейса за конфигуриране, но с оглед на спецификата на използването на Wayland вместо X11. От разширените функции се отбелязва значително преработване на логиката за стартиране на сесии, реализиране на Wayland протокола xdg-session-management и поддръжка на стартиране на X11 приложения с помощта на XWayland.
Като причина за създаването на нов композитен сървър се споменава неуспешен опит за едновременна поддръжка на X11 и Wayland в съществуващата кодова база на прозоречния мениджър xfwm4, който първоначално е проектиран с оглед на тясна интеграция на протокола X11, което затрудняваше отделянето на общата логика за управление на прозорци от спецификата на X11.
Постепенното добавяне на поддръжка за Wayland в xfwm4 е признато за нецелесъобразно поради вероятността от намаляване на стабилността и появата на нови грешки в процеса на рефакториране. По-лесно се оказа да оставим xfwm4 свързан с X11 и паралелно да развиваме нов композитен сървър за Wayland. Като причини се споменава също невъзможността да се адаптират някои концепции за управление на прозорците X11 за Wayland и необходимостта от използване на езика Си и библиотеката wlroots в случай на продължаващо развитие на xfwm4, въпреки наличието на по-добри алтернативи.
Xfwl4 е решено да се развива върху библиотека Smithay, която предоставя реализация на почти всички официални разширения на протокола Wayland, както и протоколите wlroots и KDE. Smithay се използва в проекти като Cosmic и Niri. По аналогия с wlroots, библиотеката Smithay предлага високо ниво на абстракция, но също така позволява вмешателство в ниско ниво на системите и адаптиране на методите за графично извеждане, работа с входни устройства, поведение на Wayland протоколите и обработка на задачи, свързани с изграждането на работния плот. Езикът Rust е избран, тъй като затруднява допускането на грешки при работа с паметта и намалява вероятността от проблеми, водещи до аварийно завършване на работата.
Източник: opennet.ru
