Wayland-Protocols 1.36 kiadás

Megjelent a wayland-protocols 1.36 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 a kompozit 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óban:

  • Az xdg-toplevel-icon protokoll hozzáadásra került a „staging” kategóriához, amely egy ikont a legfelső szintű ablakhoz köt.
  • Az ext-image-capture-source és az ext-image-copy-capture protokollok a „staging” kategóriába kerültek a képernyőn megjelenő tartalom rögzítésének megszervezésére.

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.
  • „linux-dmabuf” - több videokártya megosztását biztosítja DMA-BUF technológiával (lehetővé teszi a DMA-BUF alapú wl_buffer létrehozását).
  • "táblagép" - grafikus táblák bevitelének megszervezése.

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).
  • content-type – lehetővé teszi az ügyfelek számára az összetett objektumok átadását szerver Információk a megjelenített tartalomról, amelyek felhasználhatók a tartalomérzékeny viselkedés optimalizálására, például bizonyos DRM-tulajdonságok, például a „tartalomtípus” beállítására. A következő tartalomtípusok támogatása deklarált: nincs (nincs adattípus-információ), fotó (minimális feldolgozást igénylő digitális fotókimenet), videó (videó vagy animáció, amely pontosabb szinkronizálást igényel az akadozás elkerülése érdekében), és játék (játékindítás, minimális késleltetésű kimenetet igényel).
  • 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.
  • ext-foreign-toplevel-list – Információkat kér le a legfelső szinten elhelyezett felületekről, amelyek lehetővé teszik az ablakok rendszerezését, hogy más tartalom fölé dokkoljanak, például saját panelek és ablakkapcsolók csatlakoztatásához.
  • biztonsági kontextus – lehetővé teszi az ügyfelek azonosítását a sandbox izoláció segítségével. A kliens regisztrálhat egy új kapcsolatot egy Wayland-alapú összetett kiszolgálóhoz, és biztonsági környezetet csatolhat hozzá, majd az összetett menedzser korlátozza a létrehozott kapcsolat számára elérhető képességeket a megadott biztonsági kontextus alapján.
  • A cursor Shape egy alternatív módja a kurzor megjelenésének testreszabásának, amely a kurzorképek sorozatának átadásán alapul, ahelyett, hogy egy felületre illesztené (wl_surface).
  • Az „ext-transient-seat” ideiglenes, független munkamenetek (ülések) létrehozására szolgál, amelyeket virtuális bemeneti eszközökkel való használatra terveztek. Például, amikor a következőhöz való csatlakozás lehetőségét valósítják meg: távoli asztal A protokoll lehetővé teszi minden felhasználó számára külön munkamenet létrehozását virtuális billentyűzettel és egérrel.
  • "xdg-toplevel-drag" - kiterjeszti a "drag & drop" mechanizmust a legfelső szintű ablakok húzási művelethez való csatolásának lehetőségével, amely felhasználható például eszköztárak vagy böngészőlapok egérrel való húzásának megszervezésére. Az új protokoll lehetővé teszi egy ablak leválasztható részeinek létrehozását, amelyek az ablakból való kihúzáskor új ablakokká válnak, és áthelyezhetők a meglévő ablak tetejére, mielőtt újra csatolnák őket.
  • "xdg-dialog" - lehetővé teszi párbeszédpanel-specifikus attribútumok hozzárendelését a legfelső szintű felületekhez, például olyan modális párbeszédpaneleket hozhat létre, amelyek blokkolják a felhasználói interakciót a felület többi részével.
  • "linux-drm-syncobj" – Eszközöket biztosít a pufferek explicit szinkronizálásához DRM (Direct Rendering Manager) szinkronizálási objektumok használatával. Feltételezhető, hogy a pufferbe való rajzoláskor végzett szinkronizálással összefüggésben a javasolt protokoll javítani fogja a Vulkan és OpenGL grafikus API-kon alapuló illesztőprogramokkal való munkát (a megvalósítás az illesztőprogramokban lévő kezelőkön alapul). Az új protokoll lehetővé teszi annak biztosítását, hogy a pufferbe történő megjelenítési művelet befejeződjön, mielőtt az összetett kezelő megjeleníti a puffert.
  • alfa-módosító, amely lehetővé teszi az ügyfelek számára, hogy módosítsák a felület átláthatóságának szintjét, és a műveletek átvitelét biztosítsák az átláthatóság biztosítása érdekében az összetett szerver oldalára, amely viszont átirányíthatja ezeket a műveleteket a KMS-re.

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.
  • 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.
  • „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