Bola zverejnená vydanie balíka wayland-protocols 1.31, ktorý obsahuje súbor protokolov a rozšírení, dopĺňajúcich schopnosti základného protokolu Wayland a poskytujúcich funkcie potrebné na vytváranie kompozitných serverov a používateľských prostredí.
Všetky protokoly prechádzajú postupne tromi fázami — vývojom, testovaním a stabilizáciou. Po skončení fázy vývoja (kategória „unstable“) je protokol zaradený do vetvy „staging“ a oficiálne zahrnutý do balíka wayland-protocols, a po ukončení testovania je presunutý do kategórie stabilných. Protokoly z kategórie „staging“ sa už dajú použiť v kompozičných serveroch a klientoch, kde je potrebná s nimi spojitá funkcionalita. Na rozdiel od kategórie „unstable“ je v „staging“ zakázané vykonávať zmeny, ktoré narušujú kompatibilitu, avšak v prípade zistenia problémov a nedostatkov počas testovania nie je vylúčené nahradiť ich novou, významnou verziou protokolu alebo iným rozšírením Wayland.
Nová verzia bola zverejnená týždeň po vydaní Wayland-Protocols 1.30, v ktorom bola pridaná podpora protokolu tearing-control na deaktiváciu vertikálnej synchronizácie. Vo verzii 1.31 bol do kategórie „staging“ pridaný protokol fractional-scale, ktorý umožňuje kompozitnému manažérovi prenášať necelé hodnoty škálovania povrchov, čo umožňuje klientovi určiť presnejšiu veľkosť búferov pre objekty wp_viewport, v porovnaní s prenášaním zaokrúhlených údajov o škále. Implementácie protokolu fractional-scale sú pripravené pre wlroots, KWin a glfw.
V súčasnosti obsahuje wayland-protocols nasledujúce stabilné protokoly, ktoré zaisťujú spätnú kompatibilitu:
- viewporter“ — umožňuje klientovi vykonávať akcie ako zmenšovanie a orezávanie okrajov povrchu na strane servera.
- „presentation-time“ — zabezpečuje zobrazenie videa.
- „xdg-shell“ — rozhranie na vytváranie a interakciu s povrchmi ako s oknami, čo umožňuje ich presúvanie na obrazovke, minimalizovanie, maximalizovanie, zmenu veľkosti atď.
Protokoly, ktoré sú testované vo vetve „staging“:
- drm-lease — poskytuje zdroje potrebné na vytvorenie stereoscénického obrazu s rôznymi buframi pre ľavé a pravé oko pri výstupe na virtuálne helmy.
- „ext-session-lock“ — definuje prostriedky na zamknutie relácie, napríklad počas aktivity ochrany obrazovky alebo zobrazenia autentifikačného dialógu.
- „single-pixel-buffer“ — umožňuje vytvárať jednopixelové buffery, ktoré obsahujú štyri 32-bitové hodnoty RGBA.
- „xdg-activation“ — umožňuje preniesť fokus medzi rôznymi povrchmi prvej úrovne (napríklad pomocou xdg-activation môže jedna aplikácia prepnúť fokus na inú).
- content-type — umožňuje klientom prenášať kompozitnému serveru informácie o zobrazovanom obsahu, ktoré môžu byť použité na optimalizáciu správania s ohľadom na obsah, napríklad nastavení špecifických vlastností DRM, ako je „content type“. Bola potvrdená podpora nasledujúcich typov obsahu: none (bez informácií o type dát), photo (výstup digitálnych fotografií, ktorý vyžaduje minimálne spracovanie), video (video alebo animácia, vyžaduje presnejšiu synchronizáciu, aby sa predišlo trhaniu) a game (spúšťanie hier, vyžaduje výstup s minimálnou latenciou).
- ext-idle-notify — umožňuje kompozitným serverom prenášať klientom upozornenia o nečinnosti používateľa, čo môže byť využité na aktiváciu dodatočných režimov úspory energie po určitom čase nečinnosti.
- tearing-control — umožňuje vypnúť vertikálne synchronizovanie (VSync) s impulzom na potlačenie snímkov v aplikáciách na celú obrazovku, čo sa používa na ochranu pred roztrhnutím (tearing) pri zobrazovaní. V multimediálnych aplikáciách sa objavovanie artefaktov z roztrhnutia považuje za nežiaduci efekt, avšak v herných programoch sa s artefaktmi dá vyrovnať, ak ich potlačenie vedie k dodatočným oneskoreniam.
Protokoly, ktoré sa vyvíjajú v pobočke „unstable“:
- „fullscreen-shell“ – riadenie práce v režime celej obrazovky.
- „input-method“ – spracovanie metód vstupu.
- „idle-inhibit“ – blokovanie spustenia screensaveru (uzamknutie obrazovky).
- „input-timestamps“ – časové pečiatky pre udalosti vstupu.
- „keyboard-shortcuts-inhibit“ – správa pripojenie klávesových kombinácií a klávesových skratiek.
- «linux-dmabuf» — zdieľanie viacerých grafických kariet pomocou technológie dma-buf.
- „linux-explicit-synchronization“ – špecifický pre Linux mechanizmus synchronizácie búferov vzhľadom na povrch.
- „pointer-gestures“ – správa z dotykových obrazoviek.
- „pointer constraints“ – obmedzenia ukazovateľov (blokovanie).
- „primary-selection“ – analogicky s X11 zabezpečuje prácu primárneho schránkového systému (primary selection), vkladanie informácií z ktorého sa obvykle vykonáva stredným tlačidlom myši.
- „relative pointer events“ – relatívne udalosti ukazovateľov.
- «tablet» — podpora vstupu z tabletov.
- „text-input“ – organizácia vkladania textu.
- „xdg-foreign“ – rozhranie interakcie so „susednými“ povrchmi klienta.
- „xdg-decoration“ – vykresľovanie dekorácií okien na strane servera.
- „xdg-output“ – dodatočné informácie o videovýstupe (používa sa na zlomkové priblíženie).
- „xwayland-keyboard-grab“ – uchopenie vstupu v aplikáciách XWayland.
Zdroj: opennet.ru
