Nakon više od godinu dana razvoja, objavljeno je stabilno izdanje protokola Wayland 1.23, mehanizma međuprocesne komunikacije i biblioteka. Grana 1.23 je unatrag kompatibilna s izdanjima 1.x na razini API-ja i ABI-ja te sadrži prvenstveno ispravke programskih pogrešaka i manja ažuriranja protokola. Rad na projektu licenciran je pod MIT licencom. Weston referentni kompozitni poslužitelj, koji pruža kod i radne primjere za korištenje Waylanda u desktop okruženjima i ugrađenim rješenjima, razvija se u zasebnom razvojnom ciklusu.
Glavne promjene u protokolu:
- Libwayland implementira API koji omogućuje klijentu da odredi maksimalnu veličinu internog međuspremnika za vezu na strani poslužitelja. Osnovna maksimalna veličina međuspremnika postavlja se putem sučelja wl_display, a novi API omogućuje klijentima da je mijenjaju za svaku vezu pojedinačno. U praktičnom smislu, ova promjena omogućuje korištenje većih međuspremnika u klijentima specifičnim za Wayland, kao što je Xwayland, koji obično obrađuju velike količine ulaznih podataka.
- Za zahtjeve, događaje i nabrajanja sada je dostupna mogućnost korištenja XML atributa "deprecated-since" za označavanje zastarjelih elemenata. U Wayland terminologiji, zahtjevi su poruke koje klijent šalje poslužitelja; događaji su poruke poslane sa servera klijentu; nabrajanja su imenovani skupovi numeričkih vrijednosti kojima manipulira protokol.
- Uslužni program wayland-scanner, dizajniran za generiranje zaglavnih datoteka i C koda na temelju XML datoteka s opisima protokola, ažuriran je načinom rada "enum-header", koji omogućuje specificiranje samo "nabrajanja" u zaglavnim datotekama.
- wayland-scanner omogućuje generiranje validatorskih funkcija za nabrajanja na strani poslužitelja.
- Dodana je mogućnost imenovanja redova događaja radi pojednostavljenja otklanjanja pogrešaka.
- Dodane su funkcije wl_client_get_user_data() i wl_client_set_user_data() kako bi se olakšalo dodavanje prilagođenih podataka klijentu.
- Dodan je zahtjev wl_shm.release koji omogućuje klijentu da obavijesti poslužitelj da je prestao koristiti dijeljeni objekt, što omogućuje poslužitelju da oslobodi memoriju povezanu s njim.
- Dodana podrška za OpenBSD platformu.
Događaji vezani uz Wayland od prošlog broja:
- Izdan je XWayland 24.1.0 koji donosi podršku za Explicit Sync tehnologiju i poboljšava podršku za GLAMOR i EXA 2D akceleracijske arhitekture.
- Ažuriranje labwc (Lab Wayland Compositor) kompozitnog poslužitelja sa značajkama koje podsjećaju na Openbox window manager.
- Projekt wprs razvija upravitelj sesija za Wayland, sličan uslužnom programu screen, ali za grafičke aplikacije.
- Objavljivanje Niri kompozitnog poslužitelja koji koristi Wayland i nudi metodu rasporeda popločavanja s grupiranjem prozora u beskonačno pomičnu vrpcu na zaslonu.
- Ažuriranja paketa protokola i proširenja Wayland-Protocols: 1.34, 1.33, 1.32, 1.35.
- Razvoj SDL3 biblioteke koja koristi Wayland prema zadanim postavkama.
- Objavljeno je LXQt 2.0.0 okruženje radne površine, koje donosi Wayland podršku za PCManFM-Qt upravitelj datoteka, sustav obavijesti, radnu površinu, Runner, panel, sučelje za odjavu, LXQt konfiguracijsko sučelje i većinu aplikacija.
- Izdanje korisničkog okruženja Swaya 1.9 pomoću Waylanda.
- Novi upravitelj kompozitinga miracle-wm, baziran na Waylandu i komponente za izgradnju upravitelja kompozitinga Mir.
- Louvre je nova knjižnica za razvoj kompozita poslužitelji na temelju Waylanda.
- Rad na implementaciji podrške za Wayland u Xfce-u.
- Početna podrška za Wayland u Budgie desktop okruženju.
- Početna podrška za Wayland u Cinnamon desktop okruženju.
- Prenošenje MATE radne površine na Wayland je gotovo završeno.
- Distribucija Lubuntu prelazi na korištenje Qt 6 i Waylanda.
- KDE 6 nudi zadanu sesiju koja koristi Wayland protokol. Implementirana je podrška za Wayland proširenja za upravljanje bojama.
- Platforma Electron omogućila je način ukrašavanja prozora za Wayland.
- Ažuriranje Wayfire kompozitnog servera koji koristi Wayland i omogućuje stvaranje korisničkih sučelja s 3D efektima u stilu 3D dodataka za Compiz.
- Podrška za Wayland u IntelliJ IDE-u i OpenJDK-u.
- Podrška za Wayland u GNU Emacs uređivaču teksta.
- GNOME-ova sesija temeljena na Waylandu sada podržava KVM prekidač softvera Input Leap, koji vam omogućuje korištenje jedne tipkovnice i miša za upravljanje više računala.
- Fedora izdanje s KDE radnom površinom u osnovnoj distribuciji više nema podršku za sesiju temeljenu na X11 protokolu.
- Poboljšana podrška za Wayland-bazirana okruženja u NVIDIA vlasničkim upravljačkim programima.
- Implementiran je upravljački program koji omogućuje korištenje Winea u okruženjima temeljenim na Wayland protokolu bez korištenja XWayland i X11 komponenti.
- Weston Composite Server 13.0 je objavljen.
- Izlazi posebna Live distribucija, Rebecca Black, za testiranje rada KDE-a, GNOME-a, Enlightenmenta, Wayfirea, Mira, Xfce-a i Swaya na Waylandu. Linux.
- В LinuxFirefox verzije sada prema zadanim postavkama koriste Wayland kompozitni poslužitelj umjesto XWaylanda. Sada je dostupna mogućnost stvaranja verzija koje isključivo podržavaju Wayland.
Podsjetimo, Wayland je protokol za interakciju između kompozitnog poslužitelja i aplikacija koje rade s njim. Klijenti renderiraju vlastite prozore u zasebnom međuspremniku, prosljeđujući ažuriranja kompozitnom poslužitelju, koji kombinira sadržaj pojedinačnih međuspremnika aplikacije kako bi proizveo konačni izlaz koji uzima u obzir moguće nijanse kao što su preklapanje prozora i transparentnost. Drugim riječima, kompozitni poslužitelj ne pruža API za renderiranje pojedinačnih elemenata, već samo radi na već formiranim prozorima, što vam omogućuje da se riješite dvostrukog međuspremnika kada koristite biblioteke visoke razine kao što su GTK i Qt, koje preuzimaju rad na sastavljanju sadržaja prozora.
Wayland rješava mnoge sigurnosne probleme X11, jer za razliku od X11, izolira ulaz i izlaz za svaki prozor, sprječava klijenta da pristupi sadržaju prozora drugih klijenata i sprječava presretanje ulaznih događaja povezanih s drugim prozorima. Izravna podrška za Wayland trenutno je dostupna za GTK, Qt, SDL (od izdanja 2.0.2), Clutter i EFL (Enlightenment Foundation Library). Počevši od Qt 5.4, uključen je modul QtWayland koji implementira komponente za pokretanje Qt aplikacija u okruženju kompozitnog poslužitelja Weston, koje je razvio Wayland projekt.
Interakcija s hardverom u Waylandu/Westonu, kao što su inicijalizacija, prebacivanje video načina rada (DRM modesetting) i upravljanje memorijom (GEM za i915 i TTM za Radeon i Nouveau) za grafičke kartice, može se izvoditi izravno putem modula na razini jezgre, čime se eliminira potreba za privilegijama superkorisnika. Weston kompozitni poslužitelj može raditi bez oslanjanja isključivo na DRM modul jezgre. Linux, ali i uz X11, još jedan Waylandov kompozitni poslužitelj, framebuffer i RDP. Osim toga, u tijeku su projekti koji će omogućiti rad na grafičkom paketu platforme. Android.
Projekt Weston razvija implementaciju kompozitnog poslužitelja. Bilo koji drugi proizvod koji podržava Wayland protokol također može poslužiti kao kompozitni poslužitelj. Na primjer, trenutno se radi na podršci Waylanda u KWinu. U svom trenutnom obliku, Weston se već proširio izvan skupa primjera za testiranje Wayland protokola i može steći dodatne funkcionalnosti putem dodataka i dodataka. Predlaže se da se korisnička sučelja i napredne značajke upravljanja prozorima implementiraju kao vanjski backendovi za Weston. Kako bi se osiguralo izvršavanje standardnih X11 aplikacija u Wayland okruženju, koristi se XWayland (Device-Dependent X) DDX komponenta, slična Xwinu i Xquartzu za Win32 i macOS.


Izvor: opennet.ru
