Po osmi měsících vývoje byl představen stabilní vydání protokolu, mechanismu meziprocesové komunikace a knihoven Wayland 1.25. Verze 1.25 je zpětně kompatibilní na úrovni API a ABI s vydáními 1.x a obsahuje především opravy chyb a drobná vylepšení protokolu. Vývoj projektu je šířen pod licencí MIT. Referenční kompoziční server Weston, který poskytuje kód a pracovní příklady pro využití Wayland v desktopových prostředích a vestavěných řešeních, se rozvíjí v rámci samostatného vývojového cyklu.
Hlavní změny v protokolu:
- Dokumentace byla převedena z formátu DocBook do mdBook (Markdown).
- Byly plně zdokumentovány dialekt Wayland XML, model aktualizace obsahu a možnosti pro správu barev.
- Byl přidán nový atribut „frozen“ pro rozhraní s více rodičovskými rozhraními.
- Byl přidán nový požadavek wl_surface.get_release pro získání oznámení o uvolnění bufferu připojeného klientem prostřednictvím wl_surface.attach. Na rozdíl od wl_buffer.release v wl_surface.get_release je oznámení vázáno na konkrétní okamžik vykreslení.
- Byla přidána funkce wl_display_dispatch_pending_single(), která umožňuje vyjmout z fronty událostí a zpracovat pouze jednu událost, nikoli všechny nahromaděné události, jak to dělá wl_display_dispatch_pending().
- Bylo zajištěno barevné zvýraznění ladicího výstupu WAYLAND_DEBUG.
Rozšíření protokolů přidaná od vydání Wayland 1.25, která doplňují základní protokol Wayland a jsou dodávána v samostatném balíčku Wayland-Protocols:
- xx-input-method — umožňuje aplikacím realizovat metody vstupu textu pro kompozitní. servery a vytvářet zadaný text, což může být například použito pro vytváření virtuálních klávesnic a IME vrstev (Editor Metody Vstupu) pro zpracování vstupu.
- xx-text-input — umožňuje kompozitním serverům implementovat metody vstupu a posílat text do aplikací. Protokol standardizuje interakci mezi kompozity serverem a aplikacemi a umožňuje řídit takové funkce, jako je přenos zadaného textu, zpracování událostí ohledně změny zaměření vstupu a zohlednění specifikací vstupních polí (jazyk, zvýraznění textu, typ obsahu).
- Protokoly color-management-v1 a color-representation-v1 byly vylepšeny, což poskytuje možnosti pro správu barev, podporu HDR a definici barevného zobrazení Waylandové plochy.
Nejvýznamnější události spojené s Waylandem, které se odehrály od vydání minulého vydání:
- V GNOME 50 byla odstraněna podpora X11. V KDE Plasma 6.8 bylo rozhodnuto ukončit podporu X11.
- JetBrains převádí IDE IntelliJ na používání Wayland jako výchozího.
- Xfce oznámilo kompoziční server Xfwl4, který používá Wayland.
- Desktopové prostředí Budgie 10.10 bylo převedeno na Wayland.
- QNX Developer Desktop založený na Wayland.
- Marathon OS — mobilní operační systém založený na Wayland.
- Vydání Wayback, meziprocesu pro spuštění desktopů X11, za použití komponentů Wayland.
- V Cinnamon byla přidána volitelná možnost instalace sezení pro Wayland a implementována možnost přepínání rozložení klávesnice při používání Wayland.
- V ovladači wine pro prostředí založená na Wayland byla implementována podpora clipboardu, vstupních metod, nepravoúhlých oken a průhlednosti.
- V Cairo-Dock byla přidána podpora Wayland.
- Aktualizace kompozitních serverů: Weston 15.0, River 0.4.0, Hyprland 0.54, labwc 0.9.4, Niri 25.11, miracle-wm 0.8, Wayfire 0.10, wlmaker 0.6, labwc 0.9.0.
Připomeňme, že Wayland je protokol pro interakci kompozitorů serveru a aplikací, které s ním pracují. Klienti provádějí vykreslování svých oken v samostatném bufferu, přičemž předávají informace o aktualizacích kompozitoru. serveru, který kombinuje obsah vyrovnávacích rámců jednotlivých aplikací tak, aby vytvořil konečný výstup s ohledem na možné nuance, jako je překrývání oken a průhlednost. Jinými slovy, kompozitní server neposkytuje API pro vykreslování jednotlivých prvků, ale pracuje pouze s již vytvořenými okny, což umožňuje zbavit se dvojitého vyrovnání při použití vysoceúrovňových knihoven, jako je GTK a Qt, které se ujímají práce na uspořádání obsahu oken.
Wayland řeší mnoho problémů se zabezpečením X11, protože na rozdíl od posledního izoluje vstup a výstup pro každé okno, neumožňuje klientovi přístup k obsahu oken jiných klientů a také nedovoluje zachytávání událostí vstupu souvisejících s jinými okny. Podpora přímé práce s Waylandem je implementována pro většinu používaných grafických knihoven v Linuxu, včetně GTK, Qt, SDL, FLTK, wxWidgets, Clutter a EFL (Enlightenment Foundation Library).
Interakce s hardwarem v Waylandu/Westonu, například provádění inicializace, přepínání video módů (drm modesetting) a správa paměti (GEM pro i915 a TTM pro radeon a nouveau) grafických karet, může být prováděna přímo prostřednictvím modulu pracujícího na úrovni jádra, což umožňuje obejít se bez privilegií superuživatele. Pro zajištění fungování běžných aplikací X11 v prostředí založeném na Waylandu se používá komponent DDX XWayland (Device-Dependent X), který má podobnou organizaci práce jako Xwin a Xquartz pro platformy Win32 a macOS.


Zdroj: opennet.ru
