Vydanie Wayland-Protocols 1.44 a kompozitného servera Weston 14.0.2

Bol vydaný balík wayland-protocols 1.44, ktorý obsahuje súbor protokolov a rozšírení dopĺňajúcich základný protokol Wayland a poskytujúcich funkcie potrebné na vytvorenie kompozitných serverov a používateľských prostredí.

V wayland-protocols 1.44 bol navrhnutý nový protokol color-representation-v1 na definovanie farebného zobrazenia povrchu Wayland. S pomocou nového protokolu môžu klienti prenášať metadáta potrebné na určenie priehľadnosti, farebnej modely, subdiskretizácie a rozsahu kvantizácie, ktoré sa používajú pri konverzii dátového bufferu zodpovedajúceho farebnému modelu YCbCr na RGB.

Všetky protokoly postupne prechádzajú fázami vývoja, testovania a stabilizácie. Po dokončení fázy vývoja (kategória „unstable“) je protokol umiestnený do vetvy „staging“ a oficiálne zaradený do súboru wayland-protocols, a po dokončení testovania je presunutý do kategórie stabilných. Protokoly z kategórie „staging“ je možné už využívať v kompozitných serveroch a klientoch, kde je potrebná funkčnosť s nimi spojená. Na rozdiel od kategórie „unstable“ je v „staging“ zakázané vykonávať zmeny, ktoré narušujú kompatibilitu, no v prípade zistenia problémov a nedostatkov počas testovania nie je vylúčená výmena za novú významnú verziu protokolu alebo iné Wayland-rozšírenie.

Pre urýchlenie prenosu protokolov k vývojárom a stimuláciu skorého zavedenia protokolov do existujúcich projektov bola od predchádzajúceho vydania pridaná dodatočná fáza „experimental“, v ktorej sú povolené zmeny narušujúce kompatibilitu a pridávanie „surových“ protokolov, ktoré je možné postupne zdokonaľovať. Ak je na to, aby sa protokol dostal do fázy „staging“, potrebné vytvoriť tím podpory a získať určitý počet potvrdení (ACK) od recenzentov, pre vstup do fázy „experimental“ stačí, aby počas dvojtýždňového recenzného obdobia neboli vznesené žiadne námietky (NACK).

V súčasnosti obsahuje súbor wayland-protocols nasledujúce stabilné protokoly, ktoré zabezpečujú spätnú kompatibilitu:

  • „viewporter“ — umožňuje klientovi vykonávať akcie priblíženia a orezu okrajov povrchu na strane servera.
  • „presentation-time“ — zabezpečuje zobrazenie videa.
  • „xdg-shell“ — rozhranie na vytváranie a interakciu s plochami ako s oknami, umožňujúce ich presúvať po obrazovke, minimalizovať, maximalizovať, meniť ich veľkosť atď.
  • „linux-dmabuf“ — poskytuje možnosti na vytváranie wl_buffer-ov na báze DMA-BUF.
  • „tablet“ — organizácia vstupu z grafických tabletov.

Protokoly, ktoré sú testované vo vetve „staging“:

  • drm-lease — poskytuje zdroje potrebné na vytvorenie stereoscénického obrazu s rôznymi buframi pre ľavé a pravé oko pri výstupe na virtuálne helmy.
  • „ext-session-lock“ — definuje prostriedky na zamknutie relácie, napríklad počas aktivity ochrany obrazovky alebo zobrazenia autentifikačného dialógu.
  • „single-pixel-buffer“ — umožňuje vytvárať jednopixelové buffery, ktoré obsahujú štyri 32-bitové hodnoty RGBA.
  • „xdg-activation“ — umožňuje preniesť fokus medzi rôznymi povrchmi prvej úrovne (napríklad pomocou xdg-activation môže jedna aplikácia prepnúť fokus na inú).
  • content-type — umožňuje zákazníkom poskytnúť kompozičnému serveru informácie o zobrazenom obsahu, ktoré môžu byť použité na optimalizáciu správania sa s ohľadom na obsah, ako napríklad na nastavenie špecifických DRM vlastností, ako je „content type“. Je deklarovaná podpora nasledujúcich typov obsahu: none (žiadne informácie o type dát), photo (zobrazenie digitálnych fotografií, ktoré vyžaduje minimálne spracovanie), video (video alebo animácia, vyžaduje presnejšiu synchronizáciu, aby sa vylúčilo trhanie) a game (spustenie hier, vyžaduje zobrazenie s minimálnym oneskorením).
  • ext-idle-notify — umožňuje kompozitným serverom prenášať klientom upozornenia o nečinnosti používateľa, čo môže byť využité na aktiváciu dodatočných režimov úspory energie po určitom čase nečinnosti.
  • tearing-control — umožňuje vypnúť vertikálne synchronizovanie (VSync) s impulzom na potlačenie snímkov v aplikáciách na celú obrazovku, čo sa používa na ochranu pred roztrhnutím (tearing) pri zobrazovaní. V multimediálnych aplikáciách sa objavovanie artefaktov z roztrhnutia považuje za nežiaduci efekt, avšak v herných programoch sa s artefaktmi dá vyrovnať, ak ich potlačenie vedie k dodatočným oneskoreniam.
  • ext-foreign-toplevel-list — poskytuje informácie o povrchách umiestnených na najvyššej úrovni (toplevel), ktoré umožňujú organizovať pripnuté okná nad iným obsahom, napríklad na pripojenie vlastných panelov a prepínačov okien.
  • security-context — umožňuje identifikovať zákazníkov používajúcich izoláciu sandbox. Zákazník môže zaregistrovať nové pripojenie k kompozitnému serveru založenému na Wayland a pripojiť k nemu bezpečnostný kontext, po ktorom kompozitný manažér obmedzí možnosti dostupné pre nastavené pripojenie podľa zadaného bezpečnostného kontextu.
  • cursor-shape — alternatívny spôsob nastavenia vzhľadu kurzora, ktorý je založený na odosielaní série obrázkov kurzora namiesto viazania na povrch (wl_surface).
  • «ext-transient-seat» — určený na vytváranie dočasných nezávislých relácií (seat), ktoré sú navrhnuté na použitie s virtuálnymi vstupnými zariadeniami. Napríklad, pri implementácii možnosti pripojenia k vzdialenej pracovnej ploche protokol umožňuje vytvoriť pre každého používateľa samostatnú reláciu s virtuálnou klávesnicou a myšou.
  • «xdg-toplevel-drag» — rozširuje mechanizmus „drag & drop“ o možnosť pripojenia okien najvyššej úrovne k operácii presúvania, čo sa môže využiť napríklad na organizovanie presúvania panelov nástrojov alebo kariet prehliadača myšou. Nový protokol umožňuje vytvárať odpojiteľné časti okna, ktoré pri presúvaní z tohto okna sa stávajú novými oknami a môžu byť presúvané nad existujúcim oknom pred opätovným pripojením.
  • «xdg-dialog» — umožňuje priradiť povrchom najvyššej úrovne vlastnosti špecifické pre dialógové okná, napríklad je možné vytvárať modálne dialógy, ktoré blokujú interakciu používateľa s ostatnou časťou rozhrania.
  • „linux-drm-syncobj“ — poskytuje nástroje na explicitnú synchronizáciu bufferov pomocou objektov synchronizácie DRM (Direct Rendering Manager). Predpokladá sa, že v kontexte synchronizácie pri vykresľovaní do bufferu navrhnutý protokol umožní lepšiu prácu s ovládačmi na báze grafických API Vulkan a OpenGL (implementácia sa zakladá na spracovateľoch v ovládačoch). Nový protokol umožňuje overiť, že operácia vykresľovania do bufferu je dokončená skôr, ako kompozičný manažér zobrazuje tento buffer.
  • alpha-modifier, ktorý umožňuje klientom meniť úroveň priehľadnosti povrchu a presúvať operácie zabezpečenia priehľadnosti na stranu zloženého servera, ktorý môže tieto operácie preposlať KMS.
  • xdg-toplevel-icon – pripájanie ikony k oknu najvyššej úrovne.
  • ext-image-capture-source a ext-image-copy-capture – organizácia zachytávania obsahu, ktorý sa zobrazuje na obrazovke.
  • xdg-system-bell – umožňuje generovať systémový signál, ktorý môže byť použitý napríklad ako varovanie v emulátoroch terminálov. Forma výstupu signálu sa určuje podľa zloženého správcu, môže to byť nielen zvuk, ale aj vizuálny reakcia.
  • fifo – implementuje FIFO mechanizmus (prvý prišiel – prvý odišiel) spracovania fronty aktualizácie obsahu zobrazeného povrchu. Z praktického hľadiska protokol umožňuje pri výstupe využívať čakanie na dokončenie vertikálneho zosnímania (vblank) namiesto vyžadovania callbackov pri každej pripravenosti na zobrazenie nového snímku, čo rieši problém s vysokou záťažou na GPU pri používaní VSync.
  • commit-timing – umožňuje priradiť časové obmedzenie k obsahu povrchu (zložený server by mal zobraziť zmenu obsahu, ak je to možné, v rámci určeného času, ale nie skôr).
  • ext-data-control — umožňuje privilegovaným klientom spravovať spracovanie údajov, napríklad na implementáciu správcu schránky.
  • ext-workspace — realizuje koncept virtuálnych pracovných plôch a ponúka udalosti s informáciami o stave pracovných plôch, ako aj možnosti na aktiváciu a deaktiváciu pracovných plôch. Protokol môže byť použitý na vytváranie panelov a indikátorov, ktoré zobrazujú zoznam dostupných virtuálnych pracovných plôch a umožňujú prechod medzi nimi.
  • color-management — poskytuje možnosti na správu farieb a podporu rozšíreného dynamického rozsahu jasu (HDR, High Dynamic Range). Pomocou pridaného rozšírenia môžu klientské aplikácie získať informácie o relevantných vlastnostiach zariadení výstupu súvisiacich so farbou a prenášať kompozičnému serveru údaje o vlastnostiach spracovania farieb vlastného obsahu. V kompozitnom serveri tieto informácie môžu byť použité na automatickú správu farieb pri zobrazení obsahu na rôznych výstupných zariadeniach, napríklad na konverziu obsahu na formát vhodný na zobrazenie na HDR monitoroch. Na popis farebných priestorov sa používajú profily ICC.
  • xdg-toplevel-tag — umožňuje Wayland-klientom pripojiť tagy k povrchom najvyššej úrovne, ktoré môže kompozitný server použiť na identifikáciu okien po reštartovaní aplikácie (napríklad aplikácia môže nastaviť tagy "hlavné okno" a "nastavenia" pre hlavné okno a okno s nastaveniami). Takáto identifikácia je užitočná na obnovenie polohy, veľkosti a vlastností okien po reštartovaní, ako aj na určenie osobitných pravidiel pre jednotlivé typy okien.

Protokoly, ktoré sa vyvíjajú v pobočke „unstable“:

  • „fullscreen-shell“ – riadenie práce v režime celej obrazovky.
  • „input-method“ – spracovanie metód vstupu.
  • „idle-inhibit“ – blokovanie spustenia screensaveru (uzamknutie obrazovky).
  • „input-timestamps“ – časové pečiatky pre udalosti vstupu.
  • „keyboard-shortcuts-inhibit“ – správa pripojenie klávesových kombinácií a klávesových skratiek.
  • „linux-explicit-synchronization“ – špecifický pre Linux mechanizmus synchronizácie búferov vzhľadom na povrch.
  • „pointer-gestures“ – správa z dotykových obrazoviek.
  • „pointer constraints“ – obmedzenia ukazovateľov (blokovanie).
  • „primary-selection“ – analogicky s X11 zabezpečuje prácu primárneho schránkového systému (primary selection), vkladanie informácií z ktorého sa obvykle vykonáva stredným tlačidlom myši.
  • „relative pointer events“ – relatívne udalosti ukazovateľov.
  • „text-input“ – organizácia vkladania textu.
  • „xdg-foreign“ – rozhranie interakcie so „susednými“ povrchmi klienta.
  • „xdg-decoration“ – vykresľovanie dekorácií okien na strane servera.
  • „xdg-output“ – dodatočné informácie o videovýstupe (používa sa na zlomkové priblíženie).
  • „xwayland-keyboard-grab“ – uchopenie vstupu v aplikáciách XWayland.

Ďalšou poznámkou je aktualizácia projektu Weston 14.0.2, ktorý vyvíja referenčný kompozitný server zameraný na poskytovanie kvalitnej základne kódu a pracovných príkladov pre použitie Wayland v desktopových prostrediach a zabudovaných platformách. V novej verzii Weston, okrem opráv chýb, bol implementovaný backend VNC na vzdialenú prácu s pracovnou plochou s novou verziou knižnice neatvnc.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster