Utgivelsen av Wayland-Protocols 1.43

Utgaven av wayland-protocols 1.43 er publisert, og inneholder et sett med protokoller og utvidelser som kompletterer den grunnleggende Wayland-protokollen og gir nĂždvendige funksjoner for Ă„ bygge komposittservere og brukeromgivelser.

I Wayland-Protocols 1.43 er den nye protokollen «xdg-toplevel-tag» lagt til, som gjÞr det mulig for Wayland-klienter Ä feste merkelapper til toppnivÄoverflater, som komposittserveren kan bruke til Ä identifisere vinduer etter at applikasjonen har blitt restartet (for eksempel kan applikasjonen sette merkelapper som «hovedvindu» og «innstillinger» for hovedvinduet og innstillingsvinduet). Slik identifikasjon er nyttig for Ä gjenvinne posisjon, stÞrrelse og egenskaper til vinduene etter en omstart, samt for Ä fastsette spesielle regler for ulike vindustyper.

Blant andre forbedringer nevnes det at protokollen xdg-shell nÄ inkluderer informasjon om begrensninger for operasjoner med kantene pÄ toppnivÄoverflater, som kan brukes av komposittbehandleren til Ä informere Wayland-klienter om eksisterende begrensninger, for eksempel om vinduer kan endre stÞrrelse eller ikke.

Alle protokoller gÄr igjennom utviklings-, test- og stabiliseringsfaser sekvensielt. Etter at utviklingsfasen (kategori «unstable») er fullfÞrt, blir protokollen plassert i «staging»-grenen og offisielt inkludert i settet wayland-protocols, og etter fullfÞrt testing flyttes den til den stabile kategorien. Protokoller fra «staging»-kategorien kan allerede brukes i kompositservere og klienter, hvor relaterte funksjoner kreves. I motsetning til kategorien «unstable» er endringer som bryter bakoverkompatibiliteten forbudt i «staging», men hvis det oppdages problemer og mangler under testen, kan det ikke utelukkes at en betydelig ny versjon av protokollen eller et annet Wayland-utvidelse blir innfÞrt.

For Ä fremskynde prosessen med Ä fÄ protokoller til utviklerne og stimulere tidlig implementering av protokoller i eksisterende prosjekter, ble det fra forrige utgivelse ytterligere lagt til en fase «experimental», hvor endringer som bryter kompatibilitet er tillatt, samt introduksjonen av «rÄ» protokoller, som gradvis kan utvikles til Þnsket nivÄ. Hvis det kreves dannelse av en stÞttegruppe og et bestemt antall bekreftelser (ACK) fra vurderingsdeltakere for Ä fÄ protokollen inn i «staging»-fasen, er det tilstrekkelig at det ikke er noen innvendinger (NACK) i lÞpet av en to-ukers vurderingsperiode for Ä komme inn i «experimental».

Per nÄ inneholder settet med wayland-protocols fÞlgende stabile protokoller, som sikrer bakoverkompatibilitet:

  • «viewporter» — lar klienten utfĂžre handlinger for skalering og beskjĂŠring av kantene pĂ„ overflater pĂ„ serversiden.
  • «presentation-time» — sikrer visning av video.
  • «xdg-shell» — grensesnitt for opprettelse og interaksjon med flater som vinduer, som lar deg flytte dem pĂ„ skjermen, minimere, maksimere, endre stĂžrrelse osv.
  • «linux-dmabuf» — gir muligheter for Ă„ opprette wl_buffer-er basert pĂ„ DMA-BUF.
  • «tablet» — organisering av inngang fra grafiske tegnebrett.

Protokoller som testes i «staging»-grenen:

  • drm-lease — gir ressursene som trengs for Ă„ lage et stereobilde med forskjellige buffere for venstre og hĂžyre Ăžye ved utdata pĂ„ virtual reality-headset.
  • «ext-session-lock» — definerer midler for Ă„ lĂ„se sesjonen, for eksempel under drift av skjermsparer eller visning av autentiseringsdialog.
  • «single-pixel-buffer» — lar deg opprette enkeltpikselbuffere som inkluderer fire 32-bits RGBA-verdier.
  • «xdg-activation» – gir muligheten til Ă„ overfĂžre fokus mellom forskjellige toppnivĂ„overflater (for eksempel kan ett program med xdg-activation skifte fokus til et annet).
  • content-type – lar klienter gi komposittserveren informasjon om det vises innholdet, som kan brukes for Ă„ optimalisere oppfĂžrselen med hensyn til innholdet, for eksempel ved Ă„ angi spesifikke DRM-egenskaper som «content type». StĂžtte for fĂžlgende innholdstyper er erklĂŠrt: none (ingen informasjon om datatypen), photo (visning av digitale bilder som krever minimal behandling), video (video eller animasjon, krever mer presis synkronisering for Ă„ unngĂ„ hakking) og game (kjĂžring av spill, krever visning med minimal forsinkelse).
  • ext-idle-notify – gir komposittservere muligheten til Ă„ sende varsler til klienter om brukerens inaktivitet, som kan brukes til Ă„ aktivere ekstra strĂžmsparingsmoduser etter en viss tid med inaktivitet.
  • tearing-control – lar deg deaktivere vertikal synkronisering (VSync) med frame-dropping-puls i fullskjermsprogrammer, brukt for Ă„ hindre tearing ved visning. I multimediaapplikasjoner er dannelsen av artefakter som fĂžlge av tearing en uĂžnsket effekt, men i spillprogrammer kan det aksepteres hvis kampen mot dem fĂžrer til ekstra forsinkelser.
  • ext-foreign-toplevel-list – henter informasjon om overflater plassert pĂ„ det aller Ăžverste nivĂ„et (toplevel), som muliggjĂžr festing av vinduer over annet innhold, for eksempel for Ă„ koble til egne paneler og vindusskiftere.
  • security-context – lar identifisere klienter som bruker sandbox-isolering. Klienten kan registrere en ny tilkobling til en Wayland-basert komposittserver og koble til sikkerhetskontexten, hvoretter kompositthĂ„ndtereren i henhold til den angitte sikkerhetskonteksten vil begrense mulighetene tilgjengelig for den etablerte tilkoblingen.
  • cursor-shape – en alternativ mĂ„te Ă„ tilpasse utseendet til musepekeren pĂ„, basert pĂ„ Ă„ sende en serie musepekerbilder i stedet for Ă„ knytte til overflaten (wl_surface).
  • «ext-transient-seat» — er laget for Ă„ opprette midlertidige uavhengige sesjoner (seat) som er beregnet for bruk sammen med virtuelle innspillingsenheter. For eksempel, ved implementering av muligheten for Ă„ koble til en ekstern arbeidsflate, gjĂžr protokollen det mulig Ă„ opprette en egen sesjon for hver bruker med virtuelle tastatur og mus.
  • «xdg-toplevel-drag» — utvider «drag & drop» mekanismen med muligheten for Ă„ feste vinduer pĂ„ Ăžverste nivĂ„ til flyttingen, som kan brukes til Ă„ for eksempel organisere dra-og-slipp av verktĂžylinjer eller nettleserfaner. Den nye protokollen lar deg opprette frakoblede deler av vinduet som under draing blir til nye vinduer og kan flyttes over eksisterende vinduer fĂžr de blir festet igjen.
  • «xdg-dialog» — lar deg tilordne kjennetegn spesifikke for dialogvinduer til overflaten pĂ„ Ăžverste nivĂ„, for eksempel kan du lage modale dialoger som blokkerer brukerens interaksjon med resten av grensesnittet.
  • «linux-drm-syncobj» gir verktĂžy for eksplisitt synkronisering av buffere ved hjelp av DRM (Direct Rendering Manager) synkroniseringsobjekter. Det antas at den foreslĂ„tte protokollen i synkronisering under tegning til buffer vil forbedre driften med drivere basert pĂ„ grafiske API-er som Vulkan og OpenGL (implementeringen er basert pĂ„ hĂ„ndterere i driverne). Den nye protokollen gir mulighet for Ă„ sikre at tegneoperasjonen til bufferen er fullfĂžrt fĂžr komposisjonsmanageren viser denne bufferen.
  • alpha-modifier, som lar klienter endre nivĂ„et av gjennomsiktighet pĂ„ overflaten og utsette gjennomsiktighetsoperasjoner til komposittserveren, som igjen kan videresende disse operasjonene til KMS.
  • xdg-toplevel-icon — binding av ikon til vinduet pĂ„ Ăžverste nivĂ„.
  • ext-image-capture-source og ext-image-copy-capture — organisering av opptak av innhold som vises pĂ„ skjermen.
  • xdg-system-bell — lar deg sende et systemsignal, som kan brukes som en advarsel i terminalemulatorer for eksempel. Formen pĂ„ signalutgangen bestemmes av komposittadministratoren, og det kan ikke bare vĂŠre lyd, men ogsĂ„ visuell respons.
  • fifo — implementerer FIFO-mekanismen (fĂžrst inn, fĂžrst ut) for behandlingen av kĂžen for oppdatering av innholdet pĂ„ visningsflaten. Praktisk sett gjĂžr protokollen det mulig Ă„ bruke venting til vertikal uttoning (vblank) ved utdata fremfor Ă„ bruke callback-anrop ved hver klarhet for Ă„ vise et nytt bilde, noe som lĂžser problemet med hĂžy belastning pĂ„ GPU ved bruk av VSync.
  • commit-timing — lar binde et tidsbegrensning til innholdet pĂ„ flaten (komposittserveren mĂ„ vise endringen i innholdet sĂ„ raskt som mulig innen den angitte tiden, men ikke fĂžr).
  • ext-data-control — lar privilegerte kunder styre databehandlingen, for eksempel for Ă„ implementere utklippstavleforvaltere.
  • ext-workspace — implementerer konseptet virtuelle skrivebord og tilbyr hendelser med informasjon om tilstanden til arbeidsflatene, samt muligheter for Ă„ aktivere og deaktivere arbeidsflater. Protokollen kan brukes til Ă„ opprette paneler og indikatorer som viser en liste over tilgjengelige virtuelle arbeidsflater og lar brukerne bytte mellom dem.
  • color-management – gir moglegheiter for fargehandtering og stĂžtte for utvida dynamisk lysstyrke (HDR, High Dynamic Range). Gjennom den laadde utvidinga kan klientapplikasjonar hente informasjon om fargeoverfĂžringsrelaterte eigenskapar ved utstyret og sende data om fargeoverfĂžring av sitt eiget innhald til kompositt-serveren. serveren kan denne informasjonen brukes til automatisk fargestyring ved visning av innhold pĂ„ forskjellige utdataenheter, for eksempel for Ă„ konvertere innholdet til en form som passer for visning pĂ„ HDR-skjermer. ICC-profiler brukes til Ă„ beskrive fargeomrĂ„der.

Protokoller utviklet i 'unstable'-grenen:

  • 'fullscreen-shell' — styring av fullskjermsmodus.
  • 'input-method' — hĂ„ndtering av inndatametoder.
  • 'idle-inhibit' — blokkering av oppstart av skjermsparer.
  • 'input-timestamps' — tidsstempler for inndatahendelser.
  • 'keyboard-shortcuts-inhibit' — styring av vedheft av tastatursnarveier og hurtigtaster.
  • 'linux-explicit-synchronization' — Linux-spesifikk mekanisme for synkronisering av buffere relatert til flaten.
  • 'pointer-gestures' — styring fra berĂžringsskjermer.
  • 'pointer constraints' — begrensninger for pekeenheter (blokkering).
  • 'primary-selection' — pĂ„ samme mĂ„te som X11, gir det mulighet for Ă„ arbeide med primĂŠr utklippstavle (primary selection), hvor innsending av informasjon vanligvis skjer med midterste museknapp.
  • 'relative pointer events' — relative pekeevent.
  • 'text-input' — organisering av tekstinngang.
  • 'xdg-foreign' — grensesnitt for interaksjon med 'nabo' klientens flater.
  • 'xdg-decoration' — rending av vindusdekorasjoner pĂ„ serversiden.
  • 'xdg-output' — tilleggsinformasjon om videoutgang (brukes for brĂžk stĂžrrelse).
  • 'xwayland-keyboard-grab' — fangst av inndata i XWayland-applikasjoner.

Kilde: opennet.ru

KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KjĂžp pĂ„litelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster