Pēc vairāk nekā gada izstrādes ir izlaista stabila Wayland 1.23 protokola, starpprocessu komunikācijas mehānisma un bibliotēku versija. 1.23 zarā ir saglabāta atpakaļsaderība ar API un ABI 1.x izlaidumiem, un tas galvenokārt satur kļūdu labojumus un nelielus protokola uzlabojumus. Projekta izstrādājumi tiek izplatīti saskaņā ar MIT licenci. Etalona kompozītu serveris Weston, kas nodrošina kodu un darbības piemērus Wayland izmantošanai darbvirsmas vidēs un iebūvējamajos risinājumos, attīstās atsevišķā izstrādes ciklā.
Galvenās izmaiņas protokola ietvaros:
- Libwayland ir ieviests API, kas ļauj klientam noteikt maksimālo iekšējā bufera izmēru savienojumos servera pusē. Pamatmaksimālais bufera izmērs tiek iestatīts caur wl_display saskarni, bet jaunais API ļauj klientiem to mainīt, saistot to ar katru klienta savienojumu. No praktiskā viedokļa izmaiņas ļauj izmantot lielāka izmēra buferus specifiskos Wayland klientos, piemēram, Xwayland, kuriem ir raksturīga lielāka ievades notikumu intensitāte.
- Pieprasījumiem (request), notikumiem (event) un enumerācijām (enum) ir piedāvāta iespēja izmantot XML atribūtu „deprecated-since”, lai iezīmētu novecojušus elementus. Wayland terminoloģijā pieprasījumi ir ziņas, ko nosūta klients serverim; notikumi — tas ir ziņas, ko nosūta serveris klientam; enumerācijas — tas ir saistītas ar noteiktu nosaukumu skaitlisku vērtību kopas, ar kurām manipulē protokols.
- Wayland-scanner utilītā, kas paredzēta galvenes failu un C kodi ģenerēšanai, pamatojoties uz XML failiem ar protokola aprakstu, ir pievienots „enum-header” režīms, kas iekļauj galvenes failu ierakstus, kas satur tikai „enumerācijas”.
- Wayland-scanner nodrošina validācijas funkciju ģenerēšanu (validator) „enumerācijām” servera pusē.
- Ir pievienota iespēja piešķirt nosaukumus notikumu rindām, lai atvieglotu atkļūdošanu.
- Ir pievienotas funkcijas wl_client_get_user_data() un wl_client_set_user_data(), kas atvieglo nejaušu datu pievienošanu klientam.
- Ir pievienots pieprasījums wl_shm.release, kas ļauj klientam informēt serveri par koplietošanas objekta izmantošanas pārtraukšanu, ļaujot serverim atbrīvot ar to saistīto atmiņu.
- Ir pievienota atbalsta platforma OpenBSD.
Saistītie notikumi ar Wayland, kas notikuši kopš iepriekšējā izdevuma publikācijas:
- Publicēta XWayland 24.1.0 ar Explicit Sync tehnoloģijas atbalstu un uzlabotu 2D paātrināšanas arhitektūru GLAMOR un EXA atbalstu.
- Atjaunināta labwc (Lab Wayland Compositor) kompozīcijas servera versija ar funkcijām, kas atgādina logu pārvaldnieku Openbox.
- WPRS projekts attīsta Wayland sesiju pārvaldnieku, kas līdzīgs utilītam screen, bet paredzēts grafiskām programmām.
- Publicēts Niri kompozīcijas serveris, kas izmanto Wayland un piedāvā mozaīkveida (tiling) izkārtojumu ar logu grupēšanu bezgalīgi ritināmā lentes formā uz ekrāna.
- Atjaunināts Wayland-Protocols protokolu un paplašinājumu komplekts: 1.34, 1.33, 1.32, 1.35.
- Izstrādāta SDL3 bibliotēka, kas pēc noklusējuma izmanto Wayland.
- Izlaista LXQt 2.0.0 darbvirsmas vide ar Wayland atbalstu PCManFM-Qt failu pārvaldniekā, paziņojumu sistēmā, darbvirsmā, programmu palaišanas utilītā (Runner), paneļos, izslēgšanas saskarnē, LXQt iestatījumu saskarnē un lielākajā daļā lietojumprogrammu.
- Izlaista Sway 1.9 lietotāja vide, kas izmanto Wayland.
- Jauns kompozīcijas pārvaldnieks miracle-wm, kas balstās uz Wayland un komponentēm kompozīcijas pārvaldnieku izveidei Mir.
- Louvre — jauna bibliotēka kompozīcijas izstrādei serveriem balstīta uz Wayland.
- Darbs pie Wayland atbalsta īstenošanas Xfce.
- Sākotnējais Wayland atbalsts Budgie darbvirsmas vidē.
- Sākotnējais Wayland atbalsts Cinnamon darbvirsmas vidē.
- Gandrīz pabeigts MATE darbvirsmas portēšana uz Wayland.
- Distro Lubuntu pāriet uz Qt 6 un Wayland izmantošanu.
- KDE 6 pēc noklusējuma piedāvā sesiju, kas izmanto Wayland protokolu. Izdarīta Wayland paplašinājumu atbalsta īstenošana krāsu pārvaldībai.
- Electron platformā iekļauts Windows dekorēšanas režīms Wayland.
- Atjaunināts Wayfire kompozīcijas serveris, kas izmanto Wayland un ļauj izveidot lietotāja interfeisus ar 3D efektiem, kas atgādina 3D paplašinājumus Compiz.
- Wayland atbalsts IDE IntelliJ un OpenJDK.
- Wayland atbalsts tekstu redaktorā GNU Emacs.
- GNOME sesijā, kas balstīta uz Wayland, īstenots programmatūras KVM slēdzis Input Leap, kas ļauj izmantot vienu tastatūru un peli vairāku datoru pārvaldībai.
- Fedora izdevums ar KDE darbvirsmas vidi pārtrauc atbalstu X11 protokola bāzes sesijām pamatinstalācijā.
- Uzlabota atbalsta sniegšana Wayland bāzētām vidēm NVIDIA noslēgtajos draiveros.
- Ieviešs draiveris, kas ļauj izmantot Wine Wayland protokola vidēs bez XWayland un X11 komponentiem.
- Izveidota kompozītā servera Weston 13.0 versija.
- Lai pārbaudītu KDE, GNOME, Enlightenment, Wayfire, Mir, Xfce un Sway darbību Wayland vidē, tiek izlaista īpaša Live distribution Rebecca Black Linux.
- Firefox Linux versijās pēc noklusējuma ir iekļauts kompozītā servera Wayland izmantošana, nevis XWayland. Ir sniegta iespēja izveidot versijas, kas atbalsta tikai darbu Wayland vidē.
Atgādinām, ka Wayland ir protokols, kas nosaka mijiedarbību starp kompozīto serveri un tajā darbojošām lietotnēm. Klienti pats veic savu logu attēlošanu atsevišķā buferī, nosūtot informāciju par atjauninājumiem kompozītajam serverim, kurš apvieno atsevišķu lietotņu buferu saturu gala izvadē, ņemot vērā iespējamos faktorus, piemēram, logu pārklāšanos un caurspīdīgumu. Citiem vārdiem sakot, kompozītais serveris neizsniedz API konkrētu elementu attēlošanai, bet darbojas tikai ar jau izveidotiem logiem, kas ļauj izvairīties no dubultā buferēšanas, izmantojot augstākas līmeņa bibliotēkas, piemēram, GTK un Qt, kas uzņemas logu satura kompozīcijas darbu.
Wayland atrisina daudzas X11 drošības problēmas, jo, atšķirībā no pēdējā, izolē ievadi un izvadi katram logam, nepieļaujot klientam piekļuvi citu klientu logu saturam, kā arī neļaujot nozagt ievadi saistītos notikumus ar citiem logiem. Pašlaik tieša sadarbība ar Wayland jau ir īstenota GTK, Qt, SDL (sākot no 2.0.2 versijas), Clutter un EFL (Enlightenment Foundation Library) bibliotēkām. Sākot ar Qt 5.4, komplektā ir iekļauts QtWayland modulis, kas satur komponentu realizācijas Qt lietotnēm darbojoties kompozītā serverā Weston, kuru attīsta Wayland projekts.
Saziņa ar aparatūru, izmantojot Wayland/Weston, piemēram, inicializācija, video režīmu pāreja (drm modesetting) un atmiņas pārvaldība (GEM priekš i915 un TTM priekš radeon un nouveau) grafikas kartēm, var notikt tieši caur moduļa, kas darbojas kodola līmenī, ko var izpildīt bez superlietotāja privilēģijām. Kompozīcijas serveris Weston var darboties ne tikai, izmantojot DRM moduli Linux kodolā, bet arī virs X11, cita Wayland kompozīcijas servera, frame buffer un RDP. Turklāt tiek attīstīti projekti, lai nodrošinātu darbu virs Android platformas grafiskā steka.
Weston projektā tiek attīstīta viena no kompozīcijas servera realizācijām. Par kompozīcijas serveri var kļūt arī jebkurš cits produkts, kas atbalsta Wayland protokolu. Piemēram, šobrīd notiek darbs, lai nodrošinātu Wayland atbalstu KWin. Esošā Weston versija jau ir pārsniegusi Wayland protokola testēšanas paraugu grupu un var pievienot funkcionalitāti caur spraudņiem un papildinājumiem. Lietotāju interfeisi un paplašinātas logu pārvaldības funkcijas ieteicams realizēt kā ārējos backendus Weston. Lai nodrošinātu parasto X11 lietojumprogrammu darbību Wayland vidē, tiek izmantots DDX komponents XWayland (Device-Dependent X), kas darba organizācijā ir līdzīgs Xwin un Xquartz Win32 un macOS platformām.


Avots: opennet.lv
