AprÚs huit mois de développement, une version stable du protocole, du mécanisme de communication inter-processus et des bibliothÚques Wayland 1.25 est présentée. La branche 1.25 est rétro-compatible au niveau API et ABI avec les versions 1.x et contient principalement des corrections de bogues et de mises à jour mineures du protocole. Les travaux du projet sont distribués sous la licence MIT. Le serveur composite de référence Weston, fournissant le code et des exemples de travail pour utiliser Wayland dans des environnements de bureau et des solutions intégrées, se développe dans le cadre d'un cycle de développement séparé.
Les principales modifications du protocole :
- La documentation a été convertie du format DocBook en mdBook (Markdown).
- Le dialecte XML de Wayland, le modÚle de mise à jour de contenu et les capacités de gestion des couleurs sont entiÚrement documentés.
- Un nouvel attribut « frozen » a été ajouté pour les interfaces avec plusieurs interfaces parentes.
- Une nouvelle requĂȘte wl_surface.get_release a Ă©tĂ© ajoutĂ©e pour obtenir une notification de libĂ©ration du tampon attachĂ© par le client via wl_surface.attach. Contrairement Ă wl_buffer.release, dans wl_surface.get_release, la notification est liĂ©e Ă un moment spĂ©cifique du rendu.
- Une fonction wl_display_dispatch_pending_single() a été ajoutée, permettant de retirer de la file d'attente des événements et de traiter un seul événement, plutÎt que tous les événements accumulés, comme le fait wl_display_dispatch_pending().
- La coloration du débogage WAYLAND_DEBUG a été mise en place.
Les extensions de protocoles ajoutées depuis la version 1.25 de Wayland complÚtent le protocole de base et sont fournies dans un ensemble distinct de Wayland-Protocols :
- xx-input-method â permet aux applications de mettre en Ćuvre des mĂ©thodes de saisie de texte pour les compositeurs serveurs et de former le texte saisi, ce qui peut ĂȘtre utilisĂ©, par exemple, pour crĂ©er des claviers virtuels et des couches IME (Ă©diteur de mĂ©thode d'entrĂ©e) pour gĂ©rer la saisie.
- xx-text-input â permet aux serveurs composites de mettre en Ćuvre des mĂ©thodes de saisie et dâenvoyer du texte aux applications. Le protocole standardise l'interaction entre le compositeur serveur et les applications, et permet de gĂ©rer des fonctionnalitĂ©s telles que la transmission du texte saisi, le traitement des Ă©vĂ©nements de changement de focus d'entrĂ©e et la prise en compte des spĂ©cificitĂ©s des champs de saisie (langue, sĂ©lection de texte, type de contenu).
- Les protocoles color-management-v1 et color-representation-v1 ont été améliorés, offrant des capacités de gestion des couleurs, de prise en charge de la HDR et de définition de la représentation des couleurs de la surface Wayland.
Les événements les plus marquants liés à Wayland qui se sont produits depuis la publication du précédent numéro :
- Dans GNOME 50, le support de X11 a Ă©tĂ© supprimĂ©. Dans KDE Plasma 6.8, la dĂ©cision a Ă©tĂ© prise d'arrĂȘter le support de X11.
- JetBrains convertit l'IDE IntelliJ pour utiliser Wayland par défaut.
- Xfce a annoncé le serveur composite Xfwl4, utilisant Wayland.
- L'environnement de bureau Budgie 10.10 a été migré vers Wayland.
- QNX Developer Desktop basé sur Wayland.
- Marathon OS â un systĂšme d'exploitation mobile basĂ© sur Wayland.
- Publication de Wayback, une couche pour exécuter des bureaux X11 en utilisant des composants Wayland.
- Dans Cinnamon, une option a été ajoutée pour installer des fichiers de session pour Wayland et la possibilité de changer la disposition du clavier en utilisant Wayland.
- Dans le pilote wine, le support du presse-papiers, des mĂ©thodes d'entrĂ©e, des fenĂȘtres non rectangulaires et de la transparence a Ă©tĂ© implĂ©mentĂ© lors de l'utilisation d'environnements basĂ©s sur Wayland.
- Dans Cairo-Dock, le support de Wayland a été ajouté.
- Mise Ă jour des serveurs composites : Weston 15.0, River 0.4.0, Hyprland 0.54, labwc 0.9.4, Niri 25.11, miracle-wm 0.8, Wayfire 0.10, wlmaker 0.6, labwc 0.9.0.
Rappelons que Wayland est un protocole d'interaction entre le compositeur de serveurs et les applications qui y travaillent. Les clients effectuent eux-mĂȘmes le rendu de leurs fenĂȘtres dans un tampon sĂ©parĂ©, transmettant les informations sur les mises Ă jour au compositeur. serveur, qui combine le contenu des buffers des applications individuelles pour gĂ©nĂ©rer une sortie finale en tenant compte de nuances possibles telles que le chevauchement des fenĂȘtres et la transparence. En d'autres termes, un serveur composite ne fournit pas d'API pour le rendu d'Ă©lĂ©ments individuels, mais ne gĂšre que les fenĂȘtres dĂ©jĂ formĂ©es, ce qui permet d'Ă©liminer la double mise en mĂ©moire tampon lors de l'utilisation de bibliothĂšques de haut niveau telles que GTK et Qt, qui prennent en charge la composition du contenu des fenĂȘtres.
Wayland rĂ©sout de nombreux problĂšmes de sĂ©curitĂ© liĂ©s Ă X11, car contrairement Ă ce dernier, il isole les entrĂ©es et sorties pour chaque fenĂȘtre, n'autorise pas un client Ă accĂ©der au contenu des fenĂȘtres d'autres clients, et empĂȘche la capture d'Ă©vĂ©nements d'entrĂ©e liĂ©s Ă d'autres fenĂȘtres. Le support du travail direct avec Wayland a Ă©tĂ© intĂ©grĂ© pour la plupart des bibliothĂšques graphiques utilisĂ©es dans Linux, y compris GTK, Qt, SDL, FLTK, wxWidgets, Clutter et EFL (Enlightenment Foundation Library).
L'interaction avec le matériel sous Wayland/Weston, par exemple, l'initialisation, le changement de modes vidéo (drm modesetting) et la gestion de la mémoire (GEM pour i915 et TTM pour radeon et nouveau) des cartes graphiques, peut se faire directement via un module fonctionnant au niveau du noyau, ce qui permet de se passer de privilÚges superutilisateur. Pour permettre l'exécution d'applications X11 standard dans un environnement basé sur Wayland, un composant DDX appelé XWayland (Device-Dependent X), similaire à Xwin et Xquartz pour les plateformes Win32 et macOS, est utilisé.


Source : opennet.ru
