Udgivelsen af Wayland-Protocols 1.41 med støtte til farvestyring og HDR

Udgivet versionen af wayland-protocols 1.41, der indeholder et sæt protokoller og udvidelser, som supplerer den grundlæggende Wayland-protokol og tilbyder de funktioner, der er nødvendige for at bygge kompositservere og brugeromgivelser.

I den nye version er protokollen for farvestyring, der har været under udvikling siden 2014, tilføjet til kategorien "staging", og tilbyder muligheder for farvestyring og understøttelse af udvidet dynamisk lysstyrkeområde (HDR, High Dynamic Range). Med den tilføjede udvidelse kan klientapplikationer få oplysninger om farverelaterede egenskaber ved uddataenheder og videregive data om farvegengivelsesegenskaberne for deres eget indhold til kompositserveren. serveren kan disse oplysninger anvendes til automatisk farvestyring ved visning af indhold på forskellige output-enheder, for eksempel til at konvertere indhold til en repræsentation, der er velegnet til visning på HDR-monitorer. Der anvendes ICC-profiler til at beskrive farverum.

Currently, the set of wayland-protocols includes the following stable protocols, which ensure backward compatibility:

  • "viewporter" - giver klienten mulighed for at udføre handlinger vedrørende zoomning og beskæring af kanterne af overfladen på serversiden.
  • "presentation-time" - sikrer visning af video.
  • xdg-shell — an interface for creating and interacting with surfaces as windows, allowing them to be moved across the screen, minimized, maximized, resized, etc.
  • linux-dmabuf — provides capabilities for creating wl_buffer based on DMA-BUF.
  • "tablet" - organisering af indtastning fra grafiktabletter.

Protokoller, der testes i "staging"-grenen:

  • drm-lease - leverer de ressourcer, der er nødvendige for at danne et stereobillede med forskellige buffere til venstre og højre øje ved output på VR-headsets.
  • "ext-session-lock" - definerer midler til at låse sessionen, f.eks. under arbejdet med skærmskærm eller output af autentificeringsdialog.
  • «single-pixel-buffer» — giver mulighed for at skabe enkelt-pixel buffere, der inkluderer fire 32-bit RGBA værdier.
  • «xdg-activation» — tillader overførsel af fokus mellem forskellige topniveau overflader (for eksempel kan et program ved hjælp af xdg-activation skifte fokus til et andet).
  • content-type – giver mulighed for kunder at videregive oplysninger om den viste indhold til den sammensatte server, som kan anvendes til at optimere adfærden i henhold til indholdet, f.eks. ved at indstille specifikke DRM-egenskaber som "content type". Der er erklæret støtte til følgende indholdstyper: none (ingen oplysninger om datatype), photo (visning af digitale fotos, der kræver minimal behandling), video (video eller animation, der kræver mere præcis synkronisering for at undgå hak), og game (start af spil, der kræver visning med minimal forsinkelse).
  • tearing-control — giver mulighed for at deaktivere vertikal synkronisering (VSync) med et rammeforbrugspuls i fuldskærmsapplikationer, der anvendes til at forhindre opståen af tearing ved output. I multimedieapplikationer er det uønsket at opleve artefakter på grund af tearing, men i spilprogrammer kan der tolereres artefakter, hvis bekæmpelse af dem medfører yderligere forsinkelser.
  • ext-foreign-toplevel-list — modtagelse af oplysninger om overflader, der er placeret på det øverste niveau (toplevel), som muliggør fastgørelse af vinduer oven på andet indhold, for eksempel til tilslutning af egne paneler og vindueskontakter.
  • security-context — gør det muligt at identificere klienter, der bruger sandbox-isolering. Klienten kan registrere en ny forbindelse til den sammensatte server baseret på Wayland og knytte en sikkerhedskontekst til den, hvorefter den sammensatte manager i overensstemmelse med den angivne sikkerhedskontekst vil begrænse de tilgængelige muligheder for den etablerede forbindelse.
  • security-context — allows identifying clients using sandbox isolation. A client can register a new connection to the composite server based on Wayland and attach a security context to it, after which, according to the specified security context, the composite manager will restrict the capabilities available for the established connection.
  • cursor-shape — en alternativ metode til at konfigurere cursorens udseende baseret på overførslen af en række cursorbilleder i stedet for at binde det til overfladen (wl_surface).
  • ext-transient-seat — intended for creating temporary independent sessions (seat) designed to be used with virtual input devices. For example, when implementing the ability to connect to a remote desktop, the protocol allows creating a separate session with virtual keyboard and mouse for each user.
  • «xdg-toplevel-drag» — udvider «drag & drop»-mekanismen med muligheden for at knytte topniveau-vinduer til flytteoperationen, hvilket kan bruges til at organisere træk med musen af værktøjslinjer eller browserfaner. Den nye protokol muliggør oprettelse af adskillelige dele af vinduet, der under træk fra dette vindue bliver nye vinduer og kan bevæge sig over eksisterende vinduer før genfastgørelse.
  • «xdg-dialog» — tillader at tildele topniveau-flader egenskaber, der er specifikke for dialogvinduer, for eksempel kan man skabe modale dialoger, der blokerer brugerens interaktion med resten af brugergrænsefladen.
  • «linux-drm-syncobj» — leverer værktøjer til eksplicit synkronisering af buffere ved hjælp af DRM (Direct Rendering Manager) synkroniseringsobjekter. Det antages, at den foreslåede protokol i forbindelse med synkronisering ved rendering til buffer vil forbedre arbejdet med drivere baseret på grafiske API'er Vulkan og OpenGL (implementeringen er baseret på håndterere i driverne). Den nye protokol giver mulighed for at sikre, at renderingsoperationen til bufferen er afsluttet, før kompositionsmanageren viser denne buffer.
  • alpha-modifier, der giver klienter mulighed for at ændre niveauet af overensstemmelse af overfladen og udskyde operationer for at sikre transparens til den sammensatte server, som i sin tur kan omdirigere disse operationer til KMS.
  • xdg-toplevel-icon — binder et ikon til et topniveau-vindue.
  • ext-image-capture-source og ext-image-copy-capture — organiserer optagelsen af indhold vist på skærmen.
  • xdg-system-bell — giver mulighed for at afgive et systemsignal, som kan bruges som en advarsel i terminalemulatorer. Signalets outputform bestemmes af sammensætningsmanageren, og det kan være ikke blot lyd, men også visuel feedback.
  • fifo — implementerer en FIFO-mekanisme (først ind, først ud) til behandling af køopdateringer af det viste indhold. Praktisk set tillader protokollen ved udgang at bruge ventetid på afslutningen af den vertikale scanning (vblank) i stedet for at bruge callback-opkald ved hver klarhed til at vise et nyt billede, hvilket løser problemet med høj belastning på GPU'en ved brug af VSync.
  • commit-timing – giver mulighed for at knytte et tidsbegrænsning til overfladeindholdet (den sammensatte server skal vise ændringen i indholdet inden for den angivne tid, men ikke før).
  • ext-data-control — giver privilegerede kunder mulighed for at styre databehandlingen, f.eks. til implementering af udklipshåndterere.
  • ext-workspace — implementerer konceptet for virtuelle skriveborde og tilbyder begivenheder med information om status for arbejdsområder samt muligheder for at aktivere og deaktivere arbejdsområder. Protokollen kan anvendes til at oprette paneler og indikatorer, der viser en liste over tilgængelige virtuelle arbejdsområder og gør det muligt at skifte imellem dem.

Protokoller, der udvikles i «unstable»-grenen:

  • «fullscreen-shell» — styring af arbejder i fuldskærmstilstand.
  • «input-method» — behandling af inputmetoder.
  • «idle-inhibit» — blokering af aktivering af screensaver.
  • «input-timestamps» — tidsstempler for inputbegivenheder.
  • «keyboard-shortcuts-inhibit» — kontrol af vedhæftningen af tastaturkombinationer og genveje.
  • «linux-explicit-synchronization» — en Linux-specifik mekanisme til synkronisering af buffere i relation til overfladen.
  • «pointer-gestures» — kontrol fra berøringsskærme.
  • «pointer constraints» — begrænsninger for pegere (låsing).
  • «primary-selection» — ligesom i X11 muliggør funktionalitet for primære udklipsholder (primary selection), hvor indsættelse af information normalt foretages med musens midterste knap.
  • «relative pointer events» — relative events for pegere.
  • «text-input» — organisering af tekstindføring.
  • «xdg-foreign» — grænseflade til interaktion med 'nabo'-klientens overflader.
  • «xdg-decoration» — rendering af vinduesdekorationer på serversiden.
  • «xdg-output» — yderligere oplysninger om videoudgangen (anvendes til brøk-skala).
  • «xwayland-keyboard-grab» — indfangning af input i XWayland-applikationer.

Alle protokoller gennemgår konsekvent udviklings-, test- og stabiliseringsfaser. Efter afslutningen af udviklingsfasen (kategori "unstable") placeres protokollen i "staging"-grenen og inkluderes officielt i wayland-protocols-sættet, og efter afslutning af testningen flyttes den til de stabile kategorier. Protokoller fra "staging"-kategorien kan allerede anvendes i kompositservere og klienter, hvor der kræves relateret funktionalitet. I modsætning til "unstable"-kategorien er ændringer, der bryder kompatibiliteten, forbudt i "staging", men ved opdagelse af problemer og mangler under testen er det ikke udelukket, at den nye betydelige version af protokollen eller en anden Wayland-udvidelse kan erstatte den.

For speeding up the delivery of protocols to developers and encouraging early implementation of protocols in existing projects, starting from the penultimate release, an 'experimental' phase has been added, allowing changes that break compatibility and the inclusion of 'raw' protocols that can gradually be refined. To move a protocol into the 'staging' phase, a support team must be formed and a specific number of acknowledgments (ACK) from review participants must be obtained, whereas to enter 'experimental,' it is sufficient to have no objections (NACK) during a two-week review period.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster