Avaldatud wayland-protocols paketi 1.46 vÀljaanne, mis sisaldab protokollide ja laienduste kogumit, mis tÀiendavad pÔhiprotokolli Wayland ja pakuvad funktsioone, mis on vajalikud komposiitserverite ja kasutajakeskkondade loomiseks.
Uues versioonis:
- Lisatud katsetatav protokoll xx-input-method, mis vÔimaldab rakendustel rakendada tekstisisestamise meetodeid komposiitserveritele ja genereerida sisestatud teksti, mida saab kasutada nÀiteks virtuaalsete klaviatuuride ja IME kihtide (sisestusmeetodi redaktor) loomiseks sisendi töötlemiseks.
- Lisatud katsetatav protokoll xx-text-input, mis vĂ”imaldab komposiitserveritel rakendada sisestamismeetodeid ja edastada teksti rakendustele. Protokoll standardiseerib suhtlemise komposiitserveri ja rakenduste vahel ning vĂ”imaldab hallata selliseid funktsioone nagu sisestatud teksti edastamine, fookuse muutumise sĂŒndmuste töötlemine ja sisendi vĂ€ljade spetsiifika arvestamine (keel, teksti valimine, sisu tĂŒĂŒp).
- VÀrvihalduse ja vÀrvi esitusprotokollide color-management-v1 ja color-representation-v1 on tÀiendatud, et pakkuda vÀrvihalduse, HDR toetuse ja Waylandi pinna vÀrvi mÀÀratlemise vÔimalusi.
KĂ”ik protokollid lĂ€bivad arendamise, testimise ja stabiliseerimise etapid. PĂ€rast arendusetapi (kategooria "unstable") lĂ”petamist pannakse protokoll "staging" harusse ja see lisatakse ametlikult wayland-protokollide kogusse, ning pĂ€rast testimise lĂ”petamist liigutatakse see stabiilsete kategooria alla. Protokolle kategooriast "staging" saab juba kasutada komposiitserverites ja klientides, kus on vajalikud nendega seotud funktsioonid. Erinevalt kategooriast "unstable" on kategoorias "staging" keelatud teha muudatusi, mis rikuvad ĂŒhilduvust, kuid kui testimise kĂ€igus tuvastatakse probleeme ja puudujÀÀke, ei ole vĂ€listatud olulise uue protokolli versiooni vĂ”i muu Wayland-pikenduse asendamine.
Protokoogide arendamise kiirusel ja olemasolevatesse projektidesse varajase rakendamise julgustamiseks on alates eelmisest vĂ€ljaandest lisatud "experimental" etapp, kus on lubatud teha ĂŒhilduvust rikkuvaid muudatusi ja lisada "toored" protokollid, mida saab jĂ€rk-jĂ€rgult viia nĂ”utud tasemele. Kui protokolli viimine "staging" etappi nĂ”uab tugimeeskonna vormimist ja teatud arvu kinnituste (ACK) kogumist ĂŒlevaatajate osalistelt, siis "experimental" etappi pÀÀsemiseks piisab kahe nĂ€dala ĂŒlevaatusperioodi jooksul vastuvĂ€idete (NACK) puudumisest.
Praegu kuuluvad wayland-protocols komplekti jĂ€rgmised stabiilsed protokollid, mis tagavad tagasiside ĂŒhilduvuse:
- âviewporterâ â vĂ”imaldab kliendil teostada mÔÔtkava ja pindade servade lĂ”ikamise toiminguid serveri poolel.
- âpresentation-timeâ â tagab video kuvamise.
- «xdg-shell» â liides, mis vĂ”imaldab luua ja suhelda pindadega nagu akendega, vĂ”imaldades neid ekraanil liigutada, minimeerida, maksimeerida, suurust muuta jne.
- «linux-dmabuf» â pakub vĂ”imalusi wl_bufferite loomiseks DMA-BUF-i pĂ”hjal.
- âtabletâ â sisenemine graafikaplaneedi kaudu.
Protokollid, mis on testimisel âstagingâ harus:
- drm-lease â pakub ressursse, mis on vajalikud stereopildi loomisel, kasutades erinevaid puhvireid vasaku ja parema silma jaoks virtuaalsete prillide kuvamiseks.
- «ext-session-lock» â mÀÀrab seansilist lukustamise mehhanismi, nĂ€iteks ekraanilooja töö ajal vĂ”i autentimisdialooge avades.
- «single-pixel-buffer» â lubab luua ĂŒhe piksliga puhver, mis sisaldab nelja 32-bitist RGBA vÀÀrtust.
- «xdg-activation» â vĂ”imaldab fookuse edastamist erinevate esmaklassiliste pindade vahel (nĂ€iteks xdg-activation abil saab ĂŒks rakendus suunata tĂ€helepanu teisele).
- content-type â vĂ”imaldab klientidel edastada koostööpinnale teavet kuvatava sisu kohta, mida saab kasutada sisu jĂ€rgi kĂ€itumise optimeerimiseks, nĂ€iteks spetsiifiliste DRM-omaduste nagu «content type» seadmiseks. Toetatud on jĂ€rgmist tĂŒĂŒpi sisu: none (pole teavet andmete tĂŒĂŒbi kohta), photo (digitaalsete fotode kuvamine, mis vajab minimaalset töötlemist), video (video vĂ”i animatsioon, vajab tĂ€psemat sĂŒnkroniseerimist, et vĂ€ltida kaadrikadu) ja game (mĂ€ngude kĂ€ivitamine, vajab vĂ€ljundit minimaalsete viivitustega).
- ext-idle-notify â vĂ”imaldab komposiitserveritel edastada klientidele teateid kasutaja mitteaktiivsuse kohta, mida saab kasutada tĂ€iendavate energiasÀÀstureĆŸiimide aktiveerimiseks pĂ€rast teatavat aega mitteaktiivsust.
- tearing-control â lubab tĂ€ielikult ekraanil rakendustes keelata vertikaalse sĂŒnkroonimise (VSync) kaadri hÀÀldavate impulssidega, mida kasutatakse rebendite (tearing) vĂ€ltimiseks kuvamisel. Multimeedia rakendustes rebendite tĂ”ttu tekkivad artefaktid on soovimatu efekt, kuid mĂ€ngurakendustes on artefaktidega vĂ”imalik leppida, kui nende vastu vĂ”itlemine toob kaasa lisaviivitusi.
- ext-foreign-toplevel-list â vĂ”imaldab saada teavet ĂŒlalmise (toplevel) pindade kohta, mis vĂ”imaldavad korraldada akende kinnitamist muu sisu kohal, nĂ€iteks oma paneelide ja akna lĂŒlitite ĂŒhendamiseks.
- security-context â vĂ”imaldab tuvastada kliente, kes kasutavad sandbox-isoleerimist. Klient saab registreerida uue ĂŒhenduse Waylandi pĂ”hisel komposiitserveriga ja kinnitada sellele turvakonteksti, mille jĂ€rel komposiitmanager piirdub turvakonteksti alusel seatud piirangutega loodud ĂŒhenduse jaoks.
- cursor-shape â alternatiivne meetod kursori vĂ€limuse kohandamiseks, mis pĂ”hineb sarja kursori piltide edastamisel, mitte pinna (wl_surface) sidumisel.
- «ext-transient-seat» â mĂ”eldud ajutiste sĂ”ltumatute seansside (seat) loomiseks, mis on ette nĂ€htud koos virtuaalsete sisendseadmetega kasutamiseks. NĂ€iteks, kui on vĂ”imalik ĂŒhendada kauglaud protokoll vĂ”imaldab igale kasutajale eraldi seansi loomist koos virtuaalse klaviatuuri ja hiirega.
- «xdg-toplevel-drag» â laiendab «drag & drop» mehhanismi vĂ”imalusega kinnitada ĂŒlemise taseme aknaid liikumisoperatsioonile, mida saab kasutada nĂ€iteks tööriistaribade vĂ”i brauseri vahekaartide lohistamiseks. Uus protokoll vĂ”imaldab luua lahti ĂŒhendatavaid aknaosi, mis lohistamise korral muutuvad uuteks aken ja vĂ”ivad liikuda olemasoleva akna kohal enne uuesti kinnitamist.
- «xdg-dialog» â vĂ”imaldab mÀÀrata ĂŒlemise taseme pindadele dialoogide jaoks spetsiifilisi omadusi, nĂ€iteks saab luua modaalsete dialooge, mis blokeerivad kasutaja interaktsiooni ĂŒlejÀÀnud liidesega.
- «linux-drm-syncobj» â pakub tööriistu, et teostada selget sĂŒnkroniseerimist puhversalvestuse jaoks DRM (Direct Rendering Manager) sĂŒnkroonimisseente abil. Eeldatakse, et joonistamise sĂŒnkroniseerimise kontekstis lubab pakutud protokoll paremalt töötada Vulkan ja OpenGL graafikate API-des pĂ”hinevate draiveritega (rakendamine toetub draiverite kĂ€itlejatele). Uus protokoll annab vĂ”imaluse veenduda, et joonistamisoperatsioon puhversalvestusse on lĂ”petatud enne, kui koostööhaldur kuvab selle puhversalvestuse.
- alpha-modifier, mis vÔimaldab klientidel muuta pinna lÀbipaistvuse taset ning viia lÀbipaistvuse tagamise operatsioonid komposiitserveri poole, mis omakorda saab need operatsioonid KMS-ile edastada.
- xdg-toplevel-icon â ĂŒlemise taseme akna ikooni sidumine.
- ext-image-capture-source ja ext-image-copy-capture â sisu haaramise korraldamine, mis kuvatakse ekraanil.
- xdg-system-bell â vĂ”imaldab edastada sĂŒsteemi signaali, mida saab nĂ€iteks kasutada hoiatuseks terminali emulaatoris. Signaali edastamise vorm mÀÀratakse komposiitmanagingeri otsusega, see vĂ”ib olla mitte ainult heli, vaid ka visuaalne tagasiside.
- fifo â rakendab FIFO-mehhanismi (esimene tuli â esimene lĂ€ks) kuvapinna sisu uuendamise jĂ€rjekorra töötlemiseks. Praktiliselt vĂ”imaldab protokoll oodata vertikaalse sĂŒvendi (vblank) lĂ”ppemist, mitte kasutada callback-kĂ”nesid iga kord, kui uus kaader on valmis kuvamiseks, lahendades probleemid kĂ”rge GPU koormusega VSync'i kasutamise korral.
- commit-timing â vĂ”imaldab siduda ajapiirangu pinnasisu muutustega (komposiitserver peab kuvama sisu muutuse vĂ”imalikult kiiresti ettenĂ€htud aja jooksul, kuid mitte varem).
- ext-data-control â vĂ”imaldab privileege omavatel klientidel hallata andmete töötlemist, nĂ€iteks lĂ”ikehaldurite rakendamiseks.
- ext-workspace â viib ellu kontseptsiooni virtuaalsetele töölauale ja pakub sĂŒndmusi töölauaseisundi kohta, samuti vĂ”imalusi töölauade aktiveerimiseks ja deaktiveerimiseks. Protokolli saab kasutada paneelide ja indikaatorite loomiseks, mis kuvavad loetelu saadaolevatest virtuaalsetest töölauadest ja vĂ”imaldavad nende vahel vahetada.
- vĂ€rvihaldus â pakub vĂ”imalusi vĂ€rvi juhtimiseks ja laia dĂŒnaamilise heleduse vahemiku toetamiseks (HDR, High Dynamic Range). Lisatöötluse abil saavad kliendiprogrammid teavet vĂ€rviedastuse omaduste kohta vĂ€ljundseadmete suhtes ning edastavad komposiitserverile andmed oma sisu vĂ€rviedastuse omaduste kohta. Komposiitserveris saab seda teavet kasutada vĂ€rvi automaatseks juhtimiseks sisu kuvamisel erinevates vĂ€ljundseadmetes, nĂ€iteks sisu konverteerimiseks, mis sobib HDR-monitoridel kuvamiseks. VĂ€rviruume kirjeldatakse ICC-profiilide abil.
- xdg-toplevel-tag â vĂ”imaldab Waylandi klientidel kinnitada silte taseme ĂŒlemistele pindadele, mida komposiitserver saab kasutada akende tuvastamiseks rakenduse taaskĂ€ivitamisel (nĂ€iteks rakendusel on vĂ”imalik mÀÀrata sildid "peamine aken" ja "seaded" peamise akna ja seadete akna jaoks). Selline tuvastamine on kasulik akende positsiooni, suuruse ja omaduste taastamiseks taaskĂ€ivitamisel, samuti erireeglite mÀÀramiseks eraldi aknatĂŒĂŒpidele.
- color-representation â Waylandi pinna vĂ€rvi esinduse mÀÀratlemine. Waylandi kliendid saavad edastada metaandmeid, mis on vajalikud lĂ€bipaistvuse, vĂ€rvimudeli, altdisreteerimise ja kvantimisvahemiku mÀÀratlemiseks, mida rakendatakse YCbCr vĂ€rvimudeli andmete konverteerimisel RGB esindusse.
- ext-background-effect â efektide rakendamine PoollĂ€bipaistvate Waylandi pindade, nĂ€iteks tausta, udustamisele.
- pointer-warp â vĂ”imaldab rakendusel kohe suunata kursor mÀÀratud asukohta.
Protokollid, mis on arendamisel "eksperimentaalses" harus:
- xx-session-management â akende seisundi taastamine katkestatud seansside jaoks (nĂ€iteks pĂ€rast komposiitmanĂageri juhuslikku sulgemist).
Protokollid, mis arendatakse «unstable» haru raames:
- «fullscreen-shell» â tĂ€ieliku ekraani reĆŸiimi haldamine.
- «input-method» â sisestusmeetodite töötlemine.
- «idle-inhibit» â ekraanilooja (screensaver) kĂ€ivitamise blokeerimine.
- «input-timestamps» â ajatempli tĂ€histamine sisendi sĂŒndmustele.
- «keyboard-shortcuts-inhibit» â klaviatuuri kombinatsioonide ja otsetee haldamine.
- «linux-explicit-synchronization» â Linuxile spetsiifiline puhverdamise sĂŒnkroonimise mehhanism pinnaga sidumisel.
- «pointer-gestures» â juhtimine puutetundlikelt ekraanidelt.
- «pointer constraints» â nĂ€idikute piirangud (blokkeerimine).
- «primary-selection» â sarnaselt X11-le vĂ”imaldab see primaarse lĂ”ikepuhvri (primary selection) töötlust, mille sisu sisestamine toimub tavaliselt keskklahvi abil.
- «relative pointer events» â suhtelised nĂ€idiku sĂŒndmused.
- «text-input» â teksti sisestamise korraldamine.
- «xdg-foreign» â liidese interaktsioon kĂ”rvalise kliendi pinnaga.
- «xdg-decoration» â akna dekoratsioonide joonistamine serveripoolsel poolel.
- «xdg-output» â tĂ€iendavad andmed videovĂ€ljundi kohta (kasutatakse murdosa suurenduseks).
- «xwayland-keyboard-grab» â sisendi haaramine XWaylandi rakendustes.
Allikas: opennet.ru
