S'ha llançat el paquet wayland-protocols 1.35, que conté un conjunt de protocols i extensions que complementen les capacitats del protocol Wayland base i proporcionen les capacitats necessàries per crear servidors compostos i entorns d'usuari.
Tots els protocols passen seqüencialment per tres fases: desenvolupament, proves i estabilització. Després de completar l'etapa de desenvolupament (la categoria "inestable"), el protocol es col·loca a la branca "escenificació" i s'inclou oficialment al conjunt de protocols de wayland, i un cop finalitzada la prova, es trasllada a la categoria estable. Els protocols de la categoria "escenificació" ja es poden utilitzar en servidors i clients compostos on es requereix una funcionalitat relacionada. A diferència de la categoria "inestable", la "escenificació" prohibeix fer canvis que infringeixin la compatibilitat, però si s'identifiquen problemes i deficiències durant les proves, no s'exclou la substitució per una nova versió significativa del protocol o una altra extensió de Wayland.
En la nova versió:
- El protocol tablet-v2, que proporciona eines per organitzar l'entrada de les tauletes gràfiques, s'ha transferit a la categoria estable.
- S'ha afegit un nou protocol de modificador alfa a la categoria de "escenificació", que permet als clients canviar el nivell de transparència superficial i subcontractar les operacions de transparència al servidor compost, que al seu torn pot reenviar aquestes operacions a KMS.
- S'ha afegit una recomanació al protocol xdg-shell per no mostrar la decoració fora dels límits geomètrics de la finestra quan s'utilitza un disseny de finestra enrajolat.
Actualment, wayland-protocols inclou els següents protocols estables, que proporcionen compatibilitat enrere:
- "viewporter": permet al client dur a terme accions d'escala i retallades de la superfície al costat del servidor.
- "presentation-time": proporciona visualització de vídeo.
- “xdg-shell” és una interfície per crear i interactuar amb superfícies com a finestres, que permet moure-les per la pantalla, minimitzar, ampliar, canviar la mida, etc.
- “linux-dmabuf”: proporciona la compartició de diverses targetes de vídeo utilitzant la tecnologia DMA-BUF (us permet crear un wl_buffer basat en DMA-BUF).
- "tauleta" - organització de l'entrada de tauletes gràfiques.
Protocols provats a la branca “escenificació”:
- drm-lease: proporciona els recursos necessaris per generar una imatge estèreo amb diferents buffers per als ulls esquerre i dret quan s'emet a auriculars de realitat virtual.
- "ext-session-lock" - defineix un mitjà per bloquejar una sessió, per exemple, mentre s'està executant l'estalvi de pantalla o es mostra el diàleg d'autenticació.
- "single-pixel-buffer": us permet crear memòries intermèdies d'un sol píxel que inclouen quatre valors RGBA de 32 bits.
- "xdg-activation" - us permet transferir el focus entre diferents superfícies de primer nivell (per exemple, amb l'activació xdg, una aplicació pot canviar el focus a una altra).
- tipus de contingut: permet als clients passar contingut compost servidor Informació sobre el contingut que es mostra que es pot utilitzar per optimitzar el comportament en funció del contingut, com ara la configuració de propietats DRM específiques com ara "tipus de contingut". Es declara compatibilitat amb els següents tipus de contingut: cap (no hi ha informació sobre el tipus de dades), foto (sortida de fotos digitals que requereix un processament mínim), vídeo (vídeo o animació, que requereix una sincronització més precisa per evitar entrebancs) i joc (inici del joc, que requereix una sortida amb una latència mínima).
- ext-idle-notify: permet als servidors compostos enviar notificacions als clients sobre la inactivitat de l'usuari, que es poden utilitzar per activar modes d'estalvi d'energia addicionals després d'un cert temps d'inactivitat.
- tearing-control: us permet desactivar la sincronització vertical (VSync) amb un pols d'amortiment vertical en aplicacions de pantalla completa, que s'utilitza per protegir contra el trencament de la sortida. A les aplicacions multimèdia, els artefactes a causa del trencament són un efecte no desitjat, però en els programes de jocs, els artefactes es poden tolerar si tractar-los provoca retards addicionals.
- ext-foreign-toplevel-list: recupera informació sobre superfícies col·locades al nivell superior, que us permeten organitzar finestres per acoblar-les a un altre contingut, per exemple, per adjuntar els vostres propis panells i interruptors de finestres.
- context de seguretat: us permet identificar clients mitjançant l'aïllament de sandbox. Un client pot registrar una nova connexió a un servidor compost basat en Wayland i adjuntar-hi un context de seguretat, després del qual el gestor compost limitarà les capacitats disponibles per a la connexió establerta en funció del context de seguretat especificat.
- La forma del cursor és una forma alternativa de personalitzar l'aparença del cursor, basant-se en passar una sèrie d'imatges del cursor en lloc d'enganxar-se a una superfície (wl_surface).
- "ext-transient-seat" està dissenyat per crear sessions independents temporals (seients) dissenyades per al seu ús amb dispositius d'entrada virtuals. Per exemple, quan s'implementa la capacitat de connectar-se a escriptori remot El protocol permet crear una sessió separada amb un teclat i un ratolí virtuals per a cada usuari.
- "xdg-toplevel-drag": amplia el mecanisme d'"arrossegar i deixar anar" amb la possibilitat d'adjuntar finestres de nivell superior a una operació d'arrossegament, que es pot utilitzar, per exemple, per organitzar l'arrossegament de barres d'eines o pestanyes del navegador amb el ratolí. El nou protocol permet crear parts desmuntables d'una finestra que, quan s'arrosseguen des d'aquesta finestra, es converteixen en finestres noves i es poden moure a sobre de la finestra existent abans de tornar-les a adjuntar.
- "xdg-dialog" - us permet assignar atributs específics del diàleg a les superfícies de nivell superior, per exemple, podeu crear diàlegs modals que bloquegen la interacció de l'usuari amb la resta de la interfície.
- "linux-drm-syncobj": proporciona eines per sincronitzar explícitament els buffers mitjançant objectes de sincronització DRM (Direct Rendering Manager). Se suposa que en el context de la sincronització quan es dibuixa a una memòria intermèdia, el protocol proposat millorarà el treball amb controladors basats en les API de gràfics Vulkan i OpenGL (la implementació es basa en els controladors dels controladors). El nou protocol permet assegurar-se que una operació de renderització a un buffer s'hagi completat abans que el gestor de compostos renderitzi el buffer.
Protocols que s'estan desenvolupant a la branca "instable":
- "fullscreen-shell" - control del treball en mode de pantalla completa.
- "input-method" - mètodes d'entrada de processament.
- "idle-inhibit": bloqueja l'inici de l'estalvi de pantalla (salvapantalles).
- "input-timestamps" - marques de temps per a esdeveniments d'entrada.
- "keyboard-shortcuts-inhibit": controla la connexió de tecles de drecera i tecles d'accés directe.
- "linux-explicit-synchronization" és un mecanisme específic de Linux per sincronitzar els buffers de superfície.
- "gestos de punter": control des de les pantalles tàctils.
- "restriccions del punter" - restriccions del punter (bloqueig).
- "selecció primària": per analogia amb X11, assegura el funcionament del porta-retalls principal (selecció principal), informació de la qual normalment s'insereix amb el botó central del ratolí.
- "esdeveniments de punter relatiu" - esdeveniments de punter relatius.
- "entrada de text" - organització de l'entrada de text.
- "xdg-foreign" és una interfície per interactuar amb les superfícies del client "veí".
- "xdg-decoration": representa les decoracions de la finestra al costat del servidor.
- "xdg-output": informació addicional sobre la sortida de vídeo (utilitzada per a l'escala fraccionada).
- "xwayland-keyboard-grab" - captura l'entrada a les aplicacions XWayland.
Font: opennet.ru
