Pas pas katër muajsh zhvillimi, u prezantua një version i qëndrueshëm i protokollit, mekanizmit të ndërveprimit midis proceseve dhe librarive Wayland 1.26. Dega 1.26 është e përputhshme prapa në nivelin API dhe ABI me lëshimet 1.x dhe përmban kryesisht rregullime gabimesh dhe përditësime të vogla të protokollit. Pjesët e projektit shpërndahen nën licencën MIT. Kompozitori referencë server Weston, i cili ofron kod dhe shembuj funksional më për përdorimin e Wayland në mjediset desktop dhe zgjidhjet e integruara, zhvillohet në kuadër të një cikli të veçantë zhvillimi.
Ndryshimet kryesore në protokoll:
- Shtuar ngjarja wl_pointer.warp, përmes së cilës mund të marrim njoftime për pozitat e reja të treguesit pa procesuar ngjarjen wl_pointer.motion, e cila gjenerohet gjatë aktivitetit të përdoruesit.
- Shtuar kërkesa wl_fixes.ack_global_remove, e destinuar për dërgimin te menaxheri i kompozimit të një konfirmimi se klienti ka pushuar përpunimin e ngjarjes për të shmangur kushte garuese gjatë heqjes së ngjarjeve globale. Pas marrjes së konfirmimit nga të gjithë klientët, menaxheri i kompozimit mund të heqë manipuluesin e lidhur me ngjarjen në anën e tij.
- Shto u shtuar funksioni wl_display_remove_socket_fd() për eleminimin e soketeve të mëparshme, të shtuar përmes thirrjes wl_display_add_socket_fd().
- Në modalitetin e rregullimit, WAYLAND_DEBUG siguron të dhëna logu të kohës në formatin 'HH:MM:ss.xxxxxx', duke e thjeshtuar interpretimin dhe krahasimin e logjeve.
Të gjitha zgjerimet e protokolleve të Wayland-it, të shtuara pas lëshimit të mëparshëm, që plotësojnë protokollin bazë të Wayland dhe ofrohen në një paketë të veçantë Wayland-Protocols:
- xx-fractional-scale â pĂ«r shkallĂ«zimin e sistemit tĂ« koordinatave logjike, vlerat e tĂ« cilave pĂ«rcaktohen nga numra tĂ« tĂ«rĂ«, pĂ«r tĂ« rritur saktĂ«sinĂ« e pozicionimit dhe pĂ«r tĂ« rritur rezolutĂ«n e koordinatave logjike deri nĂ« pikselat e veçantĂ«. Kjo mundĂ«si zgjidh problemin e rezolutĂ«s sĂ« kufizuar tĂ« sistemit tĂ« koordinatave logjike, qĂ« nuk Ă«shtĂ« e mjaftueshme pĂ«r pozicionimin nĂ« nivel tĂ« pikselave tĂ« veçantĂ«, e nevojshme pĂ«r njĂ« implementim tĂ« plotĂ« tĂ« shkallĂ«zimit fraksional.
- xx-cutouts â pĂ«r tĂ« marrĂ« informacion rreth prerjeve nĂ« ekran (p.sh., zona nĂ«n kamerĂ«n e pĂ«rparme nĂ« ekranin e njĂ« smartphone).
- xx-zones â pĂ«r tĂ« krijuar dhe shtuar dritare nĂ« nivelin e lartĂ« nĂ« "zona" â ambiente me hapĂ«sirĂ«n e tyre tĂ« koordinatave. Protokolli lejon organizimin e njĂ« vendosje logjike tĂ« dritareve, nĂ« tĂ« cilĂ«n secila dritare vendoset nĂ« lidhje me dritaren tjetĂ«r.
- xx-keyboard-filter â pĂ«r kapjen e ngjarjeve tĂ« zgjedhura nga klienti tĂ« tastierĂ«s, modifikimin e ngjarjeve tĂ« hyrjes ose bllokimin e shpĂ«rndarjes sĂ« ngjarjeve tĂ« caktuara nĂ« sipĂ«rfaqen Wayland, ku Ă«shtĂ« e vendosur fokusi i hyrjes.
- Protokolli xdg-session-management është shtuar në kategorinë «staging», duke ofruar mundësi për rikthimin e gjendjes dhe pozicionit të dritareve të një seance të ndërprerë në mjedise të bazuara në protokollin Wayland, për shembull, pas një përfundimi të paplanifikuar të kompozitorit. server ose aplikacionit.
- Protokolli «linux-dmabuf» tani mbështet funksionimin në sisteme me disa GPU. Në këto sisteme, klienti mund të koordinojë me kompozitorët. serverin cilin nga GPU-të duhet të përdorë.
- Në protokollin color-management-v1 është shtuar mbështetje për metadatën e imazheve në formatin BT.2100 për përdorim në kompozit serveri përpunues specifikë, duke lejuar paraqitjen e saktë të përmbajtjes HDR, të krijuar për Windows.
Ngjarjet më të dukshme që lidhen me Wayland dhe ndodhur pas publikimit të numrit të kaluar:
- Cinnamon ka zbatuar mbështetje të plotë për Wayland.
- Biblioteka ANGLE, e përdorur në Chrome dhe Android, ka shtuar mbështetje për Wayland.
- Në KDE, kur përdoret Wayland, është implementuar mbështetje për rikthimin e seancave dhe është realizuar protokolli Wayland xx-fractional-scale-v2 për skalimin e pjesshëm.
- Krijuar një port i drejtuesit X.Org për synaptics për ambientet e bazuara në Wayland.
- ĂshtĂ« iniciuar kontrolli i gatishmĂ«risĂ« sĂ« platformave VFX dhe animacionit pĂ«r zĂ«vendĂ«simin e X11 me Wayland.
- Ka filluar testimi i serverit kompozitor Xfwl4 nga projekti Xfce.
- Me bazë Wayfire dhe Libadwaita është riprodhuar ndërfaqja e përdoruesit Unity.
- Janë përmirësuar serverët kompozitorë dhe ambientet e punës: 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.
Të kujtojmë se Wayland paraqet një protokoll ndërveprimi midis serverit kompozitor dhe aplikacioneve që punojnë me të. Klientët realizojnë vetë renderimin e dritareve të tyre në një bufer të veçantë, duke kaluar informacionin mbi përditësimet tek kompozitori. server, i cili kombinon përmbajtjen e bufereve të aplikacioneve të veçanta për të formuar daljen përfundimtare duke marrë parasysh nuancat e mundshme si mbivendosja e dritareve dhe transparenca. Në fjalë të tjera, serveri kompozit nuk ofron API për vizatimin e elementeve të veçanta, por operon vetëm me dritaret e formuara tashmë, gjë që lejon eliminimin e dyfishimit të buferit kur përdoren biblioteka me nivel të lartë si GTK dhe Qt, të cilat marrin përsipër punën e organizimit të përmbajtjes së dritareve.
Wayland zgjidh shumë probleme të sigurisë të X11 në X.Org Server, pasi ndryshe nga ky i fundit izolon të dhënat e hyrjes dhe daljes për çdo dritare, nuk lejon klientët të kenë qasje në përmbajtjen e dritareve të klientëve të tjerë, si dhe nuk lejon kapjen e ngjarjeve të hyrjes të lidhura me dritare të tjera (në XLibre XServer është implementuar e zgjerimi X11 Xnamespace, që ofron izolimin e klientëve përmes ndarjes në nivelin e hapësirave emërtuese). Mbështetje direkte për punën me Wayland është realizuar për shumicën e bibliotekave grafike të përdorura në Linux, duke përfshirë GTK, Qt, SDL, FLTK, wxWidgets, Clutter dhe EFL (Enlightenment Foundation Library).
Ndërveprimi me pajisjet harduerike në Wayland/Weston, siç është inicializimi, kalimi midis mënyrave grafike (drm modesetting) dhe menaxhimi i memorjes (GEM për i915 dhe TTM për radeon dhe nouveau) të kartave grafike, mund të realizohet drejtpërdrejt përmes një moduli që punon në nivelin e bërthamës, çka lejon shmangien e privilegjeve të superpërdoruesit. Për të siguruar ekzekutimin e aplikacioneve të zakonshme X11 në një mjedis të bazuar në Wayland, përdoret komponenti DDX XWayland (Device-Dependent X), i ngjashëm në organizimin e punës me Xwin dhe Xquartz për platformat Win32 dhe macOS.
Burimi: opennet.ru
