S'ha llançat el paquet wayland-protocols 1.31, 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.
La nova versió arriba una setmana després del llançament de Wayland-Protocols 1.30, que va afegir suport per al protocol de control de trencament per desactivar la sincronització vertical. A la versió 1.31, el protocol d'escala fraccional es va afegir a la categoria "escenificació", amb la qual el gestor de compostos pot passar valors d'escala de superfície no enters, cosa que permet al client determinar una mida més precisa dels buffers per als objectes wp_viewport, en comparació amb passant informació a escala arrodonida. S'han preparat implementacions del protocol d'escala fraccional per a wlroots, KWin i glfw.
Actualment, wayland-protocols inclou els següents protocols estables, que proporcionen compatibilitat enrere:
- viewporter" - permet al client realitzar accions d'escalat i retall de les vores de la superfície al lateral 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.
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.
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-dmabuf": compartició de diverses targetes de vídeo utilitzant la tecnologia dma-buf.
- "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.
- "tablet" - suport per a l'entrada de tauletes.
- "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
