Käivitati Wayland-protokollide paketi 1.36 väljaanne, mis sisaldab protokollide ja laiendite komplekti, mis täiendavad põhiprotokolli Wayland funktsionaalsust ja pakuvad võimalusi, mis on vajalikud koostöös serverite 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:
- Kategooriasse „staging“ on lisatud protokoll xdg-toplevel-icon, mis on mõeldud ikooni sidumiseks ülevaloleva aknaga.
- Kategooriasse „staging“ on lisatud protokollid ext-image-capture-source ja ext-image-copy-capture, et korraldada ekraanile edastatava sisu jäädvustamist.
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.
- linux-dmabuf - võimaldab mitme graafikakaardi jagamist DMA-BUF tehnoloogia abil (võimaldab luua wl_buffer'i DMA-BUF-i alusel).
- «tablet» — sisendi korraldamine graafilistelt tahvelarvutilt.
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.
- „ext-transient-seat“ — mõeldud ajutistele sõltumatutele seansside loomisele (seat), mis on mõeldud kasutamiseks koos virtuaalsete sisendseadmetega. Näiteks võimaluse rakendamisel ühenduda eemaldatud töölauale protokoll võimaldab luua iga kasutaja jaoks eraldi seansi koos virtuaalse klaviatuuri ja hiirega.
- «xdg-toplevel-drag» — laiendab „drag & drop” mehhanismi võimalusega kinnitada kõrgema taseme aknaid liikumise operatsiooni juurde, mida saab kasutada näiteks tööriistaribade või brauseri vahelehtede hiirega tõmbamiseks. Uus protokoll võimaldab luua eralduvaid akna osi, mis tõukamise korral muutuvad uuteks akendeks ja võivad liikuda olemasoleva akna kohal enne, kui need uuesti kinnitatakse.
- «xdg-dialog» — võimaldab määrata kõrgema taseme pindadele dialoogidele spetsiifilisi atribuute, näiteks saab luua modaaldialooge, mis blokeerivad kasutaja interaktsiooni ülejäänud kasutajaliidese osadega.
- «linux-drm-syncobj» — pakub tööriistu selgeks synchroniseerimiseks bufferite kasutades DRM (Direct Rendering Manager) synchroniseerimisobjekte. Eeldatakse, et pakkuda kitsenearvestuse tõhusust Vulkan ja OpenGL graafikalisüsteemidele (implmentatsioon tugineb draiverite käitlejatele). Uus protokoll annab võimaluse veenduda, et bufferisse renderdamise operatsioon on lõpule viidud enne, kui komposiitmenedžer kuvab antud bufferi.
- alpha-modifier, mis võimaldab klientidel muuta pinna läbipaistvuse taset ja suunata läbipaistvuse tagamise toimingud komposiitserverisse, mis omakorda võib need toimingud edasi suunata KMS-ile.
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.
- «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
