- L’équipe Xfce a dévoilé son projet de développer un nouveau compositeur basé sur Wayland, « xfwl4 », sous la direction du développeur clé Brian Tarricone grâce aux dons de la communauté
- L’objectif est d’offrir les mêmes fonctionnalités et la même expérience utilisateur que xfwm4, en réutilisant la boîte de dialogue de configuration et la configuration xfconf afin d’assurer une transition continue
- Écrit entièrement comme une nouvelle base de code sur Rust et le framework smithay, il offre une meilleure sûreté mémoire ainsi qu’un pipeline graphique et d’entrée personnalisable
- Le périmètre du projet inclut des changements dans l’architecture de gestion de session, la prise en charge de XWayland et de xdg-session-management, ainsi que l’amélioration du système de build CI
- Il s’agit d’un investissement clé pour la transition de Xfce vers Wayland, avec une première release de développement prévue dans l’année
Le nouveau projet de compositeur Wayland de Xfce
- L’équipe Xfce a lancé le développement de son nouveau compositeur Wayland « xfwl4 » grâce aux dons de la communauté
- Le développement est assuré par Brian Tarricone, contributeur central de longue date
- Une part importante des fonds du projet sera consacrée à ce développement
- L’objectif est de reproduire les mêmes fonctionnalités et le même comportement que xfwm4 dans un environnement Wayland
- La boîte de dialogue de configuration de xfwm4 et les réglages xfconf seront réutilisés tels quels pour préserver la cohérence de l’expérience utilisateur
- xfwl4 ne repose pas sur le code existant de xfwm4 et sera entièrement réécrit en Rust
- Il sera construit sur la bibliothèque smithay
Pourquoi choisir une réécriture plutôt que la réutilisation du code existant
- Au départ, l’idée était de modifier le code de xfwm4 pour prendre en charge à la fois X11 et Wayland, mais cette approche a finalement été jugée inadaptée pour plusieurs raisons
- L’architecture de xfwm4 est fortement dépendante de X11, ce qui rend difficile l’implémentation d’interfaces généralisées
- Un refactoring ferait peser un risque élevé d’introduire des bugs côté X11
- Il existe des concepts X11 non pris en charge par Wayland, ce qui compliquerait la maintenance du code
- Réutiliser le code existant obligerait à dépendre du langage C et de wlroots
- Développer une base de code séparée permet de préserver la stabilité de xfwm4 tout en menant en parallèle un développement expérimental pour Wayland
Pourquoi smithay a été choisi
- Brian Tarricone a évalué wlroots et smithay avant de retenir smithay
- smithay prend en charge la plupart des extensions officielles du protocole Wayland ainsi que les protocoles wlroots et KDE
- L’absence d’abstractions de haut niveau permet un contrôle fin du pipeline graphique et d’entrée
- La documentation est de grande qualité et l’usage de Rust réduit les risques de bugs mémoire et de crashs
- Le développeur préfère Rust
- wlroots étant écrit en C, écrire des bindings Rust y est difficile
Périmètre du projet et défis techniques
- En plus de l’alignement fonctionnel avec xfwm4, le projet inclut les points suivants
- Dans un environnement Wayland, le compositeur doit devenir la racine de la session, ce qui nécessite de modifier l’architecture de démarrage de session
- Ajout de la prise en charge du protocole xdg-session-management
- Intégration de XWayland
- Mise à niveau du système de build de conteneurs CI vers une base meson capable de compiler du code Rust
- Brian Tarricone a déjà commencé le développement, et une première release de développement est prévue dans l’année
Communauté et soutien
- Le projet a été rendu possible grâce aux dons des soutiens Open Collective US et EU
- L’avancement du développement et les détails techniques sont consultables via les tickets xfwl4 sur GitLab et le dépôt du code source
- Les questions liées au projet peuvent être adressées via le canal Matrix #xfce-dev
Aucun commentaire pour le moment.