Izdanje Wayland-Protocols 1.49

Predstavljen je izlazak paketa wayland-protocols 1.49, koji sadrži skup protokola i ekstenzija koje dopunjuju osnovni protokol Wayland i pružaju mogućnosti neophodne za izgradnju kompozitnih servera i korisničkih okruženja.

U novoj verziji:

  • Dodana je eksperimentalna protokolarna xx-fractional-scale, koja omogućava skaliranje sustava logičkih koordinata, čije se vrijednosti određuju cijelim brojevima, radi povećanja točnosti pozicioniranja i povećanja razlučivosti logičkih koordinata na razinu pojedinačnih piksela. Ova mogućnost rješava problem s ograničenom razlučivošću sustava logičkih koordinata, koji nije dovoljan za pozicioniranje na razini pojedinačnih piksela, što je potrebno za potpunu implementaciju djelomičnog skaliranja.
  • U protokol „linux-dmabuf“ dodana je podrška za rad na sustavima s više GPU-a. Na takvim sustavima klijent može dogovoriti s kompozitorom serverom koji GPU treba koristiti.
  • U protokol color-management-v1 dodana je podrška za metapodatke slika u formatu BT.2100 za primjenu u kompozitnom serveru specifičnim obraditeljima koji omogućuju ispravno prikazivanje HDR sadržaja stvorenog za Windows.

Svi protokoli prolaze kroz faze razvoja, testiranja i stabilizacije. Nakon završetka faze razvoja (kategorija 'unstable'), protokol se stavlja u granu 'staging' i službeno se uključuje u skup wayland-protocols, a nakon završetka testiranja premješta se u kategoriju stabilnih. Protokoli iz kategorije 'staging' već se mogu koristiti u kompozitnim poslužiteljima i klijentima, gdje je potrebna povezana funkcionalnost. Za razliku od kategorije „unstable” u „staging” zabranjena su bilo kakva raskidanja kompatibilnosti, ali u slučaju otkrivanja problema i nedovoljnosti tijekom testiranja, nije isključena zamjena novom značajnom verzijom protokola ili drugim Wayland proširenjem.

Kako bi se ubrzao prijenos protokola do programera i potaknula rana implementacija protokola u postojećim projektima, od pretposljednjeg izdanja dodatno je uvedena faza «experimental», u kojoj su dopuštene promjene koje narušavaju kompatibilnost i dodavanje «sirovih» protokola koje se postepeno mogu razvijati do odgovarajuće razine. Ako je za ulazak protokola u fazu «staging» potrebno formirati tim podrške i dobiti određeni broj potvrda (ACK) od sudionika recenziranja, za ulazak u «experimental» dovoljna je odsutnost prigovora (NACK) tijekom dvotjednog razdoblja recenziranja.

Trenutno skupina wayland-protocols uključuje sljedeće stabilne protokole, koji osiguravaju unazadnu kompatibilnost:

  • viewporter - omogućava klijentu da vrši akcije povećanja i obrezivanja rubova površine na strani. poslužitelja.
  • «presentation-time» — osigurava reprodukciju videa.
  • «xdg-shell» — sučelje za stvaranje i interakciju s površinama kao prozorima, što omogućuje njihovo pomicanje po ekranu, minimiziranje, maksimiziranje, promjenu veličine itd.
  • «linux-dmabuf» — pruža mogućnosti za stvaranje wl_buffer-a temeljenih na DMA-BUF-u.
  • «tablet» — organizacija unosa s grafičkih tableta.

Protokoli koji se testiraju u «staging» grani:

  • drm-lease — pruža resurse potrebne za stvaranje stereo prikaza s različitim spremnicima za lijevo i desno oko prilikom prikazivanja na slušalicama za virtualnu stvarnost.
  • «ext-session-lock» — definira sredstva za zaključavanje sesije, primjerice tijekom rada zaštitnika ekrana ili prikaza dijaloga za autentifikaciju.
  • «single-pixel-buffer» — omogućuje stvaranje jednopikselnih spremnika koji uključuju četiri 32-bitne RGBA vrijednosti.
  • «xdg-activation» — omogućuje prijenos fokusa između različitih površina prvog nivoa (na primjer, pomoću
    xdg-activation jedno aplikacija može prebaciti fokus na drugo).
  • content-type — omogućuje klijentima da proslijede kompozitnom poslužitelju informacije o prikazanom sadržaju koje se mogu koristiti za optimizaciju ponašanja prema sadržaju, na primjer, postavljanjem specifičnih DRM svojstava, poput «tipa sadržaja». Prijavljena podrška za sljedeće tipove sadržaja: none (nema informacija o tipu podataka), photo (izlaz digitalnih fotografija koji zahtijeva minimalnu obradu), video (video ili animacija, koja zahtijeva precizniju sinkronizaciju kako bi se isključila usporenja) i game (pokretanje igara, zahtijeva izlaz s minimalnim kašnjenjem).
  • ext-idle-notify — omogućava kompozitnim poslužiteljima da klijentima šalju obavijesti o neaktivnosti korisnika, što se može iskoristiti za aktiviranje dodatnih načina uštedu energije nakon određenog vremena neaktivnosti.
  • tearing-control — omogućuje isključivanje vertikalne sinkronizacije (VSync) s okvirem koji ublažava, korištene za sprečavanje pojave razdvajanja (tearing) u aplikacijama na cijelom ekranu. U multimedijskim aplikacijama, pojava artefakata zbog razdvajanja je nepoželjni učinak, ali u igrama se s artefaktima može tolerirati ako njihovo ispravljanje dovodi do dodatnih kašnjenja.
  • ext-foreign-toplevel-list — dobivanje informacija o površinama smještenim na samom vrhu (toplevel), koje omogućuju organizaciju pričvršćenih prozora iznad drugog sadržaja, na primjer, za povezivanje vlastitih panela i prekidača prozora.
  • security-context — omogućava identifikaciju klijenata koji koriste sandbox-izolaciju. Klijent može registrirati novu vezu s kompozitnim poslužiteljem temeljenim na Waylandu i povezati je s kontekstom sigurnosti, nakon čega će prema navedenom kontekstu sigurnosti kompozitni manager ograničiti mogućnosti dostupne za uspostavljenu vezu.
  • cursor-shape — alternativni način podešavanja izgleda pokazivača, temeljen na prijenosu niza slika pokazivača umjesto vezivanja uz površinu (wl_surface).
  • "ext-transient-seat" je namijenjen za kreiranje privremenih neovisnih sjedala (seat), namijenjenih korištenju s virtualnim uređajima za unos. Na primjer, prilikom implementacije mogućnosti povezivanja na udaljenu radnu površinu, protokol omogućuje kreiranje zasebnog sjedala s virtualnom tipkovnicom i mišem za svakog korisnika.
  • «xdg-toplevel-drag» - proširuje mehanizam «drag & drop» mogućnošću vezivanja prozora najvišeg nivoa uz operaciju pomicanja, što se može koristiti, na primjer, za organizaciju povlačenja mišem alatnih panela ili kartica preglednika. Novi protokol omogućava stvaranje odvojivih dijelova prozora koji, kada se povuku iz ovog prozora, postaju novi prozori i mogu se premještati iznad postojećeg prozora prije ponovnog vezivanja.
  • «xdg-dialog» - omogućuje dodjeljivanje površinama najvišeg nivoa atributa specifičnih za dijaloške prozore, na primjer, moguće je stvarati modalne dijaloge koji blokiraju interakciju korisnika s ostatkom sučelja.
  • «linux-drm-syncobj» - pruža alate za eksplicitnu sinkronizaciju bafera putem DRM (Direct Rendering Manager) objekata sinkronizacije. Pretpostavlja se da će u kontekstu sinkronizacije prilikom renderiranja u bafer predloženi protokol poboljšati rad s upravljačkim programima na temelju grafičkih API-ja Vulkan i OpenGL (implementacija se temelji na upraviteljima u upravljačkim programima). Novi protokol omogućuje osiguravanje da je operacija renderiranja u baferu završena prije nego što kompozitni upravitelj prikaže ovaj bafer.
  • alpha-modifier, koji omogućava klijentima da mijenjaju razinu prozirnosti površine i prebacuju operacije za postizanje prozirnosti na stranu kompozitnog poslužitelja, koji ih može preusmjeriti KMS-u.
  • xdg-toplevel-icon - vezivanje ikone uz prozor najvišeg nivoa.
  • ext-image-capture-source i ext-image-copy-capture - organizacija snimanja sadržaja koji se prikazuje na ekranu.
  • xdg-system-bell - omogućuje ispuštanje sistemskog signala, koji se može koristiti, na primjer, kao upozorenje u emulatoru terminala. Oblik ispuštanja signala određuje se po izboru kompozitnog upravitelja, to može biti ne samo zvuk, već i vizualna povratna informacija.
  • fifo — implementira FIFO mehanizam (prvi došao — prvi otišao) obrade reda ažuriranja sadržaja prikazane površine. S praktičnog stajališta, protokol omogućuje korištenje čekanja na završetak vertikalnog vraćanja (vblank) prilikom iscrtavanja umjesto korištenja callback poziva za svaku spremnost za prikaz novog okvira, što rješava problem visokog opterećenja GPU-a pri korištenju VSync.
  • commit-timing — omogućuje vezanje vremenskog ograničenja za sadržaj površine (kompozitni server mora prikazati promjenu sadržaja što je prije moguće, ali ne prije navedeno vrijeme).
  • ext-data-control — omogućava privilegiranim klijentima upravljanje obradom podataka, na primjer, za implementaciju upravitelja međuspremnika.
  • ext-workspace — implementira koncept virtualnih radnih površina i nudi događaje s informacijama o stanju radnih površina, kao i mogućnosti za aktivaciju i deaktivaciju radnih površina. Protokol se može koristiti za izradu panela i indikatora koji prikazuju popis dostupnih virtualnih radnih površina i omogućuju prebacivanje između njih.
  • color-management — pruža mogućnosti za upravljanje bojom i podršku proširenom dinamičkom rasponu osvjetljenja (HDR, High Dynamic Range). S dodatnim proširenjem, klijentske aplikacije mogu dobiti informacije o svojstvima uređaja za ispis povezanima s prijenosom boje i prenijeti kompozitnom poslužitelju podatke o svojstvima prijenosa boje vlastitog sadržaja. U kompozitnom poslužitelju, te informacije se mogu koristiti za automatsko upravljanje bojom prilikom prikazivanja sadržaja na različitim uređajima za ispis, na primjer, za pretvorbu sadržaja u format prikladan za prikaz na HDR monitorima. Za opisivanje prostora boja koriste se ICC profili.
  • xdg-toplevel-tag — omogućava Wayland klijentima da pridružuju oznake površinama na vrhunskom nivou koje kompozicijski server može koristiti za identifikaciju prozora nakon ponovnog pokretanja aplikacije (na primjer, aplikacija može postaviti oznake "glavni prozor" i "postavke" za glavni prozor i prozor s postavkama). Ova identifikacija je korisna za obnavljanje položaja, veličine i svojstava prozora nakon ponovnog pokretanja, kao i za određivanje posebnih pravila za različite vrste prozora.
  • color-representation — definicija kolor reprezentacije Wayland površine. Wayland klijenti mogu prenositi metapodatke potrebne za određivanje transparentnosti, kolor modela, subdiskretizacije i opsega kvantizacije, koji se primenjuju prilikom konverzije bafera s podacima koji odgovaraju color modelu YCbCr u RGB predstavu.
  • ext-background-effect — primena efekata na polu-transparentne delove Wayland površine, kao što je zamućenje pozadine.
  • pointer-warp — omogućava aplikaciji da trenutno premesti pokazivač na određenu poziciju.
  • xdg-session-management — mogućnosti za obnavljanje stanja i pozicije prozora prekinute sesije, na primjer, nakon iznenadnog završetka kompozitnog servera ili aplikacije.

Protokoli koji se razvijaju u "experimental" grani:

  • xx-session-management — obnova stanja prozora za prekinute sesije (na primjer, nakon neuspeha kompozicijskog menadžera).
  • xx-input-method — omogućuje aplikacijama da implementiraju metode unosa teksta za kompozitne servere i oblikuju unesen tekst, što se može koristiti, na primjer, za stvaranje virtualnih tipkovnica i IME slojeva (Uređivač metoda unosa) za obradu unosa.
  • xx-text-input — omogućuje kompozitnim serverima da implementiraju metode unosa i šalju tekst u aplikacije. Protokol standardizira interakciju između kompozitnog servera i aplikacija i omogućuje upravljanje takvim mogućnostima kao što su prijenos unesenog teksta, obrada događaja o promjeni fokusa unosa i uzimanje u obzir specifičnosti polja unosa (jezik, selekcija teksta, tip sadržaja).
  • xx-cutouts — za dobivanje informacija o izrezima na ekranu (na primjer, područjima pod prednjom kamerom na ekranu pametnog telefona).
  • xx-zones — za stvaranje i dodavanje prozora najvišeg nivoa u «zone» — okruženja sa svojim prostorom koordinata. Protokol omogućuje organizaciju logičkog rasporeda prozora, u kojem se svaki prozor postavlja u odnosu na drugi prozor.
  • xx-keyboard-filter — za presretanje odabranih događaja tipkovnice od strane klijenta, izmjenu ulaznih događaja ili blokiranje prijenosa određenih događaja na Wayland površinu koja ima fokus unosa.

Protokoli koji se razvijaju u "unstable" grani:

  • "fullscreen-shell" — upravljanje radom u punom ekranu.
  • "input-method" — obrada metoda unosa.
  • "idle-inhibit" — blokiranje pokretanja zaštitnog ekrana (screensaver-a).
  • "input-timestamps" — vremenske oznake za događaje unosa.
  • "keyboard-shortcuts-inhibit" — upravljanje vezivanjem kombinacija tastera i prečica.
  • "linux-explicit-synchronization" — mehanizam sinhronizacije bafera specifičan za Linux, vezan za površinu.
  • "pointer-gestures" — upravljanje putem dodirnih ekrana.
  • "pointer constraints" — ograničenja pokazivača (blokada).
  • "primary-selection" — slično X11, omogućava rad primarnog međuspremnika (primary selection), čije unošenje obično vrši srednja dugmad miša.
  • "relative pointer events" — relativni događaji pokazivača.
  • "text-input" — organizacija unosa teksta.
  • "xdg-foreign" — sučelje za interakciju sa površinama "susjednog" klijenta.
  • "xdg-decoration" — iscrtavanje dekoracija prozora na strani servera.
  • "xdg-output" — dodatne informacije o video izlazu (koristi se za fractional scaling).
  • «xwayland-keyboard-grab» — hvatanje ulaza u XWayland aplikacijama.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster