Pärast kuue kuu arengut on välja antud Wayland-protokollide paketi 1.33 versioon, mis sisaldab protokollide ja laienduste kogumit, mis täiendab põhivõrgu Wayland võimalusi ning pakub funktsioone, mis on vajalikud komposiitserverite ja kasutajakeskkondade loomiseks.
Kõik protokollid läbivad järjestikku kolm etappi — arendus, testimine ja stabiliseerimine. Pärast arendusetapi lõpetamist (kategooria „unstable”) paigutatakse protokoll „staging” haru ja see kuulutatakse ametlikult välja Wayland-protokollide kogumi osana, ja pärast testimise lõpetamist liigub see stabiilsete protokollide kategooriasse. „Staging” kategooria protokolle võib juba kasutada komposiitserverites ja klientides, kus on vajalikud nendega seotud funktsioonid. Erinevalt „unstable” kategooriast ei tohi „staging” etapis teha muudatusi, mis rikuvad ühilduvust, kuid juhul, kui testimise käigus tuvastatakse probleeme või puudujääke, ei välistata protokolli või mõne muu Waylandi laienduse vahetamist uue tähenduslikuma versiooni vastu.
Uues versioonis on protokoll «linux-dmabuf» tõstetud stabiilsete protokollide kategooriasse, võimaldades mitme graafikakaardi jagamist DMA-BUF tehnoloogia abil (mis võimaldab luua wl_buffer'i DMA-BUF baasil). Uus protokoll «ext-transient-seat» on paigutatud «staging» kategooriasse. Uut protokolli saab kasutada ajutiste sõltumatute sessioonide (seat) loomiseks, mis on ette nähtud kasutamiseks koos virtuaalsete sisendseadmetega, mida rakendatakse protokollide «virtual_keyboard_unstable_v1» ja «wlr_virtual_pointer_unstable_v1» abil. Näiteks võimaldab see ühenduse loomist. eemaldatud töölauale protokoll võimaldab luua iga kasutaja jaoks eraldi seansi koos virtuaalse klaviatuuri ja hiirega.
Praegu sisaldavad wayland-protokollid järgmised stabiilsed protokollid, mis tagavad tagasise ühilduvuse:
- „viewporter” — võimaldab kliendil teostada serveri poolelt pindade skaleerimist ja servade kärpimist.
- «presentation-time» — tagab video esitamise.
- «xdg-shell» — liides pindade loomiseks ja nendega suhtlemiseks nagu akendega, võimaldades neid ekraanil liigutada, minimeerida, maksimeerida, suurust muuta jne.
Protokollid, mida katsetatakse «staging» harus:
- drm-lease — pakub ressursid, mis on vajalikud stereopildi kujundamiseks erinevate puhversüsteemidega vasaku ja parema silma jaoks virtuaalreaalsuse peakomplektide jaoks.
- «ext-session-lock» — määratleb seansi lukustamise vahendid, näiteks ekraanisäästja töö ajal või autentimisdialooge kuvates.
- «single-pixel-buffer» — võimaldab luua ühe piksliga puhversüsteeme, mis sisaldavad nelja 32-bitist RGBA väärtust.
- «xdg-activation» — võimaldab edastada fookust erinevate esmaklassiliste pindade vahel (näiteks võib üks rakendus kasutada xdg-activation'i, et suunata fookus teisele).
- content-type — võimaldab klientidel edastada komposiitmaterjali. serverile kuvamine sisu kohta, mida saab kasutada sisu käitumise optimeerimiseks, näiteks spetsiifiliste DRM-omaduste määramine, nagu "content type". Toetatakse järgmisi sisu tüüpe: none (pole teavet andmetüübi kohta), photo (digitaalsete fotode väljund, mis nõuab minimaalset töötlemist), video (video või animatsioon, mis vajab täpsemat sünkroniseerimist, et vältida viivitusi) ja game (mängude käivitamine, mis vajab minimaalsete viivitustega väljundit).
- ext-idle-notify — võimaldab komposiitserveritel edastada klientidele teateid kasutaja mitteaktiivsuse kohta, mida saab kasutada täiendavate energiasäästurežiimide aktiveerimiseks teatud aja jooksul mitteaktiivsuse korral.
- tearing-control — võimaldab välja lülitada vertikaalse sünkroniseerimise (VSync) kaaderpideva impulsi tõttu, mida kasutatakse lõhenemise (tearing) vältimiseks. Multimeedia rakendustes on lõhenemisest tingitud artefaktid ebasoovitav nähtus, kuid mängurakendustes on artefaktidega võimalik leppida, kui nende kõrvaldamine toob kaasa täiendavaid viivitusi.
- ext-foreign-toplevel-list — teabe saamine kõige kõrgemal tasemel (toplevel) asuvatest pindadest, mis võimaldavad akende kinnitamist teise sisu peale, näiteks oma paneelide ja akna lülitite ühendamiseks.
- security-context — võimaldab tuvastada kliente, kes kasutavad sandbox-isolatsiooni. Klient saab registreerida uue ühenduse Waylandi-põhise komposiitserveriga ja kinnitada sellele turvakonteksti, mille alusel piirab komposiitjuht vastavalt määratud turvakontekstile selle ühenduse võimalusi.
- cursor-shape — alternatiivne viis kursori välimuse seadmiseks, mis põhineb kursori piltide seeria edastamisel, mitte pinnaga (wl_surface) sidumisel.
Protokollid, mida arendatakse 'unstable' harus:
- «fullscreen-shell» — täisekraanirežiimi juhtimine.
- «input-method» — sisendmeetodite töötlemine.
- «idle-inhibit» — ekraanisäästja (screensaver) käivitamise blokeerimine.
- «input-timestamps» — sisendi sündmuste ajatempli märgid.
- «keyboard-shortcuts-inhibit» — klahvikombinatsioonide ja otsetee juhtimine.
- «linux-explicit-synchronization» — Linuxile spetsiifiline puhverite sünkroniseerimise mehhanism, mis on seotud pinna(tilde)ga.
- «pointer-gestures» — juhtimine puutetundlikelt ekraanidelt.
- «pointer constraints» — näidikute piirangud (blokeerimine).
- «primary-selection» — nagu X11, toetab primaarset lõikelauasüsteemi (primary selection), mille sisu sisestamine toimub tavaliselt hiire keskmise nupuga.
- «relative pointer events» — suhtelised pointer'i sündmused.
- «tablet» — toetab sisendit tahvelarvutitest.
- «text-input» — teksti sisestamise korraldamine.
- «xdg-foreign» — liidese suhtlemine naaber kliendi pindadega.
- «xdg-decoration» — akende kaunistuste joonistamine serveri küljes.
- «xdg-output» — täiendavad andmed video väljundi kohta (kasutatakse jagatud skaleerimise puhul).
- «xwayland-keyboard-grab» — sisendi haaramine XWayland rakendustes.
Allikas: opennet.ru
