Po osmih mesecih razvoja je predstavljena stabilna različica protokola, mehanizma medprocestnega sodelovanja in knjižnic Wayland 1.25. Večkraten 1.25 je združljiv z API in ABI z izdaji 1.x in vsebuje predvsem popravke napak in manjša posodobitev protokola. Delo na projektu je na voljo pod licenco MIT. Referenčni kompozitni strežnik Weston, ki ponuja kodo in primere za uporabo Wayland v namiznih okoljih in vgrajenih rešitvah, se razvija v okviru ločenega razvojnega cikla.
Glavne spremembe v protokolu:
- Dokumentacija je bila preoblikovana iz formata DocBook v mdBook (Markdown).
- Popolnoma so dokumentirani dijalekti Wayland XML, model posodabljanja vsebine in možnosti za upravljanje barv.
- Dodana je nova lastnost "frozen" za vmesnike z več nadrejenimi vmesniki.
- Dodano je novo naročilo wl_surface.get_release za obveščanje o sprostitvi predpomnilnika, pritrjenega s strani klienta preko wl_surface.attach. V nasprotju z wl_buffer.release v wl_surface.get_release obvestilo pripada določenemu trenutku risanja.
- Dodana funkcija wl_display_dispatch_pending_single(), ki omogoča, da se iz vrste dogodkov vzame in obravnava samo en dogodek, ne pa vseh kumulativnih dogodkov, kot to počne wl_display_dispatch_pending().
- Zagotovljena je dodelitev barv za napake pri izhodu WAYLAND_DEBUG.
Dodane od izdaje Wayland 1.25 razširitve protokolov, ki dopolnjujejo osnovni protokol Wayland in so na voljo v ločenem naboru Wayland-Protocols:
- xx-input-method — omogoča aplikacijam implementirati metode vnosa besedila za kompozite. strežnikov in oblikujejo vnešeno besedilo, kar se lahko uporablja, na primer, za ustvarjanje virtualnih tipkovnic in IME plasti (urejevalnik metode vnosa) za obdelavo vnosa.
- xx-text-input — omogoča kompozitnim strežnikom, da uveljavijo metode vnosa in pošljejo besedilo v aplikacije. Protokol standardizira interakcijo med kompozitnim serverom in aplikacijami ter omogoča upravljanje z možnostmi, kot so prenos vnašanega besedila, obdelava dogodkov o spremembi fokusa vnosa in upoštevanje posebnosti vnosnih polj (jezik, označevanje besedila, vrsta vsebine).
- Izboljšani so protokoli color-management-v1 in color-representation-v1, ki ponujajo možnosti za upravljanje barv, podporo HDR in določanje barvne predstavitve Wayland površine.
Najbolj opazni dogodki, povezani z Waylandom, ki so se zgodili od izdaje prejšnjega izida:
- V GNOME 50 je odstranjena podpora za X11. V KDE Plasma 6.8 je odločeno, da se preneha podpirati X11.
- JetBrains prehaja na privzeto uporabo Wayland v IDE IntelliJ.
- Xfce je napovedal kompozitni strežnik Xfwl4, ki uporablja Wayland.
- Namizje Budgie 10.10 je bilo preneseno na Wayland.
- QNX Developer Desktop temelji na Waylandu.
- Marathon OS je mobilni operacijski sistem, ki temelji na Waylandu.
- Izdaja Wayback, plast za zagon namizij X11, ki uporablja komponente Wayland.
- V Cinnamon je dodana opcijska možnost namestitve sejanskih datotek za Wayland in je bila izvedena možnost preklapljanja postavitve tipkovnice pri uporabi Wayland.
- V drajverju wine je bila implementirana podpora za odložišče, metode vnosa, nepravokotna okna in prosojnost pri delu v okolju Wayland.
- V Cairo-Dock je dodana podpora za Wayland.
- Posodobitve sestavljalnih strežnikov: 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.
Spomnimo, da je Wayland protokol za interakcijo sestavljalnih strežnika in aplikacij, ki delujejo z njim. Odjemalci samostojno risajo svoja okna v ločenem odložišču in posredujejo informacije o posodobitvah sestavljalnemu strežniku, ki združuje vsebino medpomnilnikov posameznih aplikacij za ustvarjanje končne izhoda ob upoštevanju morebitnih posebnosti, kot so prekrivanje oken in prosojnost. Drugimi besedami, kompozitni strežnik ne zagotavlja API-ja za risanje posameznih elementov, temveč deluje samo z že oblikovanimi okni, kar omogoča odpravo dvojnega medpomnjenja pri uporabi visoko nivojskih knjižnic, kot sta GTK in Qt, ki prevzamejo nalogo sestavljanja vsebine oken.
Wayland rešuje številne varnostne težave X11, saj v nasprotju z zadnjim izolira vhod in izhod za vsako okno, ne omogoča strankam dostopa do vsebine oken drugih strank in tudi ne dopušča prestrezanja dogodkov vnosa, povezanih z drugimi okni. Podpora za neposredno delo z Waylandom je bila implementirana za večino uporabljenih grafičnih knjižnic v Linuxu, vključno z GTK, Qt, SDL, FLTK, wxWidgets, Clutter in EFL (Enlightenment Foundation Library).
Interakcija z strojno opremo v Waylandu/Westonu, na primer inicializacija, preklapljanje video načinov (drm modesetting) in upravljanje pomnilnika (GEM za i915 in TTM za radeon in nouveau) grafičnih kartic, se lahko izvaja neposredno preko modula, ki deluje na ravni jedra, kar omogoča posluženje brez privilegijev superuporabnika. Za omogočanje delovanja običajnih X11 aplikacij v okolju, ki temelji na Waylandu, se uporablja DDX komponenta XWayland (Device-Dependent X), ki je organizacijsko podobna Xwin in Xquartz za platforme Win32 in macOS.


Izvor: opennet.ru
