Pas më shumë se një viti zhvillimi, është prezantuar versioni stabil i protokollit, mekanizmit të ndërveprimit ndërproçesor dhe bibliotekave Wayland 1.23. Dega 1.23 është e përputhshme me nivelin API dhe ABI me lëshimet 1.x dhe përmban kryesisht rregullime gabimesh dhe përmirësime të vogla të protokollit. Puna e projektit shpërndahet nën licencën MIT. Serveri i kompozitës referues Weston, që ofron kod dhe shembuj funksional për përdorimin e Wayland në ambientet desktop dhe zgjidhjet e integruara, po zhvillohet brenda një cikli të veçantë zhvillimi.
Ndryshimet kryesore në protokoll:
- Në libwayland është realizuar API që i lejon klientit të përcaktojë madhësinë maksimale të buferit të brendshëm të lidhjeve në anën e serverit. Madhësia maksimale bazë e buferit jepet përmes ndërfaqes wl_display, dhe API-i i ri i lejon klientët ta ndryshojnë atë në lidhje me çdo lidhje klienti. Nga ana praktike, ndryshimi lejon përdorimin e buferave më të mëdhenj në klientët specifikë të Wayland, siç është Xwayland, të cilët karakterizohen nga një intensitet më i lartë i ngjarjeve të hyrjes.
- Për kërkesat (request), ngjarjet (event) dhe enumeracionet (enum) është ofruar mundësia për të përdorur atributin XML "deprecated-since" për të shënuar elementët e tejkaluar. Në terminologjinë e Wayland, kërkesat janë mesazhe që dërgohen nga klienti te serverit; ngjarjet janë mesazhe të transmetuara nga serveri te klienti; enumeracionet janë grupe të lidhura me një emër të caktuar të vlerave numerike, me të cilat manipulohet protokolli.
- Në utilitarin wayland-scanner, i destinuar për të gjeneruar skedarë tituj dhe kod në gjuhën C në bazë të skedarëve XML përshkrues të protokollit, është shtuar një mod i ri "enum-header", që përfshin caktimin në skedarët e titujve vetëm të "enumeracioneve".
- Në wayland-scanner është siguruar gjenerimi i funksioneve verifikuese (validator) për "enumeracionet" në anën e serverit.
- Është shtuar mundësia për t'i dhënë emra radhëve të ngjarjeve me qëllim të thjeshtimit të debugut.
- Janë shtuar funksionet wl_client_get_user_data() dhe wl_client_set_user_data(), që thjeshtojnë lidhjen e të dhënave të rastit me klientin.
- Është shtuar kërkesa wl_shm.release, që i lejon klientit të informojë serverin për ndërprerjen e përdorimit të objektit të përbashkët, duke i lejuar serverit të çlirojë memorien e lidhur me të.
- Është shtuar mbështetje për platformën OpenBSD.
Ngjarjet e lidhura me Wayland që ndodhën që nga publikimi i numrit të kaluar:
- XWayland 24.1.0 është publikuar me mbështetje për teknologjinë Explicit Sync dhe përmirësimin e mbështetjes për arkitekturën 2D-accelerated GLAMOR dhe EXA.
- Përditësimi i serverit kompozues labwc (Lab Wayland Compositor) me funksionalitete që evokojnë menaxherin e dritareve Openbox.
- Projekti wprs, që zhvillon për Wayland një menaxher seancash të ngjashëm me utilitarin screen, por për aplikacionet grafike.
- Publikimi i serverit kompozues Niri, që përdor Wayland dhe ofron një metodë murnesh (tiling) me grumbullimin e dritareve në një shirit të pafund në ekran.
- Përditësimi i paketës së protokolleve dhe zgjerimeve Wayland-Protocols: 1.34, 1.33, 1.32, 1.35.
- Zhvillimi i bibliotekës SDL3, që aplikon Wayland si default.
- Lëshimi i mjedisit të punës LXQt 2.0.0 me mbështetje për Wayland në menaxherin e skedarëve PCManFM-Qt, sistemin e njoftimeve, desktopin, utilitarin për nisjen e programeve (Runner), panelin, ndërfaqen e daljes nga sistemi, ndërfaqen e konfigurimit LXQt dhe shumicën e aplikacioneve.
- Lëshimi i ambientit të përdoruesit Sway 1.9, që përdor Wayland.
- Menaxheri i ri i kompoziteve miracle-wm, i bazuar në Wayland dhe komponente për ndërtimin e menaxherëve të kompozitave Mir.
- Louvre — një bibliotekë e re për zhvillimin e kompozitave serverësh mbi Wayland.
- Punë për realizimin e mbështetjes së Wayland në Xfce.
- Mbështetje fillestare për Wayland në mjedisin e punës Budgie.
- Mbështetje fillestare për Wayland në mjedisin e punës Cinnamon.
- Përgatitjet për portimin e mjedisit të punës MATE për Wayland janë pothuajse të kompletuara.
- Distribucioni Lubuntu po kalon në përdorimin e Qt 6 dhe Wayland.
- Në KDE 6, një seancë që përdor protokollin Wayland është propozuar si parazgjedhje. Implementimi i mbështetjes për zgjerimet Wayland për menaxhimin e ngjyrave është realizuar.
- Në platformën Electron është përfshirë një mod dedikimi dritareve për Wayland.
- Përditësimi i serverit kompozues Wayfire, që përdor Wayland dhe lejon formimin e ndërfaqeve të përdoruesit me efekte 3D në stilin e 3D-pluginateve të Compiz.
- Mbështetje për Wayland në IDE IntelliJ dhe OpenJDK.
- Mbështetje për Wayland në editorin e tekstit GNU Emacs.
- Në GNOME në seancën e bazuar mbi Wayland është implementuar mbështetje për KVM-software Input Leap, e cila lejon përdorimin e një tastierë dhe maus për të menaxhuar disa kompjuterë.
- Redaksia e Fedora me mjedis punimi KDE ka ndërprerë mbështetje për seancën e bazuar mbi protokollin X11 në versionin bazë.
- Përmirësuar mbështetja për mjediset e bazuara në Wayland në drejtorët e pronarëve NVIDIA.
- Implementuar një drejtues që lejon përdorimin e Wine në mjedise të bazuara në protokollin Wayland pa përdorimin e XWayland dhe komponenteve X11.
- Formuar publikimi i serverit kompozit Weston 13.0.
- Për testimin e funksionit të KDE, GNOME, Enlightenment, Wayfire, Mir, Xfce dhe Sway mbi Wayland, publikohet një distro speciale Live e Rebecca Black Linux.
- Në montimet e Linux të Firefox-it, mbështetja për serverin kompozit Wayland, si rregull, është aktivizuar në vend të XWayland. Ofruar mundësia për krijimin e montimeve që mbështesin funksionimin vetëm në Wayland.
Të kujtojmë se Wayland është një protokoll për ndërveprimin e serverit kompozit me aplikacionet që punojnë me të. Klientët e realizojnë vetë vizatimin e okove të tyre në një bufer të veçantë, duke kaluar informacionin mbi përditësimet te serveri kompozit, i cili kombinon përmbajtjen e buferave të aplikacioneve të veçanta për të formuar rezultatin përfundimtar duke marrë parasysh aspektet e mundshme si mbivendosja e okove dhe transparenca. Në fjalë të tjera, serveri kompozit nuk ofron API për vizatimin e elementeve të veçanta, por operon vetëm me oket që janë formuar tashmë, gjë që lejon eliminimin e dyfishimit të buferimit gjatë përdorimit të bibliotekave me nivel të lartë si GTK dhe Qt, të cilat marrin përsipër punën e kompozimit të përmbajtjes së okove.
Wayland zgjidh shumë probleme të sigurisë X11, pasi ndryshe nga ky i fundit, ai izolon hyrjet dhe daljet për çdo ok, nuk e lejon klientin të aksesojë përmbajtjen e okove të klientëve të tjerë, si dhe nuk lejon kapjen e ngjarjeve të hyrjes të lidhura me oket e tjera. Aktualisht, mbështetje për punë të drejtpërdrejtë me Wayland është implementuar për bibliotekat GTK, Qt, SDL (nga versioni 2.0.2) Clutter dhe EFL (Biblioteka e Fondacionit Enlightenment). Duke filluar nga Qt 5.4, moduli QtWayland është përfshirë me implementimin e komponenteve për të punuar me aplikacionet Qt në mjedisin e serverit kompozit Weston, i zhvilluar nga projekti Wayland.
Ndërveprimi me harduerin në Wayland/Weston, për shembull, realizimi i inicializimit, kalimi i mënyrave të pamjes (drm modesetting) dhe menaxhimi i Memories (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 evitimin e privilegjeve të superpërdoruesit. Serveri kompozit Weston mund të punojë jo vetëm me modulin DRM të bërthamës Linux, por edhe mbi X11, një server tjetër kompozit Wayland, frame buffer dhe RDP. Për më tepër, janë duke u zhvilluar projekte për të mundësuar funksionimin mbi grilën grafike të platformës Android.
Në kuadër të projektit Weston po zhvillohet një nga implementimet e serverit kompozit. Si server kompozit mund të shkaktojë çdo produkt tjetër që mbështet protokollin Wayland. Për shembull, aktualisht po punohet për të garantuar mbështetjes Wayland në KWin. Në formën aktuale Weston tashmë ka kaluar përtej grupit të shembujve për testimin e protokollit Wayland dhe mund të pasurohet me funksionalitet përmes plugins dhe shtesave. Shell-et e përdoruesve dhe funksionet e avancuara të menaxhimit të dritareve propozohet të realizohen si backend-e të jashtme për Weston. Për të garantuar ekzekutimin e aplikacioneve të zakonshme X11 në një ambient të bazuar në Wayland përdoret komponenti DDX XWayland (Device-Dependent X), i ngjashëm në organizim si Xwin dhe Xquartz për platformat Win32 dhe macOS.


Burimi: opennet.ru
