Dostupný Wayland 1.24

Po 13 mesiacoch vývoja bol predstavený stabilný vydanie protokolu, mechanizmu medzi procesmi a knižníc Wayland 1.24. Vetva 1.24 je spätne kompatibilná na úrovni API a ABI s vydaniami 1.x a obsahuje predovšetkým opravy chýb a drobné aktualizácie protokolu. Výstupy projektu sa šíria pod licenciou MIT. Referenčný kompozitný server Weston, ktorý poskytuje kód a pracovné príklady pre používanie Wayland v desktopových prostrediach a zabudovaných riešeniach, sa vyvíja v rámci samostatného cyklu vývoja.

Hlavné zmeny v protokole:

  • Bol implementovaný rozhranie wl_fixes, ktoré umožňuje riešiť problémy s inými programovými rozhraniami základných protokolov, ktoré nemožno odstrániť vlastnými schopnosťami týchto rozhraní. Napríklad, požiadavka "wl_fixes::destroy_registry" umožňuje zlikvidovať objekt wl_registry, po ktorom klient nebude môcť používať tento objekt, a kompozitný server prestane s ním prenášať udalosti.
  • V programovom rozhraní wl_keyboard::key bolo implementované pseudo-stav "repeated", znamenajúce stav klávesy v stlačenom stave. Klávesa môže byť prevedená do stavu "repeated" len po prechode do stavu "pressed", ale pred nástupom stavu "released". S týmto novým stavom spojené udalosti môžu generovať viackrát, pokiaľ je klávesa stlačená. Zmena umožňuje kompozitným serverom spracovávať opakované stláčania pri držaní kláves ako samostatné stavy, a nie iba ako prúd opakujúcich sa udalostí stláčania ("pressed"), čo môže byť užitočné pri organizácii práce s odpojenou pracovnou plochou.
  • Boli pridané funkcie wl_display_dispatch_queue_timeout() a wl_display_dispatch_timeout() pre spracovanie udalostí v rade s ohľadom na časový limit (funkcie wl_display_dispatch a wl_display_dispatch_queue vracajú 0 iba pri absencii udalostí, zatiaľ čo varianty *_timeout ešte aj pri dosiahnutí časového limitu).
  • Boli pridané funkcie wl_shm_buffer_ref() a wl_shm_buffer_unref() pre prístup k zdieľanej pamäti, súvisiacej s vyrovnávacou pamäťou wl_shm_buffer, po jeho zlikvidovaní (napríklad, keď klient ukončí prácu). Funkcie umožňujú oddeliť vyrovnávaciu pamäť wl_shm_buffer od životnosti hlavného zdroja wl_buffer, keď kompozitnému serveru treba odložiť prechod do nového stavu.
  • Pridané funkcie wl_proxy_get_interface() a wl_resource_get_interface(), ktoré vracajú wl_interface pre zadaný zdroj, čo je žiadané v obaloch pre jazyky s dynamickou typizáciou.
  • Pridaná funkcia wl_resource_post_error_vargs(), ktorá je alternatívou funkcie wl_resource_post_error() s možnosťou odovzdať zoznam argumentov na formátovanie reťazca (va_list).

Najvýznamnejšie udalosti súvisiace s Waylandom, ktoré sa udiali od vydania predchádzajúcej verzie:

  • Zlepšená podpora Waylandu v proprietárnych ovládačoch NVIDIA.
  • KDE plánuje ponechať iba podporu Waylandu. Rozdelenie kódu kwin_x11 a kwin_wayland.
  • Ubuntu a Kubuntu ponechajú iba podporu relácie Wayland v GNOME a KDE.
  • V GDM je predvolene ponechaná iba podpora Waylandu.
  • GTK previedol backend pre X11 do stavu zastaraného.
  • Vo Fedore 43 sa rozhodlo odstrániť z repozitára balíky používané v GNOME pre prácu na X-serveri. Všetci používatelia GNOME s X11 budú nútení prepnúť na reláciu na báze Waylandu.
  • V prostredí pracovnej plochy Budgie bude ponechaná iba podpora Waylandu.
  • V Xfce 4.20 bola implementovaná čiastočná podpora Waylandu.
  • MATE 1.28 s experimentálnou podporou Waylandu.
  • Wayback — kompozitný server Wayland na spustenie desktopov na báze X11.
  • Spoločnosť Valve spustila projekt Frog na urýchlenie zavádzania nových protokolov Wayland.
  • Knižnica na vytváranie grafických rozhraní Cosmoe, ktorá používa Wayland a API v štýle BeOS.
  • Predvolene je zapnutý ovládač Wayland v Wine.
  • Prechod Raspberry Pi OS na používanie Waylandu.
  • Vydanie grafického toolkit-u FLTK 1.4.0 s podporou Waylandu.
  • Do súboru Wayland-Protocols bola pridaná ďalšia fáza propagácie protokolov — 'experimental', zameraná na zníženie bariéry pri integrácii protokolov, urýchlenie zavádzania protokolov k vývojárom a podporu skorého zavádzania v existujúcich projektoch.
  • AMD vyvíja vlastný kompozitný server ACS, ktorý používa Wayland.
  • Sedem alfa-vydaní prostredia desktopu COSMIC.
  • Aktualizácia kompozitných serverov: 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.

Pridané počas posledného roka rozšírenia protokolov, ktoré dopĺňajú základný protokol Wayland a sú dodávané v samostatnom balíku Wayland-Protocols:

  • color-management — možnosti pre riadenie farieb a podporu rozšíreného dynamického rozsahu jasnosti (HDR, vysoký dynamický rozsah).
  • color-representation-v1 — úloha farebného zobrazenia Wayland povrchu.
  • xdg-toplevel-tag — umožňuje Wayland klientom priradiť tagy k povrchom najvyššej úrovne, ktoré môže kompozitný server použiť na identifikáciu okien po reštarte aplikácie.
  • ext-background-effect — aplikácia efektov na polopriehľadné časti Wayland povrchu, ako je rozmazanie pozadia.
  • pointer-warp — umožňuje aplikácii okamžite presunúť kurzor na zadanú pozíciu.
  • xx-session-management — obnovenie stavu okien pre prerušené relácie (napr. po havárii kompozitného správcu).
  • xx-input-method — rozvoj nového protokolu pre použitie spôsobov vstupu textu. ext-data-control — umožňuje privilegovaným klientom spravovať spracovanie údajov, napr. na implementáciu správcov schránok.
  • ext-workspace — realizuje koncept virtuálnych pracovných plôch a ponúka udalosti s informáciou o stave pracovných plôch, ako aj možnosti na aktiváciu a deaktiváciu pracovných plôch.
  • xdg-system-bell — umožňuje vydávanie systémového signálu, ktorý môže byť použitý napr. ako upozornenie v terminálovom emulátore.
  • xdg-toplevel-icon — na priradenie ikony k oknu najvyššej úrovne.
  • ext-image-capture-source a ext-image-copy-capture — zachytenie obsahu zobrazeného na obrazovke.
  • fifo — realizuje FIFO mechanizmus (prvý prišiel — prvý odišiel) spracovania fronty aktualizácie obsahu zobrazovanej plochy.
  • commit-timing – umožňuje priradiť časové obmedzenie k obsahu povrchu (zložený server by mal zobraziť zmenu obsahu, ak je to možné, v rámci určeného času, ale nie skôr).

Pripomeňme, že Wayland je protokol interakcie medzi kompozitným serverom a aplikáciami, ktoré s ním pracujú. Klienti vykonávajú vykresľovanie svojich okien v samostatnom buffere, posielajúc informácie o aktualizáciách kompozitnému serveru, ktorý kombinuje obsah bufferov jednotlivých aplikácií na vytvorenie konečného výstupu so zohľadnením možných aspektov, ako sú prekrytie okien a priehľadnosť. Inými slovami, kompozitný server neposkytuje API na vykresľovanie jednotlivých prvkov, ale pracuje iba s už vytvorenými oknami, čo umožňuje zbaviť sa dvojitej bufferizácie pri použití vysokoúrovňových knižníc, ako sú GTK a Qt, ktoré preberajú prácu s kompozíciou obsahu okien.

Wayland rieši mnohé problémy so zabezpečením X11, pretože na rozdiel od neho izoluje vstup a výstup pre každé okno, neumožňuje klientovi získať prístup k obsahu okien iných klientov a tiež neumožňuje zachytávanie udalostí vstupu súvisiacich s inými oknami. Podpora priamej práce s Waylandom je implementovaná pre väčšinu používaných grafických knižníc v Linuxe, vrátane GTK, Qt, SDL, FLTK, wxWidgets, Clutter a EFL (Enlightenment Foundation Library).

Interakcia s hardvérom v Wayland/Weston, napríklad vykonávanie inicializácie, prepínanie videomódov (drm modesetting) a správa pamäte (GEM pre i915 a TTM pre radeon a nouveau) grafických kariet, môže prebiehať priamo prostredníctvom modulu na úrovni jadra, čo umožňuje obísť privilegované práva superužívateľa. Na zabezpečenie vykonávania bežných aplikácií X11 v prostredí založenom na Waylande sa používa DDX komponent XWayland (Device-Dependent X), ktorý má organizačne podobnú funkčnosť ako Xwin a Xquartz pre platformy Win32 a macOS.

Dostupný Wayland 1.24Dostupný Wayland 1.24


Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster