Wayland 1.24 je k dispozici

Po 13 měsících vývoje byl uveden stabilní vydání protokolu, mechanismu mezi procesního vzájemného působení a knihoven Wayland 1.24. Větev 1.24 je zpětně kompatibilní na úrovni API a ABI s vydáními 1.x a obsahuje převážně opravy chyb a drobná vylepšení protokolu. Vývoj projektu je distribuován pod licencí MIT. Referenční kompoziční server Weston poskytuje kód a pracovní příklady pro použití Waylandu v desktopových prostředích a vestavěných řešeních, vyvíjí se v rámci samostatného vývojového cyklu.

Hlavní změny v protokolu:

  • Byl zaveden rozhraní wl_fixes, které umožňuje řešit problémy s jinými softwarovými rozhraními základních protokolů, které nemohou být vyřešeny vlastními možnostmi těchto rozhraní. Například dotaz „wl_fixes::destroy_registry“ umožňuje zrušit objekt wl_registry, po jehož likvidaci klient již nebude moci používat a kompoziční server ukončí přenos událostí přes něj.
  • V rozhraní wl_keyboard::key bylo implementováno pseudostav „repeated“, což označuje stav klávesy v stisknutém stavu. Klávesa může být převedena do stavu „repeated“ pouze po přechodu do stavu „pressed“, ale před dosažením stavu „released“. S novým stavem spojené události mohou být generovány vícekrát, dokud je klávesa stisknuta. Změna umožňuje kompozičním serverům zpracovávat opakovaná stisknutí při držení kláves jako samostatná stání, a ne jen jako proud opakovaných událostí stisknutí („pressed“), což může být užitečné pro organizaci práce s odpojenou plochou.
  • Byly přidány funkce wl_display_dispatch_queue_timeout() a wl_display_dispatch_timeout() pro spravování událostí v řadě s ohledem na časový limit (funkce wl_display_dispatch a wl_display_dispatch_queue vrací 0 pouze při absenci událostí, zatímco varianty *_timeout také při překročení časového limitu).
  • Byly přidány funkce wl_shm_buffer_ref() a wl_shm_buffer_unref() pro přístup k sdílené paměti spojené s buferem wl_shm_buffer po jeho zrušení (například když klient ukončuje činnost). Funkce umožňují odpojit buffer wl_shm_buffer od doby života hlavního zdroje wl_buffer, když kompoziční server potřebuje odložit přechod k novému stavu.
  • Byly přidány funkce wl_proxy_get_interface() a wl_resource_get_interface(), které vracejí wl_interface pro zadaný zdroj, což je požadováno v obalových vrstvách pro jazyky s dynamickým typováním.
  • Byla přidána funkce wl_resource_post_error_vargs(), která je alternativou k funkci wl_resource_post_error() s možností předat seznam argumentů pro formátování řetězce (va_list).

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

  • Zlepšení podpory Waylandu v proprietárních grafikách NVIDIA.
  • KDE plánuje ponechat pouze podporu Waylandu. Oddělení kódu kwin_x11 a kwin_wayland.
  • Ubuntu a Kubuntu ponechají pouze podporu sezení Waylandu v GNOME a KDE.
  • V GDM zůstala jako výchozí pouze podpora Waylandu.
  • GTK převedlo backend pro X11 do kategorie zastaralých.
  • Ve Fedoře 43 bylo rozhodnuto odstranit z repozitáře balíčky, které se používají v GNOME pro práci nad X-serverem. Všichni uživatelé GNOME s X11 budou nuceni přejít na sezení založené na Waylandu.
  • V desktopovém prostředí Budgie bude ponechána pouze podpora Waylandu.
  • V Xfce 4.20 byla implementována částečná podpora Waylandu.
  • MATE 1.28 s experimentální podporou Waylandu.
  • Wayback — kompozitní server Wayland pro provoz desktopů založených na X11.
  • Společnost Valve spustila projekt Frog k urychlení propagace nových protokolů Wayland.
  • Knihovna pro stavbu grafických rozhraní Cosmoe, využívající Wayland a API ve stylu BeOS.
  • Povolení ovladače Wayland ve Wine jako výchozí.
  • Přechod Raspberry Pi OS na používání Waylandu.
  • Vydání grafického toolkit FLTK 1.4.0 s podporou Waylandu.
  • Do sady Wayland-Protocols byla přidána další fáze propagace protokolů — "experimental", zaměřená na snížení bariéry při integraci protokolů, urychlení dodání protokolů vývojářům a povzbuzení k rané implementaci v existujících projektech.
  • AMD rozvíjí vlastní kompozitní server ACS, který používá Wayland.
  • Sedm alpha verzí desktopového prostředí COSMIC.
  • Aktualizace kompozitních serverů: Weston 14.0, Niri 25.05, Wayland Maker 0.5, miracle-wm 0.5, Hyprland 0.49, labwc 0.8.3, Cage 0.2, Wayfire 0.9, Sway 1.11.

Rozšíření protokolů přidaná za poslední rok, která doplňují základní protokol Wayland a jsou dodávána v samostatné sadě Wayland-Protocols:

  • color-management — možnosti pro řízení barev a podporu rozšířeného dynamického rozsahu jasu (HDR, High Dynamic Range).
  • color-representation-v1 — úkol barevného zobrazení plochy Wayland.
  • xdg-toplevel-tag — umožňuje Wayland klientům přiřazovat tagy k vrchním plochám, které kompozitní server může využít k identifikaci oken po restartu aplikace.
  • ext-background-effect — aplikace efektů na průhledné části plochy Wayland, jako je rozmazání pozadí.
  • pointer-warp — umožňuje aplikaci okamžitě přesunout ukazatel na zadanou pozici.
  • xx-session-management — obnovení stavu oken po přerušených sezeních (například po havárii kompozitního správce).
  • xx-input-method — vývoj nového protokolu pro používání metod textového vstupu. ext-data-control — umožňuje privilegovaným klientům řídit zpracování dat, například pro implementaci správců schránky.
  • ext-workspace — implementuje koncept virtuálních pracovních ploch a nabízí události s informacemi o stavu pracovních ploch, stejně jako možnosti pro aktivaci a deaktivaci pracovních ploch.
  • xdg-system-bell — umožňuje vyvolat systémový signál, který může být používán například jako varování v terminálových emulátorech.
  • xdg-toplevel-icon — pro přiřazení ikony k vrchnímu oknu.
  • ext-image-capture-source a ext-image-copy-capture — zachycení obsahu zobrazeného na obrazovce.
  • fifo — implementuje FIFO mechanismus (první přišel — první odešel) zpracování fronty aktualizace obsahu zobrazené plochy.
  • commit-timing — umožňuje připojit časové omezení k obsahu plochy (kompoziční server by měl zobrazit změnu obsahu co nejdříve po určeném čase, ale ne dříve).

Připomeňme, že Wayland je protokol pro interakci mezi kompozitním serverem a aplikacemi, které s ním pracují. Klienti samostatně provádějí vykreslování svých oken v odděleném vyrovnávacím paměti, předávají informace o aktualizacích kompozitnímu serveru, který kombinuje obsah bufferů jednotlivých aplikací pro vytváření konečného výstupu s ohledem na možné nuance, jako je překrytí oken a průhlednost. Jinými slovy, kompozitní server neposkytuje API pro vykreslování jednotlivých prvků, ale operuje pouze s již vytvořenými okny, což umožňuje zbavit se dvojitého vyrovnávání při používání vysoce úrovňových knihoven, jako jsou GTK a Qt, které se ujímají práce s uspořádáním 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.

Wayland 1.24 je k dispoziciWayland 1.24 je k dispozici


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