Wayland-Protocols 1.49 release

Paketet wayland-protocols 1.49 har släppts och innehåller en uppsättning protokoll och tillägg som kompletterar Wayland-protokollet och tillhandahåller de funktioner som behövs för att bygga sammansatta servrar och användarmiljöer.

I den nya versionen:

  • Добавлен экспериментальный протокол xx-fractional-scale, предоставляющий возможность масштабирования системы логических координат, значения в которой задаются целыми числами, для повышения точности позиционирования и увеличения разрешения логических координат до отдельных пикселей. Подобная возможность решает проблему с ограниченным разрешением системы логических координат, недостаточным для позиционирования на уровне отдельных пикселей, необходимого для полноценной реализации дробного масштабирования.
  • В протокол «linux-dmabuf» добавлена поддержка работы на системах с несколькими GPU. На подобных системах клиент может согласовать с композитными сервером какой из GPU следует использовать.
  • В протокол color-management-v1 добавлена поддержка метаданных изображений в формате BT.2100 для применения в композитном сервере специфичных обработчиков, позволяющих корректно отображать HDR-контент, созданный для Windows.

Alla protokoll går sekventiellt igenom utvecklings-, testnings- och stabiliseringsfaser. Efter att ha slutfört utvecklingsstadiet (den "instabila" kategorin), placeras protokollet i "staging"-grenen och inkluderas officiellt i wayland-protokollen, och efter att testningen är klar, flyttas den till den stabila kategorin. Protokoll från kategorin "staging" kan redan användas i sammansatta servrar och klienter där relaterad funktionalitet krävs. Till skillnad från kategorin "instabil" förbjuder "staging" att göra ändringar som bryter mot kompatibiliteten, men om problem och brister upptäcks under testning utesluts inte ersättning med en ny betydande version av protokollet eller ett annat Wayland-tillägg.

För att påskynda leveransen av protokoll till utvecklare och för att uppmuntra tidig implementering av protokoll i befintliga projekt, från och med den tidigare utgåvan, lades en "experimentell" fas till, som möjliggör ändringar som bryter kompatibiliteten och tillägg av "rå" protokoll som gradvis kan föras till rätt nivå. Medan ett protokoll behöver bilda ett supportteam och få ett visst antal bekräftelser (ACK) från granskare för att gå in i stadiefasen, behöver det bara inte ta emot några invändningar (NACK) under den två veckor långa granskningsperioden för att gå in i experimentfasen.

Wayland-protokollsviten innehåller för närvarande följande stabila protokoll, som är bakåtkompatibla:

  • "viewporter" - låter klienten utföra skalnings- och ytkantskärningsåtgärder på serversidan.
  • "presentation-time" - ger videovisning.
  • "xdg-shell" är ett gränssnitt för att skapa och interagera med ytor som fönster, så att du kan flytta dem runt på skärmen, komprimera, expandera, ändra storlek, etc.
  • "linux-dmabuf" - ger möjligheter för att skapa wl_buffers baserade på DMA-BUF.
  • "surfplatta" - organisering av input från grafiska surfplattor.

Protokoll testade i "staging"-grenen:

  • drm-lease - tillhandahåller de resurser som krävs för att generera en stereobild med olika buffertar för vänster och höger öga vid utmatning till virtual reality-headset.
  • "ext-session-lock" - definierar ett sätt att låsa en session, till exempel när skärmsläckaren körs eller autentiseringsdialogrutan visas.
  • "single-pixel-buffer" - låter dig skapa enpixelbuffertar som inkluderar fyra 32-bitars RGBA-värden.
  • «xdg-activation» — позволяет передать фокус между разными поверхностями первого уровня (например, при помощи
    xdg-activation одно приложение может переключить фокус на другое).
  • content-type – Tillåter klienter att skicka information om innehållet som visas till den sammansatta servern, vilket kan användas för att optimera innehållsmedvetet beteende, som att ställa in specifika DRM-egenskaper som "innehållstyp". Stöd för följande innehållstyper deklareras: inget (ingen information om datatypen), foto (utmatning av digitala foton, kräver minimal bearbetning), video (video eller animation, mer exakt synkronisering krävs för att undvika stamning) och spel (lansering spel, utdata från minsta fördröjning).
  • ext-idle-notify - Tillåter sammansatta servrar att skicka meddelanden till klienter om användarinaktivitet, vilket kan användas för att aktivera ytterligare energisparlägen efter en viss tids inaktivitet.
  • rivkontroll - låter dig inaktivera vertikal synkronisering (VSync) med en vertikal dämpningspuls i helskärmsapplikationer, som används för att skydda mot rivning i utdata. I multimediaapplikationer är artefakter på grund av rivning en oönskad effekt, men i spelprogram kan artefakter tolereras om hanteringen av dem orsakar ytterligare förseningar.
  • ext-foreign-toplevel-list - Hämtar information om ytor placerade på översta nivån, vilket gör att du kan organisera fönster för att docka ovanpå annat innehåll, till exempel för att fästa dina egna paneler och fönsteromkopplare.
  • security-context - låter dig identifiera klienter med hjälp av sandlådeisolering. En klient kan registrera en ny anslutning till en Wayland-baserad sammansatt server och bifoga en säkerhetskontext till den, varefter den sammansatta hanteraren kommer att begränsa de möjligheter som är tillgängliga för den etablerade anslutningen baserat på det angivna säkerhetskontexten.
  • cursor-shape är ett alternativt sätt att anpassa markörens utseende, baserat på att skicka en serie av markörbilder istället för att knäppa till en yta (wl_surface).
  • "ext-transient-seat" - utformad för att skapa tillfälliga oberoende sessioner (säten) designade för användning med virtuella inmatningsenheter. Till exempel, när du implementerar möjligheten att ansluta till ett fjärrskrivbord, låter protokollet dig skapa en separat session för varje användare med ett virtuellt tangentbord och mus.
  • "xdg-toplevel-drag" - utökar "dra & släpp"-mekanismen med möjligheten att fästa fönster på toppnivå till en dragoperation, som till exempel kan användas för att organisera dragning av verktygsfält eller webbläsarflikar med musen. Det nya protokollet låter dig skapa löstagbara delar av ett fönster som, när de dras från det fönstret, blir nya fönster och kan flyttas ovanpå det befintliga fönstret innan de sätts fast igen.
  • "xdg-dialog" - låter dig tilldela dialogspecifika attribut till ytor på toppnivå, till exempel kan du skapa modala dialoger som blockerar användarinteraktion med resten av gränssnittet.
  • "linux-drm-syncobj" - tillhandahåller verktyg för explicit buffertsynkronisering med DRM (Direct Rendering Manager) synkroniseringsobjekt. Det antas att i samband med synkronisering vid rendering till en buffert, kommer det föreslagna protokollet att förbättra arbetet med drivrutiner baserade på Vulkan- och OpenGL-grafik-API:erna (implementeringen är baserad på hanterare i drivrutinerna). Det nya protokollet gör det möjligt att säkerställa att en ritoperation till en buffert är klar innan kompositeringshanteraren visar den bufferten.
  • alpha-modifier, som tillåter klienter att ändra nivån av transparens på ytan och överföra operationer för att säkerställa transparens till sidan av den sammansatta servern, vilket i sin tur kan omdirigera dessa operationer till KMS.
  • xdg-toplevel-icon - bind ikonen till toppnivåfönstret.
  • ext-image-capture-source och ext-image-copy-capture - organisation av fånga innehåll som visas på skärmen.
  • xdg-system-bell - låter dig mata ut en systemsignal, som till exempel kan användas som en varning i en terminalemulator. Formen på utsignalen bestäms av komposithanteraren, det kan inte bara vara ett ljud utan ett visuellt svar.
  • fifo - implementerar en FIFO-mekanism (först in, först ut) för att behandla innehållsuppdateringskön för den visade ytan. På den praktiska sidan tillåter protokollet utdata att använda väntar på att vertikal skanning ska slutföras (vblank) istället för att använda callback-anrop varje gång det är redo att visa en ny ram, vilket löser problemet med hög GPU-belastning vid användning av VSync.
  • commit-timing - låter dig binda en tidsgräns till ytinnehållet (den sammansatta servern ska spegla innehållsändringen om möjligt efter den angivna tiden, men inte tidigare).
  • ext-data-control - Tillåter privilegierade klienter att kontrollera databehandling, till exempel för att implementera urklippshanterare.
  • ext-workspace - implementerar konceptet med virtuella skrivbord och erbjuder evenemang med information om status för stationära datorer, samt möjligheter för att aktivera och avaktivera skrivbord. Protokollet kan användas för att skapa paneler och indikatorer som visar en lista över tillgängliga virtuella skrivbord och låter dig växla mellan dem.
  • färghantering — ger funktioner för färghantering och stöd för utökat dynamiskt ljusområde (HDR, High Dynamic Range). Med den tillagda tillägget kan klientapplikationer få information om färgrelaterade egenskaper för utenheter och skicka data om färgrelaterade egenskaper för deras eget innehåll till den sammansatta servern. I en sammansatt server kan denna information användas för att automatiskt hantera färg vid visning av innehåll på olika utenheter, till exempel för att konvertera innehåll till en presentation som lämpar sig för visning på HDR-skärmar. ICC-profiler används för att beskriva färgrymder.
  • xdg-toplevel-tag — Tillåter Wayland-klienter att koppla taggar till toppnivåytor som kompositionsservern kan använda för att identifiera fönster efter att programmet har startats om (till exempel kan ett program ange taggar för "huvudfönster" och "inställningar" för huvudfönstret och inställningsfönstret). Sådan identifiering är användbar för att återställa fönsters position, storlek och egenskaper efter en omstart, och för att definiera specialregler för enskilda fönstertyper.
  • färgrepresentation — definierar färgrepresentationen för Wayland-ytan. Wayland-klienter kan skicka metadata som behövs för att definiera transparens, färgmodell, delsampling och kvantiseringsområde, och som används vid konvertering av en buffert med data som motsvarar YCbCr-färgmodellen till en RGB-representation.
  • ext-background-effect - tillämpar effekter på halvtransparenta delar av en Wayland-yta, såsom bakgrundsoskärpa.
  • pointer-warp – Tillåter ett program att omedelbart flytta pekaren till en angiven position.
  • xdg-session-management — возможности для восстановления состояния и позиции окон прерванного сеанса, например, после аварийного завершения композитного сервера или приложения.

Protokoll som utvecklas inom experimentgrenen:

  • xx-session-management - återställer Windows-tillståndet för avbrutna sessioner (till exempel efter en krasch i Composite Manager).
  • xx-input-method — låter applikationer implementera textinmatningsmetoder för sammansatta servrar och generera inmatad text, som till exempel kan användas för att skapa virtuella tangentbord och IME-lager (Input Method Editor) för inmatningsbehandling.
  • xx-text-input — låter sammansatta servrar implementera inmatningsmetoder och skicka text till applikationer. Protokollet standardiserar interaktioner mellan sammansatta servrar och applikationer och möjliggör kontroll över funktioner som att överföra inmatningstext, hantera fokushändelser för inmatning och ta hänsyn till specifika inmatningsfält (språk, textval, innehållstyp).
  • xx-cutouts — для получения информации о вырезах на экране (например, области под фронтальную камеру на экране смартфона).
  • xx-zones — для создания и добавления окон верхнего уровня в «зоны» — окружения со своим пространством координат. Протокол позволяет организовать логическую расстановку окон, в которой каждое окно размещается относительно другого окна.
  • xx-keyboard-filter — для перехвата клиентом выбранных событий клавиатуры, изменения событий ввода или блокирования передачи определённых событий в Wayland-поверхность, на которой установлен фокус ввода.

Protokoll som utvecklas i den "instabila" grenen:

  • "fullscreen-shell" - kontroll över arbetet i helskärmsläge.
  • "input-metod" - bearbetning av inmatningsmetoder.
  • "idle-inhibit" - blockerar start av skärmsläckaren (skärmsläckare).
  • "input-timestamps" - tidsstämplar för ingångshändelser.
  • "tangentbord-shortcuts-inhibit" - styr bifogningen av kortkommandon och snabbtangenter.
  • "linux-explicit-synchronization" är specifikt för Linux mekanism för att synkronisera buffertar i förhållande till ytan.
  • "pekargester" - styrning från pekskärmar.
  • "pekare begränsningar" - pekare begränsningar (blockering).
  • "primärt urval" - i analogi med X11 säkerställer det driften av det primära urklippet (primärt urval), från vilken information vanligtvis infogas med den mellersta musknappen.
  • "relativa pekarhändelser" - relativa pekarhändelser.
  • "textinmatning" - organisation av textinmatning.
  • "xdg-foreign" är ett gränssnitt för att interagera med ytorna på "grannklienten".
  • "xdg-decoration" - rendering av fönsterdekorationer på serversidan.
  • "xdg-output" - ytterligare information om videoutgången (används för fraktionerad skalning).
  • "xwayland-keyboard-grab" - fånga indata i XWayland-applikationer.

Källa: opennet.ru

Köp pålitlig hosting för webbplatser med DDoS-skydd, VPS VDS-servrar 🔥 Köp pålitlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster