On avaldatud Wayland-protocols 1.44, mis sisaldab protokollide ja laiendite kogumikku, mis tÀiendab Waylandi pÔhivÔrgustikku ning pakub vajalikke funktsioone komposiitserverite ja kasutajakeskkondade loomiseks.
Wayland-Protocols 1.44 tutvustab uut protokolli color-representation-v1 Wayland-pinna vĂ€rvistamise mÀÀramiseks. Uue protokolli abil saavad kliendid edastada metaandmeid, mis on vajalikud lĂ€bipaistvuse, vĂ€rvimudeli, aladiskeerimise ja kvantimistĂŒĂŒbi mÀÀramiseks ning mida rakendatakse andmete puhvri konverteerimisel YCbCr vĂ€rvimudelist RGB esitamiseks.
KĂ”ik protokollid lĂ€bivad jĂ€rjestikku arendus-, testimis- ja stabiliseerimisfaasid. PĂ€rast arendusstaadiumi lĂ”ppemist (kategooria âunstableâ) paigutatakse protokoll âstagingâ haru ja see lisatakse ametlikult wayland-protocols komplekti. PĂ€rast testimise lĂ”petamist liigutatakse see stabiilsete kategooriasse. Protokolle, mis kuuluvad kategooriasse âstagingâ, saab juba kasutada komposiitserverites ja klientides, kus on vajalik seotud funktsionaalsus. Erinevalt kategooriast âunstableâ on âstagingâisâ kehtestatud muudatuste tegemise piirangud, mis rikuvad ĂŒhilduvust. Kuid testimise kĂ€igus ilmnenud probleemide ja puuduste korral ei ole vĂ€listatud, et protokoll asendatakse uue olulisema versiooniga vĂ”i mĂ”ne muu Waylandi laiendusega.
Protokollide arendajatele edastamise kiirendamiseks ja varase rakendamise soodustamiseks olemasolevates projektides on alates eelmisest vĂ€ljaandest lisatud etapp «experimental», kus lubatakse muutusi, mis rikuvad ĂŒhilduvust, ning tooreid protokolle, mida saab jĂ€rk-jĂ€rgult tĂ€iustada. Kui protokoll peab etappi «staging» jĂ”udmiseks nĂ”udma toetav meeskond ja teatud arv kinnitusi (ACK) ĂŒlevaatajatelt, siis etappi «experimental» pÀÀsemiseks piisab kahe nĂ€dala jooksul overvaatamise ajal vastuvĂ€idete puudumisest (NACK).
Praegu kuuluvad wayland-protocols komplekti jĂ€rgmised stabiilsed protokollid, mis tagavad tagurpidi ĂŒhilduvuse:
- âviewporterâ â vĂ”imaldab kliendil teostada serveri poolelt pindade skaleerimist ja servade kĂ€rpimist.
- «presentation-time» â tagab video esitamise.
- «xdg-shell» â liidese loomine ja suhtlemine pindadega kui akendega, vĂ”imaldades neid ekraanil liigutada, minimeerida, maksimeerida, suurust muuta jne.
- «linux-dmabuf» â vĂ”imaldab luua wl_buffer-e, mis pĂ”hinevad DMA-BUF-il.
- «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 ĂŒhendatud serverile teavet kuvatava sisu kohta, mida saab kasutada sisu pĂ”hjaliku kĂ€itumise optimeerimiseks, nĂ€iteks konkreetsete DRM-omaduste, nagu "content type", seadistamiseks. Toetatakse jĂ€rgmisi sisu tĂŒĂŒpe: none (ei ole andmeid andmetĂŒĂŒbi kohta), photo (digitaalsete fotode esitus, 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 minimaalset hilinemist).
- 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» â on loodud ajutiste iseseisvate sessioonide (seat) loomiseks, mida saab kasutada koos virtuaalsete sisendseadmetega. NĂ€iteks, kui rakendada kaugdesktopi ĂŒhendamise vĂ”imalust, vĂ”imaldab protokoll igale kasutajale eraldi sessiooni loomist 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 vahede eksplicitseks sĂŒnkroonimiseks DRM (Direct Rendering Manager) sĂŒnkroonimise objektide abil. Eeldatakse, et sĂŒnkroonimise kontekstis vĂ”imaldab pakutud protokoll parandada koostööd Vulkan ja OpenGL graafikapiidiga töötavate draiveritega (rakendusel pĂ”hinev draiverites töötlejatel). Uus protokoll vĂ”imaldab veenduda, et puhverdamise joonistamise operatsioon on lĂ”petatud enne, kui komposiitmanager kuvab antud puhvri.
- 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.
- xdg-toplevel-icon â ikooni seostamine ĂŒlemise taseme aknaga.
- ext-image-capture-source ja ext-image-copy-capture â sisu haaramise korraldamine, mis kuvatakse ekraanil.
- xdg-system-bell â vĂ”imaldab kuvada sĂŒsteemi signaali, mida saab kasutada nĂ€iteks terminaliemulaatorite hoiatamiseks. Signaali vĂ€ljundivorm sĂ”ltub komposiitide haldurist, see vĂ”ib olla mitte ainult heli, vaid ka visuaalne tagasiside.
- fifo â rakendab FIFO-mehhanismi (esimene sisse - esimene vĂ€lja) sisu vĂ€rskendamise jĂ€rjekorra töötlemiseks. Praktilisest kĂŒljest vĂ”imaldab protokoll vĂ€ljundi korral kasutada vertikaalse skaneerimise (vblank) lĂ”pulewaitingut, mitte callback-kutseid iga kord, kui uus kaader on valmis kuvamiseks, mis lahendab GPU ĂŒlekoormuse probleemi VSync'i kasutamisel.
- commit-timing â vĂ”imaldab siduda ajapiirangu sisu pinnaga (komposiitserver peab muutuste sisu kuvama vĂ”imalikult kiiresti pĂ€rast mÀÀratud aega, kuid mitte varem).
- ext-data-control â vĂ”imaldab privileege saanud klientidel hallata andmete töötlemist, nĂ€iteks lĂ”ikelauahalduse rakendamiseks.
- ext-workspace â rakendab kontseptsiooni virtuaalsed töölaudade ja pakub teavet töölaudade oleku kohta ning vĂ”imalusi töölaudade aktiveerimiseks ja deaktiveerimiseks. Protokolli saab kasutada paneelide ja indikaatorite loomiseks, mis kuvavad saadaval olevate virtuaalsete töölaudade loendit ja vĂ”imaldavad nende vahel vahetada.
- color-management â pakub vĂ€rvi haldamise vĂ”imalusi ja toetab laiendatud dĂŒnaamilise helitugevuse ulatust (HDR, High Dynamic Range). Lisandiga saavad kliendirakendused teavet vĂ€rviedastuse omadustega vĂ€ljundseadmest ja edastavad komposiitserverile oma sisu vĂ€rviedastuse omadusi. serveril seda teavet saab kasutada automaatseks vĂ€rvi juhtimiseks sisu kuvamisel erinevates vĂ€ljundseadmetes, nĂ€iteks sisu konvertimiseks, et see sobiks HDR-monitori kuvamiseks. VĂ€rviruume kirjeldatakse ICC-profiilide abil.
- xdg-toplevel-tag â vĂ”imaldab Waylandi kliente lisada silte ĂŒlemise taseme pindadele, mida komposiitserver saab kasutada akende tuvastamiseks pĂ€rast rakenduse taaskĂ€ivitamist (nĂ€iteks rakendus vĂ”ib mÀÀrata silte âpeamine akenâ ja âseadedâ peamise akna ja seadete akna jaoks). Selline tuvastamine on kasulik akende positsiooni, suuruse ja omaduste taastamiseks pĂ€rast taaskĂ€ivitamist ning ĂŒksikute aknatĂŒĂŒpide jaoks erireeglite mÀÀratlemiseks.
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.
Lisaks tasub mainida Weston 14.0.2 projekti vÀrskendust, mis arendab eetalonikomposiitserverit, mille eesmÀrk on pakkuda kvaliteetset koodibaasi ja tööde nÀiteid Waylandi kasutamiseks lauaarvuti keskkondades ja sisseehitatud platvormidel. Uues Weston versioonis on lisaks veaparandustele rakendatud ka VNC tagasilöögibasti kogumise vÔimalus kaugtöö jaoks uue neatvnc raamatukogu versiooniga.
Allikas: opennet.ru
