La version 1.36 du package wayland-protocols a été publiée, contenant un ensemble de protocoles et d'extensions qui complÚtent les fonctionnalités du protocole Wayland de base et fournissent les capacité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 xdg-toplevel-icon a Ă©tĂ© ajoutĂ© Ă la catĂ©gorie « staging », destinĂ© Ă lier une icĂŽne Ă une fenĂȘtre de niveau supĂ©rieur.
- Les protocoles ext-image-capture-source et ext-image-copy-capture ont été ajoutés à la catégorie « staging » pour organiser la capture du contenu affiché à l'écran.
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.
- « linux-dmabuf » â permet le partage de plusieurs cartes graphiques grĂące Ă la technologie DMA-BUF (permet de crĂ©er un wl_buffer basĂ© sur DMA-BUF).
- «tablet» â organisation de l'entrĂ©e Ă partir de tablettes graphiques.
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).
- «ext-transient-seat» â conçu pour crĂ©er des sessions temporaires indĂ©pendantes (seat), destinĂ©es Ă ĂȘtre utilisĂ©es avec des dispositifs d'entrĂ©e virtuels. 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.
- «xdg-toplevel-drag» â Ă©tend le mĂ©canisme «glisser-dĂ©poser» avec la possibilitĂ© d'attacher des fenĂȘtres de niveau supĂ©rieur Ă une opĂ©ration de dĂ©placement, ce qui peut ĂȘtre utilisĂ©, par exemple, pour organiser le glissement de panneaux d'outils ou d'onglets de navigateur. Le nouveau protocole permet de crĂ©er des parties dĂ©tachables de la fenĂȘtre, qui, lorsqu'elles sont glissĂ©es hors de cette fenĂȘtre, deviennent de nouvelles fenĂȘtres et peuvent ĂȘtre dĂ©placĂ©es au-dessus d'une fenĂȘtre existante avant d'ĂȘtre reconnectĂ©es.
- «xdg-dialog» â permet d'attribuer des caractĂ©ristiques spĂ©cifiques aux fenĂȘtres de niveau supĂ©rieur, par exemple, il est possible de crĂ©er des dialogues modaux qui bloquent l'interaction de l'utilisateur avec le reste de l'interface.
- « linux-drm-syncobj » â fournit des outils pour la synchronisation explicite des buffers Ă l'aide d'objets de synchronisation DRM (Direct Rendering Manager). Il est supposĂ© que dans le contexte de la synchronisation lors du rendu dans le buffer, le protocole proposĂ© permettra d'amĂ©liorer le fonctionnement avec les pilotes basĂ©s sur les APIs graphiques Vulkan et OpenGL (la rĂ©alisation est basĂ©e sur des gestionnaires dans les pilotes). Le nouveau protocole permet de s'assurer que l'opĂ©ration de rendu dans le buffer est terminĂ©e avant que le gestionnaire composite n'affiche ce buffer.
- alpha-modifier, permettant aux clients de modifier le niveau de transparence de la surface et de déplacer les opérations de gestion de la transparence vers le serveur composite, qui peut ensuite rediriger ces opérations vers KMS.
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.
- «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
