AprÚs six mois de développement, la version 1.33 du paquet wayland-protocols a été publiée, comprenant un ensemble de protocoles et d'extensions qui complÚtent les capacités du protocole de base Wayland et fournissent les fonctionnalités nécessaires à la construction de serveurs composites et d'environnements utilisateur.
Tous les protocoles passent par trois phases successives : dĂ©veloppement, test et stabilisation. AprĂšs la phase de dĂ©veloppement (catĂ©gorie « unstable »), le protocole est placĂ© dans la branche « staging » et est officiellement inclus dans l'ensemble des wayland-protocols. Une fois les tests terminĂ©s, il est dĂ©placĂ© dans la catĂ©gorie stable. Les protocoles de la catĂ©gorie « staging » peuvent dĂ©jĂ ĂȘtre utilisĂ©s dans des serveurs composites et des clients oĂč les fonctionnalitĂ©s associĂ©es sont nĂ©cessaires. Contrairement Ă la catĂ©gorie « unstable », des modifications qui compromettent la compatibilitĂ© sont interdites dans « staging », mais en cas de problĂšmes et de lacunes identifiĂ©s lors des tests, un remplacement par une nouvelle version significative du protocole ou une autre extension Wayland n'est pas exclu.
Dans la nouvelle version, le protocole « linux-dmabuf », permettant le partage de plusieurs cartes graphiques via la technologie DMA-BUF (qui permet de crĂ©er un wl_buffer basĂ© sur DMA-BUF), a Ă©tĂ© dĂ©placĂ© dans la catĂ©gorie stable. Un nouveau protocole « ext-transient-seat » a Ă©tĂ© ajoutĂ©, placĂ© dans la catĂ©gorie « staging ». Ce nouveau protocole peut ĂȘtre utilisĂ© pour crĂ©er des sessions temporaires indĂ©pendantes (seat), destinĂ©es Ă ĂȘtre utilisĂ©es avec des pĂ©riphĂ©riques d'entrĂ©e virtuels, mis en Ćuvre via les protocoles « virtual_keyboard_unstable_v1 » et « wlr_virtual_pointer_unstable_v1 ». Par exemple, lors de la mise en Ćuvre de la possibilitĂ© de connexion Ă un bureau distant le protocole permet de crĂ©er une session distincte pour chaque utilisateur avec un clavier et une souris virtuels.
Actuellement, l'ensemble des wayland-protocols comprend les protocoles stables suivants, garantissant la rétrocompatibilité :
- « viewporter » â permet au client d'effectuer des actions de mise Ă l'Ă©chelle et de rognage des bords de la surface cĂŽtĂ© serveur.
- « presentation-time » â assure l'affichage de la vidĂ©o.
- « xdg-shell » â interface de crĂ©ation et d'interaction avec les surfaces en tant que fenĂȘtres, permettant de les dĂ©placer Ă l'Ă©cran, de les minimiser, de les agrandir, de redimensionner, etc.
Protocoles testés dans la branche « staging » :
- drm-lease â fournit les ressources nĂ©cessaires pour crĂ©er une image stĂ©rĂ©o avec des tampons diffĂ©rents pour l'Ćil gauche et l'Ćil droit lors de l'affichage sur des casques de rĂ©alitĂ© virtuelle.
- «ext-session-lock» â dĂ©finit les moyens de verrouillage de session, par exemple, lors de l'utilisation d'un Ă©conomiseur d'Ă©cran ou lors de l'affichage d'une boĂźte de dialogue d'authentification.
- «single-pixel-buffer» â permet de crĂ©er des tampons de un pixel comprenant quatre valeurs 32 bits RGBA.
- «xdg-activation» â permet de transfĂ©rer le focus entre diffĂ©rentes surfaces de niveau supĂ©rieur (par exemple, avec xdg-activation, une application peut dĂ©placer le focus sur une autre).
- content-type â permet aux clients de transmettre des informations sur le contenu affichĂ©, qui peuvent ĂȘtre utilisĂ©es pour optimiser le comportement en fonction du contenu, par exemple, pour dĂ©finir des propriĂ©tĂ©s DRM spĂ©cifiques telles que «content type». Les types de contenu suivants sont pris en charge : none (aucune information sur le type de donnĂ©es), photo (affichage de photos numĂ©riques nĂ©cessitant un minimum de traitement), video (vidĂ©o ou animation nĂ©cessitant une synchronisation plus prĂ©cise pour Ă©viter les saccades) et game (exĂ©cution de jeux nĂ©cessitant un affichage avec un retard minimal). serveur ext-idle-notify â permet aux serveurs de composition de transmettre aux clients des notifications d'inactivitĂ© de l'utilisateur, ce qui peut ĂȘtre utilisĂ© pour activer des modes d'Ă©conomie d'Ă©nergie supplĂ©mentaires aprĂšs une certaine pĂ©riode d'inactivitĂ©.
- tearing-control â permet de dĂ©sactiver la synchronisation verticale (VSync) dans les applications en plein Ă©cran avec une impulsion de suppression de frame, utilisĂ©e pour Ă©viter les dĂ©chirements lors de l'affichage. Dans les applications multimĂ©dias, l'apparition d'artefacts causĂ©s par le tearing est un effet indĂ©sirable, mais dans les programmes de jeux, la prĂ©sence d'artefacts peut ĂȘtre tolĂ©rĂ©e si la lutte contre ceux-ci entraĂźne des retards supplĂ©mentaires.
- ext-foreign-toplevel-list â obtention d'informations sur les surfaces placĂ©es au niveau supĂ©rieur, permettant d'organiser le maintien des fenĂȘtres au-dessus d'un autre contenu, par exemple pour connecter des panneaux et des commutateurs propres.
- ext-foreign-toplevel-list â obtention d'informations sur les surfaces placĂ©es au niveau supĂ©rieur, permettant d'organiser le maintien des fenĂȘtres au-dessus d'un autre contenu, par exemple pour connecter des panneaux et des commutateurs propres.
- security-context â permet d'identifier les clients utilisant l'isolation sandbox. Le client peut enregistrer une nouvelle connexion au serveur composite basĂ© sur Wayland et y attacher un contexte de sĂ©curitĂ©, aprĂšs quoi, conformĂ©ment au contexte de sĂ©curitĂ© spĂ©cifiĂ©, le gestionnaire de composition restreindra les capacitĂ©s disponibles pour la connexion Ă©tablie.
- cursor-shape â une mĂ©thode alternative de configuration de l'apparence du curseur, basĂ©e sur la transmission d'une sĂ©rie d'images de curseur au lieu d'une liaison Ă la surface (wl_surface).
Protocoles en cours de développement dans la branche «unstable»:
- «fullscreen-shell» â gestion du mode plein Ă©cran.
- «input-method» â traitement des mĂ©thodes d'entrĂ©e.
- «idle-inhibit» â dĂ©sactivation du lancement de l'Ă©conomiseur d'Ă©cran.
- «input-timestamps» â horodatages pour les Ă©vĂ©nements d'entrĂ©e.
- «keyboard-shortcuts-inhibit» â gestion de l'attachement des combinaisons de touches et des raccourcis clavier.
- «linux-explicit-synchronization» â mĂ©canisme de synchronisation des tampons spĂ©cifique Ă Linux liĂ© Ă la surface.
- «pointer-gestures» â contrĂŽle des gestes des Ă©crans tactiles.
- «pointer constraints» â contraintes des pointeurs (blocage).
- «primary-selection» â de maniĂšre similaire Ă X11, fournit un fonctionnement du tampon de sĂ©lection primaire, dont l'insertion d'informations se fait gĂ©nĂ©ralement par le bouton central de la souris.
- «relative pointer events» â Ă©vĂ©nements de pointeur relatifs.
- «tablet» â prise en charge de l'entrĂ©e depuis les tablettes.
- «text-input» â gestion de l'entrĂ©e de texte.
- «xdg-foreign» â interface d'interaction avec les surfaces du client «voisin».
- «xdg-decoration» â rendu des dĂ©corations des fenĂȘtres cĂŽtĂ© serveur.
- «xdg-output» â informations supplĂ©mentaires sur la sortie vidĂ©o (utilisĂ©e pour le zoom fractionnĂ©).
- «xwayland-keyboard-grab» â capture de l'entrĂ©e dans les applications XWayland.
Source : opennet.ru
