Po půl roce vývoje byla vydána verze balíčku wayland-protocols 1.33, obsahující sadu protokolů a rozšíření, která doplňují schopnosti základního protokolu Wayland a poskytují funkce nezbytné pro vytváření kompozitních serverů a uživatelských prostředí.
Všechny protokoly procházejí třemi fázemi — vývoje, testování a stabilizace. Po dokončení vývojové fáze (kategorie „unstable“) je protokol přesunut do větve „staging“ a oficiálně zahrnut do sady wayland-protocols, a po dokončení testování je přesunut do kategorie stabilních. Protokoly v kategorii „staging“ lze již použít v kompozitních serverech a klientech, kde je požadována související funkčnost. Na rozdíl od kategorie „unstable“ je v „staging“ zakázáno provádět změny, které narušují kompatibilitu, ale v případě zjištění problémů a nedostatků během testování nelze vyloučit výměnu za novou významnou verzi protokolu nebo jiného Wayland-rozšíření.
V nové verzi byl převeden do kategorie stabilních protokol „linux-dmabuf“, který umožňuje sdílení více grafických karet pomocí technologie DMA-BUF (umožňuje vytvořit wl_buffer na základě DMA-BUF). Přidán nový protokol „ext-transient-seat“, který byl zařazen do kategorie „staging“. Nový protokol může být použit pro vytváření dočasných nezávislých sezení (seat), navržených pro použití ve spojení s virtuálními vstupními zařízeními, realizovanými pomocí protokolů „virtual_keyboard_unstable_v1“ a „wlr_virtual_pointer_unstable_v1“. Například při implementaci funkce připojení k vzdálené ploše protokol umožňuje vytvořit pro každého uživatele samostatné sezení s virtuální klávesnicí a myší.
V současné době zahrnuje sada wayland-protocols následující stabilní protokoly, které zajišťují zpětnou kompatibilitu:
- "viewporter" — umožňuje klientovi provádět akce ohledně měnění velikosti a ořezávání okrajů plochy na straně serveru.
- „presentation-time“ — zajišťuje zobrazení videa.
- „xdg-shell“ — rozhraní pro vytváření a interakci s plochami jako okny, což umožňuje jejich přesouvání po obrazovce, minimalizaci, maximalizaci, změnu velikosti atd.
Protokoly testované ve větvi „staging“:
- drm-lease — poskytuje prostředky potřebné k vytvoření stereofonního obrazu s různými vyrovnávacími paměťmi pro levé a pravé oko při výstupu na virtuální brýle.
- „ext-session-lock“ — určuje prostředky pro blokaci sezení, například během činnosti spořiče obrazovky nebo zobrazení dialogu pro autentifikaci.
- „single-pixel-buffer“ — umožňuje vytvářet jednopixelové vyrovnávací paměti obsahující čtyři 32bitové hodnoty RGBA.
- „xdg-activation“ — umožňuje přenést fokus mezi různými plochami první úrovně (např. pomocí xdg-activation může jedna aplikace přepnout fokus na jinou).
- content-type — umožňuje klientům předat kompozitnímu serveru informace o zobrazovaném obsahu, které mohou být využity k optimalizaci chování s ohledem na obsah, například k nastavení specifických DRM vlastností, jako je „content type. Byla deklarována podpora následujících typů obsahu: none (žádné informace o typu dat), photo (výstup digitálních fotografií, vyžadující minimální zpracování), video (video nebo animace, vyžadující přesnější synchronizaci, aby se vyloučila trhání) a game (spouštění her, vyžadující výstup s minimální latencí).
- ext-idle-notify — dává možnost kompozitním serverům předávat klientům oznámení o neaktivitě uživatele, což může být využito k aktivaci dalších režimů úspor energie po určité době neaktivity.
- tearing-control — umožňuje vypnout vertikální synchronizaci (VSync) s rámcovým hlemýžděm ve fullscreen aplikacích, používanou k ochraně proti trhání při vykreslování. V multimediálních aplikacích je výskyt artefaktů z trhání nežádoucím efektem, ale v herních programech lze s artefakty smířit, pokud boj proti nim přináší dodatečné zpoždění.
- ext-foreign-toplevel-list — získání informací o površích umístěných na nejvyšší úrovni (toplevel), které umožňují organizovat uchycení oken nad jiným obsahem, například pro připojení vlastních panelů a přepínačů oken.
- security-context — umožňuje identifikaci klientů využívajících sandboxovou izolaci. Klient může zaregistrovat nové připojení k kompozitnímu serveru založenému na Waylandu a připojit k němu bezpečnostní kontext, po kterém kompoziční správce podle zadaného bezpečnostního kontextu omezí možnosti dostupné pro ustanovené spojení.
- cursor-shape — alternativní způsob nastavení vzhledu kurzoru, založený na posílání série obrazů kurzoru místo vazby na povrch (wl_surface).
Protokoly vyvíjené ve větvi „unstable“:
- „fullscreen-shell“ — správa provozu v režimu celé obrazovky.
- „input-method“ — zpracování metod vkládání.
- „idle-inhibit“ — blokace spuštění spořiče obrazovky.
- „input-timestamps“ — časové značky pro události vstupu.
- „keyboard-shortcuts-inhibit“ — správa přiřazení klávesových zkratek a horkých kláves.
- „linux-explicit-synchronization“ — specifický pro Linux mechanismus synchronizace vyrovnávacích pamětí vázaný na plochu.
- „pointer-gestures“ — správa příkazů z dotykových obrazovek.
- „pointer constraints“ — omezení ukazatelů (blokace).
- „primary-selection“ — analogicky k X11 zajišťuje funkčnost primární schránky (primary selection), jejíž informace se obvykle vkládají prostředními tlačítky myši.
- „relative pointer events“ — relativní události ukazatelů.
- „tablet“ — podpora vstupu z tabletů.
- „text-input“ — organizace textového vkládání.
- „xdg-foreign“ — rozhraní pro interakci s plochami „sousedního“ klienta.
- „xdg-decoration“ — vykreslování dekorací oken na straně serveru.
- „xdg-output“ — další informace o video výstupu (používá se pro zlomkové škálování).
- „xwayland-keyboard-grab“ — zachycení vstupu v aplikacích XWayland.
Zdroj: opennet.ru
