PÀrast 13 kuu arendust on esitatud stabiilne Waylandi protokolli, protsessidevahelise suhtluse mehhanismi ja raamistike versioon 1.24. Versioon 1.24 on API ja ABI tasandil tagasipööratav 1.x vÀljaannete jaoks ning sisaldab enamasti vigade parandusi ja vÀikeseid protokolli uuendusi. Projekti arendused on levitatud MIT litsentsi alusel. Etalonkomposiitserver Weston, mis pakub koodi ja töölisi nÀiteid Waylandi kasutamiseks lauaarvuti keskkondades ja sisseehitatud lahendustes, areneb erinevas arendusprotsessis.
Protokolli peamised muudatused:
- On realiseeritud liides wl_fixes, mis vĂ”imaldab lahendada probleeme teiste aluseks olevate protokollide liidestega, mille lahendamine ei ole vĂ”imalik nende enda funktsionaalsuse kaudu. NĂ€iteks pĂ€ring "wl_fixes::destroy_registry" vĂ”imaldab hĂ€vitada objekte wl_registry, pĂ€rast mida klient ei saa seda kasutada ning komposiitserver lĂ”petab selle kaudu sĂŒndmuste edastamise.
- wl_keyboard::key rakenduses on implementeeritud pseudoseisund "repeated", mis tĂ€histab klahvi olekut allavajutatuna. Klahvi saab muuta olekusse "repeated" ainult pĂ€rast selle muutmist olekusse "pressed", aga enne kui see jĂ”uab olekusse "released". Uue olekuga seotud sĂŒndmusi saab genereerida mitu korda, kuni klahv on all. See muudatus vĂ”imaldab komposiitserveritel töödelda korduvaid vajutusi klahvi hoidmise ajal eraldi seisunditena, mitte lihtsalt kui ahelat korduvat vajutussĂŒndmust ("pressed"), mis vĂ”ib olla kasulik töökorralduse jaoks. eemaldatud töölaualt.
- Lisatud funktsioonid wl_display_dispatch_queue_timeout() ja wl_display_dispatch_timeout(), et hallata sĂŒndmuste edastamist jĂ€rjekorras arvesse vĂ”ttes ajavahemikku (funktsioonid wl_display_dispatch ja wl_display_dispatch_queue tagastavad 0 ainult siis, kui sĂŒndmusi pole, samas kui *_timeout variandid tagastavad 0 ka ajavahemiku möödudes).
- Lisaudatud funktsioonid wl_shm_buffer_ref() ja wl_shm_buffer_unref(), mis vÔimaldavad juurdepÀÀsu jagatud mÀlule, mis on seotud wl_shm_bufferiga pÀrast selle eemaldamist (nt kui klient lÔpetab töö). Funktsioonid vÔimaldavad lahti siduda wl_shm_bufferi pÔhiteenuse wl_buffer elueast, kui komposiitserver vajab olekute vahepealset viibimist.
- Lisaudatud funktsioonid wl_proxy_get_interface() ja wl_resource_get_interface(), mis tagastavad wl_interface'i mÀÀratud ressursile, mis on vajalik dĂŒnaamilise tĂŒĂŒbi keelte vahetustega.
- Lisaudatud funktsioon wl_resource_post_error_vargs(), mis on alternatiiv funktsioonile wl_resource_post_error() ja vÔimaldab edastada argumentide nimekirja stringi vormindamiseks (va_list).
KĂ”ige silmapaistvamad sĂŒndmused, mis on seotud Waylandiga ja toimunud alates eelmine vĂ€ljaande avaldamisest:
- Parandatud Waylandi tuge NVIDIA patenteeritud draiverites.
- KDE plaanib jÀtta alles ainult Waylandi toe. Kodeeritud kwin_x11 ja kwin_wayland eraldamine.
- Ubuntu ja Kubuntu jÀtavad alles ainult Waylandi sessiooni toe GNOME'is ja KDE-s.
- GDM-is jÀeti vaikimisi alles ainult Waylandi tugi.
- GTK on X11 tagaplaani tÔstnud ajalooliseks.
- Fedora 43 otsustas eemaldada GNOME'i X-serveri ĂŒlemise kihi jaoks kasutatavad paketid. KĂ”ik GNOME'i X11 kasutajad sunnitakse ĂŒle minema Waylandi pĂ”hisele seansile.
- Budgie töölauakeskkonnas jÀÀb alles ainult Waylandi tugi.
- Xfce 4.20 toob kaasa osalise Waylandi toe.
- MATE 1.28 eksperimentaalse Waylandi toega.
- Wayback â Waylandi komposiitserver, mis vĂ”imaldab X11 pĂ”histe töölauade kĂ€ivitamist.
- Valve'i ettevÔte kÀivitas Frog projekti, et kiirendada uute Waylandi protokollide edendamist.
- Cosmoe graafiliste liideste teek, mis kasutab Waylandi ja BeOS stiilis API-d.
- Waylandi draiveri vaikimisi lubamine Wine'is.
- Raspberry Pi OS ĂŒleminek Waylandi kasutamisele.
- FLTK 1.4.0 graafikuteegi vÀljaanne, millel on Waylandi tugi.
- Wayland-Protocols komplekti on lisatud uus protokollide edendamise etapp â "experimental", mis on suunatud protokollide integreerimise takistuste vĂ€hendamisele ja nende kiiremale arendusprotsessi edendamisele eksistentsiaalsetes projektides.
- AMD arendab oma ACS komposiitserverit, mis kasutab Waylandi.
- Seitsme COSMIC töölaua alpha-vÀljaande esitlemine.
- Komposiitserverite uuendus: 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.
Aasta jooksul lisatud protokolli laiendused, mis tÀiendavad pÔhijuhendit Wayland ja tarnitakse eraldi Wayland-Protocols komplektis:
- color-management â vĂ€rvihalduse vĂ”imalused ja laiendatud dĂŒnaamilise ulatuse (HDR, High Dynamic Range) tugi.
- color-representation-v1 â Wayland-pinna vĂ€rviesituse mÀÀramine.
- xdg-toplevel-tag â vĂ”imaldab Wayland-klientidel kinnitada silte ĂŒlemise taseme pindadele, mida komposiitserver saab kasutada akende tuvastamiseks pĂ€rast rakenduse taaskĂ€ivitamist.
- ext-background-effect â efektide rakendamine poollĂ€bipaistvatele Waylandi pindadele, nagu nĂ€iteks tausta hĂ€gustamine.
- pointer-warp â vĂ”imaldab rakendusel koheselt tĂ”sta kursori mÀÀratud positsiooni.
- xx-session-management â akende oleku taastamine katkestatud seansside jaoks (nĂ€iteks pĂ€rast komposiitmenedĆŸeri ootamatut lĂ”petamist).
- xx-input-method â uue protokolli vĂ€ljatöötamine tekstisisestusmeetodite kasutamiseks. ext-data-control â vĂ”imaldab privileege omavatel klientidel hallata andmete töötlemist, nĂ€iteks lĂ”ikepuhvrite haldajate rakendamiseks.
- ext-workspace â rakendab kontseptsiooni virtuaalsed töölaudade ning pakub sĂŒndmusi, mis sisaldavad teavet töölaudade seisundi kohta, samuti vĂ”imalusi töölaidade aktiveerimiseks ja deaktiveerimiseks.
- xdg-system-bell â vĂ”imaldab vĂ€ljastada sĂŒsteemi signaali, mida saab kasutada nĂ€iteks terminalide emulaatoris hoiatuseks.
- xdg-toplevel-icon â ikooni seotmiseks ĂŒlemise taseme aknaga.
- ext-image-capture-source ja ext-image-copy-capture â ekraanil kuvatava sisu salvestamine.
- fifo â rakendab FIFO-mehhanismi (first in, first out) kuvamisplaani sisu vĂ€rskendamise jadade kĂ€itlemiseks.
- commit-timing â vĂ”imaldab siduda ajapiirangu sisu pinnaga (komposiitserver peab muutuste sisu kuvama vĂ”imalikult kiiresti pĂ€rast mÀÀratud aega, kuid mitte varem).
Tuletame meelde, et Wayland on koostöösalvestite ja nendega töötavate rakenduste interaktsiooniprotokoll. Klientide ĂŒlesanne on joonistada oma aknad eraldi puhverfaili, edastades vĂ€rskenduste kohta teavet koostöösalvestile, mis kombineerib erinevate rakenduste puhverfailide sisu, et luua lĂ”plik vĂ€ljund, arvesse vĂ”ttes vĂ”imalikke nĂŒansse, nagu akende kattumine ja lĂ€bipaistvus. TeisisĂ”nu, koostöösalvesti ei paku eraldi elementide joonistamiseks API-d, vaid töötab ainult juba loodud akendega, mis vĂ”imaldab kĂ”rvaldada kahekordse puhverdamise, kasutades kĂ”rgema taseme teeke, nagu GTK ja Qt, mis vĂ”tavad enda kanda akna sisu komponeerimise töö.
Wayland lahendab paljusid X11 turvaprobleeme, kuna erinevalt viimasest eraldab see iga akna sisendi ja vĂ€ljundi, ei luba kliendil juurde pÀÀseda teiste klientide akende sisule ning ei luba seotud sisend-sĂŒndmuste ĂŒlevĂ”tmist teistest akendest. Otse töötamine Waylandiga on toetatud enamikus Linuxi graafilistes teekides, sealhulgas GTK, Qt, SDL, FLTK, wxWidgets, Clutter ja EFL (Enlightenment Foundation Library).
Wayland/Weston'i riistvara interaktsioon, nĂ€iteks initsialiseerimine, video reĆŸiimide vahetamine (drm modesetting) ja mĂ€lu juhtimine (GEM i915 jaoks ning TTM radeon ja nouveau jaoks) graafikakaartide puhul, saab toimuda otse mooduli kaudu, mis töötab tuumatasemel, vĂ”imaldades vĂ€ltida superkasutaja Ă”igusi. Tavaliste X11 rakenduste kĂ€itamiseks Waylandi baasil keskkonnas kasutatakse DDX-komponenti XWayland (Device-Dependent X), mis töötab sarnaselt Xwin ja Xquartz'ile Win32 ja macOS platvormidel.


Allikas: opennet.ru
