Il team di sviluppo dell'ambiente desktop Xfce ha annunciato l'inizio dello sviluppo di un nuovo server composito chiamato Xfwl4, che utilizza il protocollo Wayland. In Xfwl4 è stato deciso di non usare il codice sorgente dell'attuale gestore delle finestre xfwm4 e di sviluppare il progetto da zero in Rust, utilizzando la libreria Smithay. Il progetto è ancora nelle fasi iniziali di sviluppo, e il primo rilascio di prova è previsto per metà del 2026. Il codice di Xfwl4 è distribuito con licenza GPLv3.
In Xfwl4 si prevede di implementare tutte le funzionalità attualmente disponibili in xfwm4, inclusa la possibilità di utilizzare le impostazioni esistenti di xfconf e l'interfaccia di configurazione, ma tenendo conto delle specificità dell'utilizzo di Wayland al posto di X11. Tra le funzionalità avanzate si segnala una sostanziale revisione della logica di avvio delle sessioni, l'implementazione del protocollo Wayland xdg-session-management e il supporto per l'avvio di applicazioni X11 tramite XWayland.
Come motivo per la creazione di un nuovo compositore server viene menzionato il tentativo fallito di realizzare un supporto simultaneo per X11 e Wayland nel codice sorgente esistente del gestore delle finestre xfwm4, che era stato progettato considerando una stretta integrazione con il protocollo X11, rendendo difficile separare la logica generale di gestione delle finestre dalla specificità di X11.
L'aggiunta graduale del supporto a Wayland in xfwm4 è stata ritenuta inopportuna a causa del rischio di compromettere la stabilità e di introdurre nuovi errori durante il processo di refactoring. È risultato più semplice mantenere xfwm4 legato a X11 e sviluppare parallelamente un nuovo compositore un server per Wayland. Come motivi si cita anche l'impossibilità di adattare alcuni concetti di gestione delle finestre di X11 a Wayland e la necessità di utilizzare il linguaggio C e la libreria wlroots nel caso di continuazione dello sviluppo di xfwm4, nonostante l'esistenza di migliori alternative.
Xfwl4 sarà sviluppato sopra la libreria Smithay, che fornisce un'implementazione di quasi tutte le estensioni ufficiali del protocollo Wayland, nonché dei protocolli wlroots e KDE. Smithay è utilizzato in progetti come Cosmic e Niri. Analogamente a wlroots, la libreria Smithay offre astrazioni di alto livello, ma consente anche di intervenire nei sistemi a basso livello e di adattare alle proprie esigenze i metodi di output grafico, il lavoro con i dispositivi di input, il comportamento dei protocolli Wayland e la gestione delle attività relative alla costruzione del desktop. Il linguaggio Rust è stato scelto per rendere più difficile l'introduzione di errori nella gestione della memoria e per ridurre la probabilità di problemi che portano a crash.
Fonte: opennet.ru
