Dostupný Wayland 1.26

Po čtyřech měsících vývoje byl představen stabilní vydání protokolu, mechanismu meziprocesní komunikace a knihoven Wayland 1.26. Větev 1.26 je zpětně kompatibilní na úrovni API a ABI s vydáními 1.x a zahrnuje převážně opravy chyb a drobné aktualizace protokolu. Vývoj projektu je šířen pod licencí MIT. Referenční kompozitní server Weston, který poskytuje kód a pracovní příklady pro využití Wayland v desktopových prostředích a embedded řešeních, se vyvíjí v rámci samostatného vývojového cyklu.

Hlavní změny v protokolu:

  • Byla přidána událost wl_pointer.warp, prostřednictvím které je možné získávat oznámení o nové pozici ukazatele bez zpracování události wl_pointer.motion generované při aktivitě uživatele.
  • Byl přidán požadavek wl_fixes.ack_global_remove, určený k zaslání kompozitnímu správci potvrzení o tom, že klient přestal zpracovávat událost, aby se předešlo stavu závodu při odstraňování globálních událostí. Po obdržení potvrzení od všech klientů může kompozitní správce odstranit s událostí spojeného zpracovatele na své straně.
  • Byla přidána funkce wl_display_remove_socket_fd() pro odstranění soketů, které byly dříve přidány pomocí volání wl_display_add_socket_fd().
  • V režimu ladění WAYLAND_DEBUG je zajištěn výstup do logu s časem ve formátu „HH:MM:ss.xxxxxx“, což usnadňuje analýzu a porovnávání logů.

Rozšíření protokolu přidané po posledním vydání Wayland, která doplňují základní protokol Wayland a jsou dodávána v samostatném souboru Wayland-Protocols:

  • xx-fractional-scale — pro škálování systému logických souřadnic, jehož hodnoty jsou definovány celými čísly, pro zvýšení přesnosti umístění a zvýšení rozlišení logických souřadnic na jednotlivé pixely. Tato možnost řeší problém s omezeným rozlišením systému logických souřadnic, které není dostatečné pro umístění na úrovni jednotlivých pixelů, což je nezbytné pro plné provedení zlomeného škálování.
  • xx-cutouts — pro získání informací o výřezech na obrazovce (například oblasti pod přední kamerou na obrazovce smartphonu).
  • xx-zones — pro vytváření a přidání oken vyšší úrovně do „zón“ — prostředí s vlastním prostorem souřadnic. Protokol umožňuje organizovat logické rozmístění oken, kde každé okno je umístěno vzhledem k jinému oknu.
  • xx-keyboard-filter — pro zachytávání vybraných událostí klávesnice klientem, úpravy událostí vstupu nebo blokování přenosu určitých událostí do Wayland povrchu, na kterém je aktivní fokus vstupu.
  • Do kategorie „staging“ byl přidán protokol xdg-session-management, který poskytuje možnosti obnovy stavu a pozice oken přerušeného sezení v prostředích založených na protokolu Wayland, například po havarijním ukončení kompozitního serveru nebo aplikace.
  • Do protokolu «linux-dmabuf» byla přidána podpora práce na systémech s více GPU. Na takových systémech může klient dohodnout s kompozitními serverem který GPU by měl být použit.
  • Do protokolu color-management-v1 byla přidána podpora metadat obrázků ve formátu BT.2100 pro použití v kompozitních serveru specifických zpracovatelích, které umožňují správně zobrazit HDR obsah vytvořený pro Windows.

Nejvýznamnější události spojené s Waylandem, které se odehrály po publikaci posledního vydání:

  • V Cinnamon byla implementována plná podpora Waylandu.
  • Do knihovny ANGLE, používané v Chrome a Androidu, byla přidána podpora Waylandu.
  • V KDE byla při použití Waylandu implementována podpora obnovy sezení a byl realizován Wayland-protokol xx-fractional-scale-v2 pro zlomkové škálování.
  • Byl vytvořen port X.Org ovladače Synaptics pro prostředí na bázi Waylandu.
  • Byla zahájena kontrola připravenosti platforem VFX a animace na výměnu X11 za Wayland.
  • Bylo zahájeno testování kompozitního serveru Xfwl4 od projektu Xfce.
  • Na základě Wayfire a Libadwaita byla znovu vytvořena uživatelská vrstva Unity.
  • Byly aktualizovány kompozitní servery a desktopová prostředí: COSMIC 1.3.0, Weston 16, Phosh 0.56, Nourish 1.0.0, miracle-wm 0.10, KDE Plasma 6.7, labwc 0.20, Sway 1.2, Wayland Maker 0.8, Hyprland 0.55, Niri 26.04, LXQt 2.4.0, Cage 0.3.

Připomeňme, že Wayland je protokol pro interakci kompozitního serveru a aplikací, které s ním pracují. Klienti vykreslují svá okna sami v odděleném vyrovnávacím rámečku a předávají informace o aktualizacích kompozitnímu 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 bezpečnostních problémů X11 v X.Org Server, 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é neumožňuje zachycení událostí vstupu souvisejících s jinými okny (v XLibre XServer je implementováno X11 rozšíření Xnamespace, které zajišťuje izolaci klientů prostřednictvím oddělení na úrovni jmenných prostorů). Podpora přímé spolupráce s Waylandem je zajiště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

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster