Vydanie Wayland-Protocols 1.39 s podporou experimentálnych protokolov

Bolo vydané balenie wayland-protocols 1.39, ktoré obsahuje súbor protokolov a rozšírení, doplňujúcich základný protokol Wayland a poskytujúcich funkcionalitu potrebnú na vytváranie kompozitných serverov a používateľských prostredí.

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.

V novej verzii bola pridaná ďalšia fáza propagácie protokolov — „experimental“, zameraná na zníženie bariéry na zaradenie protokolov do súboru Wayland-Protocols, urýchlenie prenosu protokolov k vývojárom a stimuláciu skorého zavedenia v existujúcich projektoch. Nová fáza umožní zbaviť vývojárov protokolov dlhých diskusií a administratívy pred prijatím do súboru Wayland-Protocols.

Ak sa na zaradenie protokolu do fázy „staging“ vyžaduje vytvorenie tímu podpory a získanie určitého počtu potvrdení (ACK) od účastníkov recenzovania, tak pre vstup do „experimental“ stačí absencia námietok (NACK) počas dvojtýždňového recenzného obdobia. V fáze „experimental“ je povolené robiť zmeny, ktoré narušujú kompatibilitu, a pridávať „surové“ protokoly, ktoré je možné postupne dovedieť do požadovanej úrovne.

Do kategórie „staging“ boli pridané protokoly:

  • 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.

V súčasnosti obsahuje wayland-protocols nasledujúce stabilné protokoly, ktoré zaisť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 povrchmi ako s oknami, čo umožňuje ich presúvanie na obrazovke, minimalizovanie, maximalizovanie, zmenu veľkosti atď.
  • „linux-dmabuf“ — zabezpečuje zdieľanie viacerých grafických kariet pomocou technológie DMA-BUF (umožňuje vytvorenie wl_buffer na základe 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 klientom prenášať kompozitnému serveru informácie o zobrazovanom obsahu, ktoré môžu byť použité na optimalizáciu správania s ohľadom na obsah, napríklad nastavení špecifických vlastností DRM, ako je „content type“. Bola potvrdená podpora nasledujúcich typov obsahu: none (bez informácií o type dát), photo (výstup digitálnych fotografií, ktorý vyžaduje minimálne spracovanie), video (video alebo animácia, vyžaduje presnejšiu synchronizáciu, aby sa predišlo trhaniu) a game (spúšťanie hier, vyžaduje výstup s minimálnou latenciou).
  • 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 pre explicitnú synchronizáciu búferov pomocou DRM (Direct Rendering Manager) synchronizačných objektov. Predpokladá sa, že v kontexte synchronizácie pri vykresľovaní do búfera umožní navrhnutý protokol zlepšiť spoluprácu s ovládačmi na základe 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 vykreslenia do búfera bola dokončená skôr, ako zložený správca zobrazí tento búfer.
  • 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).

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.
  • 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