Izdanje Wayland protokola 1.43

Objavljen je paket wayland-protocols 1.43 koji sadrži skup protokola i proširenja koji nadopunjuju osnovni protokol Wayland i pružaju mogućnosti potrebne za izgradnju kompozitnih poslužitelja i korisničkih okruženja.

Wayland-Protocols 1.43 dodaje novi protokol "xdg-toplevel-tag" koji omogućuje Wayland klijentima da dodaju oznake površinama najviše razine koje kompozitni poslužitelj 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 postavki). Takva identifikacija je korisna za vraćanje položaja, veličine i svojstava prozora nakon ponovnog pokretanja te za definiranje posebnih pravila za pojedine vrste prozora.

Druga poboljšanja uključuju dodavanje informacija o ograničenjima operacija ruba površine najviše razine u xdg-shell protokol, koje upravitelj kompozitinga može koristiti za informiranje Wayland klijenata o ograničenjima poput toga može li se mijenjati veličina prozora ili ne.

Svi protokoli uzastopno prolaze kroz faze razvoja, testiranja i stabilizacije. Nakon završetka razvojne faze (kategorija “nestabilno”), protokol se stavlja u granu “staging” i službeno uključuje u set wayland-protocols, a nakon završetka testiranja premješta se u stabilnu kategoriju. Protokoli iz kategorije "staging" već se mogu koristiti u kompozitnim poslužiteljima i klijentima gdje je potrebna povezana funkcionalnost. Za razliku od kategorije "nestabilno", u "stagingu" je zabranjeno unositi promjene koje narušavaju kompatibilnost, ali ako se tijekom testiranja utvrde problemi i nedostaci, zamjena novom značajnom verzijom protokola ili drugim Waylandovim proširenjem nije isključena.

Kako bi se ubrzala isporuka protokola programerima i potaknula rana implementacija protokola u postojeće projekte, počevši od prethodnog izdanja, dodana je "eksperimentalna" faza koja omogućuje izmjene koje narušavaju kompatibilnost i dodavanje "sirovih" protokola koji se postupno mogu dovesti na odgovarajuću razinu. Dok protokol treba formirati tim za podršku i primiti određeni broj potvrda (ACK-ova) od recenzenata da bi ušao u fazu postavljanja, potrebno mu je samo da ne prima prigovore (NACK-ove) tijekom dvotjednog perioda pregleda da bi ušao u eksperimentalnu fazu.

Paket wayland-protocols trenutno uključuje sljedeće stabilne protokole, koji su kompatibilni sa prethodnim verzijama:

  • "viewporter" - omogućuje klijentu izvođenje radnji skaliranja i obrezivanja rubova površine na strani poslužitelja.
  • "presentation-time" - osigurava video prikaz.
  • "xdg-shell" je sučelje za stvaranje i interakciju s površinama kao što su prozori, omogućujući vam da ih pomičete po zaslonu, sažimate, širite, mijenjate veličinu itd.
  • "linux-dmabuf" - pruža mogućnosti za stvaranje wl_buffers na temelju DMA-BUF.
  • "tablet" - organizacija unosa s grafičkih tableta.

Protokoli testirani u grani "staging":

  • drm-lease - pruža resurse potrebne za generiranje stereo slike s različitim međuspremnicima za lijevo i desno oko prilikom izlaza na slušalice virtualne stvarnosti.
  • "ext-session-lock" - definira način zaključavanja sesije, na primjer, dok je pokrenut čuvar zaslona ili je prikazan dijaloški okvir za provjeru autentičnosti.
  • "single-pixel-buffer" - omogućuje stvaranje međuspremnika od jednog piksela koji uključuju četiri 32-bitne RGBA vrijednosti.
  • “xdg-aktivacija” - omogućuje vam prijenos fokusa između različitih površina prve razine (na primjer, pomoću xdg-aktivacije, jedna aplikacija može prebaciti fokus na drugu).
  • content-type - Omogućuje klijentima prosljeđivanje informacija o sadržaju koji se prikazuje kompozitnom poslužitelju, što se može koristiti za optimiziranje ponašanja svjesnog sadržaja, kao što je postavljanje specifičnih DRM svojstava kao što je "vrsta sadržaja". Deklarirana je podrška za sljedeće vrste sadržaja: ništa (nema informacija o vrsti podataka), fotografija (izlaz digitalnih fotografija, zahtijeva minimalnu obradu), video (video ili animacija, potrebna je preciznija sinkronizacija kako bi se izbjeglo zastajkivanje) i igra (pokretanje igre, izlaz s minimalnim kašnjenjem).
  • ext-idle-notify - Omogućuje kompozitnim poslužiteljima slanje obavijesti klijentima o neaktivnosti korisnika, što se može koristiti za aktiviranje dodatnih modova za uštedu energije nakon određenog vremena neaktivnosti.
  • tearing-control - omogućuje vam da onemogućite vertikalnu sinkronizaciju (VSync) s okomitim prigušnim pulsom u aplikacijama preko cijelog zaslona, ​​koji se koristi za zaštitu od trganja u izlazu. U multimedijskim aplikacijama, artefakti zbog kidanja su nepoželjni učinak, ali u programima za igranje, artefakti se mogu tolerirati ako rješavanje njih uzrokuje dodatna kašnjenja.
  • ext-foreign-toplevel-list - Dohvaća informacije o površinama postavljenim na najvišoj razini, koje vam omogućuju organiziranje prozora za pristajanje na drugi sadržaj, na primjer, za pričvršćivanje vlastitih ploča i prozorskih prekidača.
  • sigurnosni kontekst - omogućuje identifikaciju klijenata pomoću izolacije sandboxa. Klijent može registrirati novu vezu na kompozitni poslužitelj temeljen na Waylandu i priložiti mu sigurnosni kontekst, nakon čega će kompozitni upravitelj ograničiti mogućnosti dostupne uspostavljenoj vezi na temelju navedenog sigurnosnog konteksta.
  • cursor-shape je alternativni način za prilagodbu izgleda kursora, temeljen na prosljeđivanju niza slika kursora umjesto prianjanja na površinu (wl_surface).
  • “ext-transient-seat” - dizajniran za stvaranje privremenih neovisnih sesija (sjedala) dizajniranih za korištenje s virtualnim ulaznim uređajima. Na primjer, kada implementirate mogućnost povezivanja s udaljenom radnom površinom, protokol vam omogućuje stvaranje zasebne sesije za svakog korisnika s virtualnom tipkovnicom i mišem.
  • "xdg-toplevel-drag" - proširuje "drag & drop" mehanizam s mogućnošću pripajanja prozora najviše razine operaciji povlačenja, što se može koristiti, na primjer, za organiziranje povlačenja alatnih traka ili kartica preglednika pomoću miša. Novi protokol vam omogućuje stvaranje odvojivih dijelova prozora koji, kada se povuku iz tog prozora, postaju novi prozori i mogu se premjestiti na vrh postojećeg prozora prije ponovnog pričvršćivanja.
  • "xdg-dialog" - omogućuje vam dodjeljivanje atributa specifičnih za dijalog površinama najviše razine, na primjer, možete stvoriti modalne dijaloge koji blokiraju interakciju korisnika s ostatkom sučelja.
  • "linux-drm-syncobj" - pruža alate za eksplicitnu sinkronizaciju međuspremnika pomoću DRM (Direct Rendering Manager) sinkronizacijskih objekata. Pretpostavlja se da će u kontekstu sinkronizacije prilikom renderiranja u međuspremnik predloženi protokol poboljšati rad s upravljačkim programima koji se temelje na Vulkan i OpenGL grafičkim API-jima (implementacija se temelji na rukovateljima u upravljačkim programima). Novi protokol omogućuje da se osigura da je operacija crtanja u međuspremniku dovršena prije nego što upravitelj sastavljanja prikaže taj međuspremnik.
  • alpha-modifier, koji klijentima omogućuje promjenu razine transparentnosti površine i prijenos operacija kako bi se osigurala transparentnost na stranu kompozitnog poslužitelja, koji zauzvrat može preusmjeriti te operacije na KMS.
  • xdg-toplevel-icon - veže ikonu za prozor najviše razine.
  • ext-image-capture-source i ext-image-copy-capture - organizacija snimanja sadržaja prikazanog na ekranu.
  • xdg-system-bell - omogućuje vam izlaz signala sustava, koji se može koristiti, na primjer, kao upozorenje u emulatoru terminala. Oblik izlaznog signala određuje upravitelj kompozita; to može biti ne samo zvuk, već i vizualni odgovor.
  • fifo - implementira FIFO (prvi ušao, prvi izašao) mehanizam za obradu reda čekanja za ažuriranje sadržaja prikazane površine. S praktične strane, protokol omogućuje korištenje izlaza čekanjem da se okomito skeniranje završi (vblank) umjesto korištenja povratnih poziva svaki put kada je spreman za prikaz novog okvira, što rješava problem velikog opterećenja GPU-a kada se koristi VSync.
  • commit-timing - omogućuje vam vezanje vremenskog ograničenja za površinski sadržaj (kompozitni poslužitelj bi trebao odražavati promjenu sadržaja ako je moguće nakon navedenog vremena, ali ne ranije).
  • ext-data-control - Omogućuje privilegiranim klijentima kontrolu obrade podataka, na primjer za implementaciju upravitelja međuspremnika.
  • vanjski radni prostor — implementira koncept virtualna radna mjesta i nudi događaje s informacijama o stanju radnih površina, kao i mogućnost aktiviranja i deaktiviranja radnih površina. Protokol se može koristiti za izradu nadzornih ploča i indikatora koji prikazuju popis dostupnih virtualnih radnih površina i omogućuju prebacivanje između njih.
  • upravljanje bojama — pruža mogućnosti upravljanja bojama i podršku za visoki dinamički raspon (HDR). Ovo proširenje omogućuje klijentskim aplikacijama dobivanje informacija o svojstvima izlaznih uređaja vezanim uz boju i prosljeđivanje podataka o svojstvima boja vlastitog sadržaja kompozitnom poslužitelju. U kompozitnom načinu rada, poslužitelja Ove se informacije mogu koristiti za automatsko upravljanje bojama prilikom prikazivanja sadržaja na raznim izlaznim uređajima, na primjer za pretvaranje sadržaja u prezentaciju prikladnu za prikaz na HDR monitorima. ICC profili koriste se za opisivanje prostora boja.

Protokoli koji se razvijaju u "nestabilnoj" grani:

  • “fullscreen-shell” - kontrola rada na cijelom zaslonu.
  • "input-method" - obrada ulaznih metoda.
  • “idle-inhibit” - blokiranje pokretanja čuvara zaslona (čuvar zaslona).
  • "input-timestamps" - vremenske oznake za ulazne događaje.
  • "keyboard-shortcuts-inhibit" - kontrolira privitak tipkovničkih prečaca i prečaca.
  • "linux-explicit-synchronization" je specifičan za Linux mehanizam za sinkronizaciju međuspremnika u odnosu na površinu.
  • “pokazivačke geste” - upravljanje s ekrana osjetljivih na dodir.
  • “pointer constraints” - ograničenja pokazivača (blokiranje).
  • “primary-selection” - analogno X11, osigurava rad primarnog međuspremnika (primarni odabir), informacije iz kojeg se obično ubacuju srednjom tipkom miša.
  • “relative pointer events” - događaji relativnog pokazivača.
  • “text-input” - organizacija unosa teksta.
  • “xdg-foreign” je sučelje za interakciju s površinama “susjednog” klijenta.
  • "xdg-decoration" - renderiranje ukrasa prozora na strani poslužitelja.
  • "xdg-output" - dodatne informacije o video izlazu (koristi se za frakcijsko skaliranje).
  • "xwayland-keyboard-grab" - snimanje unosa u XWayland aplikacijama.

Izvor: opennet.ru

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