Publication de Wayland-Protocols 1.41 avec support de gestion des couleurs et HDR

La version 1.41 du paquet wayland-protocols a été publiée, contenant un ensemble de protocoles et d'extensions qui complÚtent le protocole de base Wayland et fournissent les fonctionnalités nécessaires à la construction de serveurs composites et d'environnements utilisateurs.

Dans cette nouvelle version, le protocole de gestion des couleurs, dĂ©veloppĂ© depuis 2014, a Ă©tĂ© ajoutĂ© Ă  la catĂ©gorie « staging ». Il offre des fonctionnalitĂ©s pour la gestion des couleurs et prend en charge la plage dynamique Ă©tendue des luminositĂ©s (HDR, High Dynamic Range). GrĂące Ă  l'extension ajoutĂ©e, les applications clientes peuvent obtenir des informations sur les propriĂ©tĂ©s liĂ©es Ă  la restitution des couleurs des dispositifs de sortie et transmettre au serveur composite des donnĂ©es concernant les propriĂ©tĂ©s de transmission des couleurs de leur propre contenu. Dans le compositeur, le serveur ces informations peuvent ĂȘtre utilisĂ©es pour une gestion automatique des couleurs lors de l'affichage de contenus sur diffĂ©rents dispositifs de sortie, par exemple, pour convertir le contenu de maniĂšre appropriĂ©e pour l'affichage sur des moniteurs HDR. Des profils ICC sont utilisĂ©s pour dĂ©crire les espaces colorimĂ©triques.

Actuellement, le jeu de protocoles wayland-protocols comprend les protocoles stables suivants, qui assurent la compatibilité ascendante :

  • « 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 des surfaces en tant que fenĂȘtres, permettant de les dĂ©placer sur l'Ă©cran, de les minimiser, de les maximiser, de redimensionner, etc.
  • «linux-dmabuf» – fournit des capacitĂ©s pour crĂ©er des wl_buffer sur la base de 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 au serveur composite des donnĂ©es sur le contenu affichĂ©, qui peuvent ĂȘtre utilisĂ©es pour optimiser le comportement en fonction du contenu, par exemple, en dĂ©finissant des propriĂ©tĂ©s DRM spĂ©cifiques telles que le « content type ». Le support des types de contenu suivants a Ă©tĂ© annoncĂ© : none (pas d'informations sur le type de donnĂ©es), photo (affichage de photos numĂ©riques nĂ©cessitant un traitement minimal), video (vidĂ©os ou animations, nĂ©cessitant une synchronisation plus prĂ©cise pour Ă©viter les ralentissements) et game (lancement de jeux, nĂ©cessitant une sortie avec un minimum de latence).
  • 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» – destinĂ© Ă  la crĂ©ation de sessions indĂ©pendantes temporaires, adaptĂ©es Ă  une utilisation 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.
  • xdg-toplevel-icon — liaison d'une icĂŽne Ă  une fenĂȘtre de niveau supĂ©rieur.
  • ext-image-capture-source et ext-image-copy-capture — organisation de la capture de contenu affichĂ© Ă  l'Ă©cran.
  • xdg-system-bell — permet de gĂ©nĂ©rer un signal systĂšme qui peut ĂȘtre utilisĂ©, par exemple, comme alerte dans les Ă©mulateurs de terminal. La forme de sortie du signal est laissĂ©e Ă  la discrĂ©tion du gestionnaire de composition, cela peut ĂȘtre non seulement un son, mais aussi une rĂ©ponse visuelle.
  • fifo — met en Ɠuvre un mĂ©canisme FIFO (premier arrivĂ©, premier parti) pour le traitement de la file d'attente de mise Ă  jour du contenu de la surface affichĂ©e. D'un point de vue pratique, le protocole permet d'utiliser l'attente de la fin du dĂ©calage vertical (vblank) au lieu d'appels de rappel Ă  chaque fois qu'il est prĂȘt Ă  afficher un nouveau cadre, ce qui rĂ©sout le problĂšme d'une charge GPU Ă©levĂ©e en utilisant VSync.
  • commit-timing — permet d'associer une limite de temps au contenu d'une surface (le serveur composite doit afficher la modification du contenu dans la mesure du possible aprĂšs le temps indiquĂ©, mais pas avant).
  • ext-data-control — permet aux clients privilĂ©giĂ©s de gĂ©rer le traitement des donnĂ©es, par exemple, pour la mise en Ɠuvre de gestionnaires de presse-papiers.
  • ext-workspace — met en Ɠuvre le concept des bureaux virtuels et propose des Ă©vĂ©nements contenant des informations sur l'Ă©tat des bureaux, ainsi que des possibilitĂ©s d'activation et de dĂ©sactivation des bureaux. Le protocole peut ĂȘtre utilisĂ© pour crĂ©er des panneaux et des indicateurs affichant la liste des bureaux virtuels disponibles et permettant de naviguer entre eux.

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.

Tous les protocoles passent successivement par les phases de dĂ©veloppement, de test et de stabilisation. Une fois la phase de dĂ©veloppement terminĂ©e (catĂ©gorie « unstable »), le protocole est placĂ© dans la branche « staging » et est officiellement intĂ©grĂ© Ă  l'ensemble des wayland-protocols ; aprĂšs la fin des tests, il est dĂ©placĂ© dans la catĂ©gorie stable. Les protocoles de la catĂ©gorie « staging » peuvent dĂ©jĂ  ĂȘtre utilisĂ©s dans les serveurs composites et les clients oĂč la fonctionnalitĂ© associĂ©e est requise. Contrairement Ă  la catĂ©gorie « unstable », les changements qui compromettent la compatibilitĂ© sont interdits dans « staging », mais en cas de problĂšmes et de lacunes identifiĂ©s lors des tests, le remplacement par une nouvelle version significative du protocole ou une autre extension Wayland n'est pas exclu.

Pour faciliter la fourniture des protocoles aux dĂ©veloppeurs et encourager leur mise en Ɠuvre prĂ©coce dans des projets existants, depuis la version prĂ©cĂ©dente, une phase « expĂ©rimentale » a Ă©tĂ© ajoutĂ©e, permettant des changements qui compromettent la compatibilitĂ© et l'ajout de protocoles « bruts » qui peuvent ĂȘtre progressivement amenĂ©s Ă  un niveau acceptable. Si la constitution d'une Ă©quipe de soutien et l'obtention d'un certain nombre de confirmations (ACK) de la part des participants Ă  la rĂ©vision sont nĂ©cessaires pour qu'un protocole atteigne la phase « staging », il suffit qu'il n'y ait pas d'objections (NACK) pendant une pĂ©riode de rĂ©vision de deux semaines pour qu'il soit inclus dans « experimental ».

Source : opennet.ru

Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS đŸ”„ Acheter un hĂ©bergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster