Megjelent a Wayland-Protocols 1.42

Megjelent a wayland-protocols 1.42-es csomag, amely tartalmazza a Wayland alap protokollját kiegészítő protokollok és bővítmények készletét, valamint azokat a funkciókat, amelyek szükségesek a kompozit kiszolgálók és felhasználói környezetek létrehozásához.

A Wayland-Protocols 1.42-es verziójában bemutatásra került a «cursor-shape» protokoll új verziója, amely kibővíti a kurzor megjelenésének formálására vonatkozó lehetőségeket, hozzáadva a kurzorformák támogatását információs jelekkel (kérdőjel) és méretváltoztatási lehetőségekkel. Emellett frissült a «tablet» protokoll verziója is, amely lehetőségeket biztosít a grafikus táblákról érkező bemenetek kezelésére. Az új tablet protokoll verzióban hozzáadták a «bustype» események támogatását, és megvalósították a forgatható vezérlők eseményeinek feldolgozását, a relatív változások átadása érdekében, hasonlóan az egérkerék mozgásának kezeléséhez.

Minden protokoll fokozatosan átmegy a fejlesztési, tesztelési és stabilizálási fázisokon. A fejlesztési fázis befejezését követően (unstable kategória) a protokollt a «staging» ágba helyezik, és hivatalosan is része lesz a wayland-protocols készletnek, majd a tesztelés befejezésével a stabil kategóriába kerül. A «staging» kategóriába tartozó protokollok már alkalmazhatók kompozit szerverekben és kliensekben, ahol a kapcsolódó funkciókra van szükség. Ellentétben az «unstable» kategóriával, a «staging»-ben tilos kompatibilitást sértő változtatásokat végrehajtani, de ha problémák és hiányosságok merülnek fel a tesztelés során, nem zárható ki egy új jelentős verzió vagy más Wayland-bővítmény bevezetése.

A protokollok fejlesztőkhöz való gyorsabb eljuttatása és a protokollok korai megvalósításának ösztönzése érdekében a múltbeli verzió óta hozzáadtak egy «experimental» fázist, amely lehetővé teszi a kompatibilitást sértő változtatásokat és a «nyers» protokollok hozzáadását, amelyeket fokozatosan a megfelelő szintre hozhatnak. Ha a protokollnak a «staging» fázisba való bekerüléséhez támogatói csapatot kell kialakítani, és egy adott számú konszenzust (ACK) kell kapni a bírálóktól, akkor az «experimental» fázisba való bekerüléshez elegendő, ha ezen időszak alatt nemet mondanak (NACK) a bírálóknak.

Jelenleg a wayland-protocols csomag több stabil protokollt tartalmaz, amelyek biztosítják a visszamenőleges kompatibilitást:

  • „viewporter” – lehetővé teszi a kliens számára, hogy méretezési és felületi vágási műveleteket végezzen a szerver oldalon.
  • "presentation-time" — a videók megjelenítését biztosítja.
  • "xdg-shell" — olyan felületek létrehozásának és interakciójának interfésze, mint az ablakok, lehetővé téve azok mozgatását a képernyőn, minimalizálását, maximalizálását, átméretezését stb.
  • "linux-dmabuf" — lehetőséget ad wl_buffer-ek létrehozására DMA-BUF alapján.
  • "tablet" — a grafikus táblagépek bevitelének szervezése.

A "staging" ágon tesztelt protokollok:

  • drm-lease — biztosítja a szükséges forrásokat a sztereó kép megjelenítéséhez különböző pufferekkel a bal és jobb szem számára virtuális valóság sisakos kijelzőkhöz.
  • "ext-session-lock" — a munkamenetek lezárásának eszközeit határozza meg, például a képernyővédő működése vagy a hitelesítési párbeszéd megjelenítése alatt.
  • "single-pixel-buffer" — lehetővé teszi egypixeles pufferek létrehozását, amelyek négy 32 bites RGBA értéket tartalmaznak.
  • "xdg-activation" — lehetővé teszi a fókusz átadását különböző első szintű felületek között (például az xdg-activation révén egy alkalmazás fókuszt válthat át egy másikra).
  • content-type — lehetővé teszi az ügyfelek számára, hogy közöljék a kompozit szerverrel az adott tartalomról szóló információkat, amelyeket a viselkedés optimalizálásához használnak, figyelembe véve a tartalmat, például specifikus DRM-jellemzők beállításához, mint például a "content type". A következő tartalomtípusok támogatása bejelentett: none (nincs adat a típusról), photo (digitális fényképek megjelenítése, minimális feldolgozást igényel), video (videó vagy animáció, pontosabb szinkronizálás szükséges, hogy elkerüljük akadozást) és game (játékok indítása, minimális késleltetéssel történő megjelenítést igényel).
  • ext-idle-notify — lehetővé teszi a kompozit szerverek számára, hogy értesítéseket küldjenek az ügyfeleknek a felhasználói inaktivitásról, amit energia-megtakarítási módok aktiválására lehet használni bizonyos idő elteltével történő inaktivitás után.
  • tearing-control — lehetővé teszi a vertikális szinkronizálás (VSync) kikapcsolását a teljes képernyős alkalmazásokban, amelyet a megjelenési szakadások (tearing) elleni védelem érdekében alkalmaznak. A multimédiás alkalmazásokban a szakadások miatti artefaktumok nem kívánt hatások, de a játékprogramokban az artefaktumokkal együtt is lehet élni, ha a számukra folytatott küzdelem további késéseket okoz.
  • ext-foreign-toplevel-list — információk beszerzése a legmagasabb szinten elhelyezkedő felületekről (toplevel), amelyek lehetővé teszik az ablakok más tartalom fölé történő rögzítését, például saját panelek és ablakváltók csatlakoztatásához.
  • security-context — lehetővé teszi a sandbox-izolációt használó kliensek azonosítását. A kliens új kapcsolatot regisztrálhat a Wayland alapú kompozit szerverhez, és csatolhat hozzá egy biztonsági kontextust, amely alapján a megadott biztonsági kontextus szerint a kompozit kezelő korlátozza a beállított kapcsolat által elérhető lehetőségeket.
  • cursor-shape — alternatív módja a kurzor megjelenésének testreszabásának, amely a kurzorképek sorozatának átvitelén alapul a wl_surface-hez való kötés helyett.
  • «ext-transient-seat» — ideiglenes, független ülések (seat) létrehozására szolgáló eszköz, amelyet virtuális bemeneti eszközökkel együtt lehet használni. Például távoli asztali kapcsolat megvalósításakor a protokoll lehetővé teszi, hogy minden felhasználó számára külön ülést hozzanak létre virtuális billentyűzettel és egérrel.
  • «xdg-toplevel-drag» — kiterjeszti a ''drag & drop'' mechanizmust azzal, hogy a legfelső szintű ablakokat a mozgatási művelethez lehet csatolni, amely például az eszköztárak vagy böngészőfülek egérrel való áthúzását segíthet megvalósítani. Az új protokoll lehetővé teszi a leválasztható ablakrészek létrehozását, amelyek a mozgatás során új ablakokká válnak, és meglévő ablakok fölött mozgathatók, mielőtt újból csatlakoznának.
  • «xdg-dialog» — a legfelső szintű felületek számára dialógus ablakokra jellemző tulajdonságok beállítását teszi lehetővé, például létrehozhatók modalitású dialógusok, amelyek blokkolják a felhasználó interakcióját a felhasználói felület többi részével.
  • A «linux-drm-syncobj» — eszközöket biztosít a puffer explicit szinkronizálásához a DRM (Direct Rendering Manager) szinkronizáló objektumok használatával. Feltételezhető, hogy a buffer-be történő renderelés szinkronizálása során a javasolt protokoll javítja a Vulkan és OpenGL grafikus API alapú illesztőprogramokkal való együttműködést (a megvalósítás az illesztőprogramok kezelőire épül). Az új protokoll lehetőséget ad arra, hogy biztosak legyünk benne, hogy a buffer-be történő renderelési művelet befejeződött, mielőtt a kompozit menedzser megjelenítené ezt a buffert.
  • alpha-modifier, lehetővé téve az ügyfelek számára a felület átlátszósági szintjének megváltoztatását, valamint az átlátszósági műveletek átkonvertálását a kompozit szerver oldalára, amely viszont ezeket a műveleteket a KMS-hez irányíthatja.
  • xdg-toplevel-icon — ikonnak az ablakhoz való kötése.
  • ext-image-capture-source és ext-image-copy-capture — a képernyőn megjelenített tartalom rögzítésének szervezése.
  • xdg-system-bell — lehetőséget ad a rendszerjelzés megjelenítésére, amely például figyelmeztetésként használható terminálemulátorban. A jelzés megjelenítési módját a kompozit menedzser határozza meg, ez lehet nemcsak hang, hanem vizuális reakció is.
  • fifo — megvalósítja a FIFO-mmechanizmust (elsőként érkezett — elsőként távozott) a megjelenített felület tartalmának frissítési sorának feldolgozásához. Gyakorlati szempontból a protokoll lehetővé teszi a függőleges kiigazítás (vblank) befejezésére való várakozást a frissítési értesítések helyett, ami megoldja a GPU túlterhelésének problémáját VSync használatakor.
  • commit-timing — lehetővé teszi, hogy időkorlátot rendeljünk a felület tartalmához (a kompozit szervernek meg kell jelenítenie a tartalomváltozást lehetőleg az előírt időn belül, de korábban nem).
  • ext-data-control — lehetővé teszi a privilegizált ügyfelek számára az adatok feldolgozásának kezelését, például vágólapkezelők megvalósításához.
  • ext-workspace — megvalósítja a koncepciót vagy azok képernyőre történő áthelyezésére az egérrel való húzással a drag&drop módban. Új funkcióként bevezetésre került a virtuális asztalok rögzítése, amely lehetővé teszi a szükséges számú asztal nyitva tartását, függetlenül attól, hogy üresek-e vagy sem. és eseményeket kínál az asztalok állapotának információjával, valamint lehetőségeket biztosít az asztalok aktiválására és deaktiválására. A protokoll alkalmazható panelek és mutatók létrehozására, amelyek listázzák az elérhető virtuális asztalokat, és lehetővé teszik a közötti váltást.
  • A színgazdálkodás lehetőségeket biztosít a színek irányítására és a széles dinamikatartományú (HDR, High Dynamic Range) fényerő támogatására. Az hozzáadott kiterjesztéssel az ügyféles alkalmazások információt kaphatnak a színvisszaadással kapcsolatos kimeneti eszközök tulajdonságairól, és adatokat küldhetnek a kompozit szervernek a saját tartalmuk színvisszaadási jellemzőiről. A kompozitban szerveren ez az információ automatikusan felhasználható a színvezérléshez különböző kimeneti eszközökön való tartalom megjelenítésekor, például a tartalom HDR-monitorokhoz való megjelenítésre való átkonvertálására. A színtérképek leírásához ICC-profilt használnak.

Az "unstable" ágon fejlesztett protokollok:

  • "fullscreen-shell" – a teljes képernyős működés vezérlése.
  • "input-method" – a bevitel kezelése.
  • "idle-inhibit" – a képernyővédő elindításának blokkolása.
  • "input-timestamps" – időbélyegek bevitel eseményekhez.
  • "keyboard-shortcuts-inhibit" – a billentyűkombinációk és gyorsgombok rögzítésének kezelése.
  • "linux-explicit-synchronization" – Linux-specifikus mechanizmus a puffer szinkronizálásához a felülethez kapcsolódóan.
  • "pointer-gestures" – kezelése érintőképernyőkről.
  • "pointer constraints" – mutató korlátozások (blokkolás).
  • "primary-selection" – az X11-hez hasonlóan biztosítja az elsődleges vágólap működését, amelyből az információt általában a középső egérgombbal lehet beszúrni.
  • "relative pointer events" – relatív mutató események.
  • "text-input" – a szövegbevitel szervezése.
  • "xdg-foreign" – interfész a "szomszédos" kliens felületeivel való interakcióhoz.
  • "xdg-decoration" – az ablakok díszítésének megrajzolása a szerver oldalán.
  • "xdg-output" – további információk a videokimenetről (használható az arányos skálázáshoz).
  • "xwayland-keyboard-grab" – a bevitel megfogása XWayland alkalmazásokban.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster