Wayland-Protocols 1.31 kiadás

Megjelent a wayland-protocols 1.31 csomag, amely egy sor olyan protokollt és bővítményt tartalmaz, amelyek kiegészítik az alap Wayland protokoll képességeit, és biztosítják az összetett szerverek és felhasználói környezetek építéséhez szükséges képességeket.

Minden protokoll egymás után három szakaszon megy keresztül - fejlesztésen, tesztelésen és stabilizáláson. A fejlesztési szakasz (az „instabil” kategória) befejezése után a protokoll a „staging” ágba kerül, és hivatalosan is bekerül a wayland-protocols készletbe, majd a tesztelés befejezése után a stabil kategóriába kerül. A „staging” kategóriából származó protokollok már használhatók összetett szerverekben és kliensekben, ahol ehhez kapcsolódó funkciókra van szükség. Az „instabil” kategóriától eltérően a „staging” tiltja a kompatibilitást sértő változtatásokat, de ha a tesztelés során problémákat és hiányosságokat észlelnek, nem kizárt a protokoll új, jelentős verziójával vagy más Wayland-kiterjesztéssel való csere.

Az új verzió egy héttel a Wayland-Protocols 1.30 megjelenése után érkezik, amely hozzáadta a szakadásvezérlő protokollt a függőleges szinkronizálás letiltásához. Az 1.31-es verzióban a "staging" kategóriába került a frakcionált léptékű protokoll, amellyel az összetett kezelő nem egész számú felületi skálázási értékeket adhat át, ami lehetővé teszi a kliens számára, hogy pontosabb pufferméretet határozzon meg a wp_viewport objektumokhoz, mint a kerekített skála információ átadása. A tört léptékű protokoll implementációi elkészültek wlroots, KWin és glfw számára.

Jelenleg a wayland-protokollok a következő stabil protokollokat tartalmazzák, amelyek visszafelé kompatibilitást biztosítanak:

  • "viewporter" - lehetővé teszi a kliens számára, hogy méretezési és felületi élvágási műveleteket hajtson végre a szerver oldalon.
  • "bemutató-idő" - videomegjelenítést biztosít.
  • Az „xdg-shell” felületek ablakként való létrehozására és interakciójára szolgáló felület, amely lehetővé teszi a felületek mozgatását a képernyőn, kicsinyítést, bővítést, átméretezést stb.

A „staging” ágban tesztelt protokollok:

  • drm-lease – biztosítja a szükséges erőforrásokat a sztereó kép generálásához különböző pufferekkel a bal és a jobb szem számára a virtuális valóság fejhallgatóira való kimenetkor.
  • "ext-session-lock" - meghatározza a munkamenet zárolásának módját, például a képernyővédő futása vagy a hitelesítési párbeszédpanel megjelenítése közben.
  • "single-pixel-buffer" – lehetővé teszi egy pixeles pufferek létrehozását, amelyek négy 32 bites RGBA értéket tartalmaznak.
  • „xdg-activation” - lehetővé teszi a fókusz átvitelét a különböző első szintű felületek között (például az xdg-aktiválás használatával az egyik alkalmazás átválthat egy másikra).
  • tartalomtípus – Lehetővé teszi az ügyfelek számára, hogy információkat adjanak át a megjelenített tartalomról az összetett szervernek, ami felhasználható a tartalomtudatos viselkedés optimalizálására, például meghatározott DRM-tulajdonságok, például "tartalomtípus" beállítására. A következő tartalomtípusok támogatása deklarált: nincs (nincs információ az adattípusról), fotó (digitális fotók kimenete, minimális feldolgozást igényel), videó (videó vagy animáció, pontosabb szinkronizálás szükséges a dadogás elkerülése érdekében) és játék (indítás) játékok, kimenet minimális késleltetéstől).
  • ext-idle-notify – Lehetővé teszi az összetett szerverek számára, hogy értesítéseket küldjenek a klienseknek a felhasználói inaktivitásról, amely további energiatakarékos módok aktiválására használható bizonyos inaktivitási idő után.
  • szakadásvezérlés - lehetővé teszi a függőleges szinkronizálás (VSync) letiltását függőleges csillapító impulzussal teljes képernyős alkalmazásokban, a kimenet elszakadása elleni védelem érdekében. A multimédiás alkalmazásokban a szakadásból eredő műtermékek nemkívánatos hatást jelentenek, de a játékprogramokban a műtermékek tolerálhatók, ha a velük való foglalkozás további késéseket okoz.

Az „instabil” ágban fejlesztés alatt álló protokollok:

  • „teljes képernyős shell” - a munka vezérlése teljes képernyős módban.
  • "input-method" - beviteli módszerek feldolgozása.
  • „idle-inhibit” - a képernyővédő (képernyővédő) elindításának blokkolása.
  • "input-timestamps" - időbélyegek a bemeneti eseményekhez.
  • "keyboard-shortcuts-inhibit" - vezérli a billentyűparancsok és gyorsbillentyűk csatolását.
  • "linux-dmabuf" - több videokártya megosztása dma-buf technológiával.
  • A "linux-explicit-synchronization" egy Linux-specifikus mechanizmus a felülethez kötött pufferek szinkronizálására.
  • „mutató gesztusok” – vezérlés az érintőképernyőkről.
  • “pointer constraints” - mutató kényszerek (blokkolás).
  • „elsődleges kiválasztás” - az X11-hez hasonlóan biztosítja az elsődleges vágólap működését (elsődleges kiválasztás), amelyből az információkat általában a középső egérgombbal illesztjük be.
  • „relatív mutató események” – relatív mutató események.
  • "táblagép" - táblagépről történő bevitel támogatása.
  • „szövegbevitel” – a szövegbevitel megszervezése.
  • Az „xdg-foreign” egy interfész a „szomszédos” kliens felületeivel való interakcióhoz.
  • "xdg-decoration" - ablakdekorációk megjelenítése a szerver oldalon.
  • "xdg-output" - további információ a videó kimenetről (a töredékes skálázáshoz használatos).
  • "xwayland-keyboard-grab" - rögzítés bemenet az XWayland alkalmazásokban.
  • Forrás: opennet.ru

Hozzászólás