Lansarea Wayland-Protocols 1.48

A fost lansată versiunea pachetului wayland-protocols 1.48, care conține un set de protocoale și extensii ce completează protocolul de bază Wayland și oferă funcționalitățile necesare pentru construirea serverelor compozite și a mediilor utilizatorilor.

În noua versiune:

  • Protocolul xdg-session-management a fost adăugat în categoria „staging”, oferind capacități de recuperare a stării și poziției feronialelor dintr-o sesiune întreruptă în mediile bazate pe protocolul Wayland, de exemplu, după o închidere neașteptată a serverului compozit sau a aplicației.
  • Funcționalitățile protocolului text-input au fost extinse, permițând serverelor compozite să implementeze metode de introducere și să trimită text în aplicații. De exemplu, a fost adăugat un flag no_emoji pentru introducerea fără Emoji, s-a realizat suportul pentru acțiuni suplimentare pe lângă inserția de text, a fost adăugat un flag language pentru transmiterea informațiilor despre limbă, au fost adăugate cereri pentru a arăta și a ascunde panoul de introducere, precum și un flag preedit_hint pentru personalizarea stilului de editare preliminară.
  • A fost adăugat prototipul experimental xx-cutouts pentru a obține informații despre tăieturi pe ecran (de exemplu, zonele de sub camera frontală pe ecranul smartphone-ului).
  • A fost adăugat prototipul experimental xx-zones pentru a crea și a adăuga feroniale de nivel superior în „zone” - medii cu propriul spațiu de coordonate. Prototipul permite organizarea logică a poziționării feronialelor, în care fiecare fereastră este plasată în raport cu o altă fereastră.
  • A fost adăugat prototipul experimental xx-keyboard-filter pentru a intercepta evenimentele de tastatură selectate de client, a modifica evenimentele de intrare sau a bloca transmiterea anumitor evenimente către suprafața Wayland pe care este focalizată intrarea.

Toate protocoalele trec consecutiv prin fazele de dezvoltare, testare și stabilizare. După finalizarea etapei de dezvoltare (categoria «unstable»), protocolul este plasat în ramura «staging» și este inclus oficial în setul wayland-protocols, iar după finalizarea testării este mutat în categoria stabilă. Protocoalele din categoria «staging» pot fi deja utilizate în compozitori servere și clienți unde este necesară funcționalitatea asociată. Spre deosebire de categoria «unstable», în «staging» nu este permisă introducerea de modificări care să afecteze compatibilitatea, dar în cazul identificării de probleme și neajunsuri în timpul testării, nu este exclusă înlocuirea cu o nouă versiune semnificativă a protocolului sau cu altă extensie Wayland.

Pentru a accelera implementarea protocoalelor către dezvoltatori și a încuraja implementarea timpurie a protocoalelor în proiectele existente, începând cu lansarea anterioară, a fost adăugată suplimentar o fază „experimental”, în care sunt permise modificări care afectează compatibilitatea și adăugarea de protocoale „nefinisate”, care pot fi rafinate treptat. Dacă pentru a aduce un protocol în faza „staging” este necesar să se formeze o echipă de suport și să se obțină un număr specific de confirmări (ACK) de la participanții la revizuire, atunci pentru a ajunge în faza „experimental” este suficient să nu existe obiecții (NACK) pe parcursul unei perioade de revizuire de două săptămâni.

În prezent, setul de protocoale wayland-protocols include următoarele protocoale stabile, care asigură compatibilitate inversă:

  • viewporter» — permite clientului să efectueze acțiuni de scalare și decupare a marginilor suprafeței pe partea de server.
  • „presentation-time” — asigură redarea video.
  • „xdg-shell” — interfața de creare și interacțiune cu suprafețele ca și feronii, permițând mutarea acestora pe ecran, minimizarea, maximizarea, redimensionarea etc.
  • „linux-dmabuf” — oferă posibilități de creare a wl_buffer-elor pe baza DMA-BUF.
  • „tablet” – organizarea introducerii de la tablete grafice.

Protocoalele aflate în testare în ramura „staging”:

  • drm-lease — oferă resursele necesare pentru a forma o imagine stereoscopică cu diferite buffere pentru ochiul stâng și drept atunci când este redat pe căști de realitate virtuală.
  • «ext-session-lock» — definește mijloacele de blocare a sesiunii, de exemplu, în timpul activării ecranului sau afișării unui dialog de autentificare.
  • «single-pixel-buffer» — permite crearea de buffere cu un singur pixel, incluzând patru valori de 32 de biți RGBA.
  • «xdg-activation» — permite transferul focalizării între diferite suprafețe de nivel înalt (de exemplu, prin xdg-activation, o aplicație poate comuta focalizarea pe alta).
  • content-type — permite clienților să transmită informații despre conținutul afișat, care pot fi utilizate pentru a optimiza comportamentul în funcție de conținut, de exemplu, setarea unor proprietăți DRM specifice, cum ar fi „tipul de conținut”. Suportul este declarat pentru următoarele tipuri de conținut: none (fără informații despre tipul de date), photo (afișarea fotografiilor digitale, care necesită o procesare minimă), video (video sau animație, necesită o sincronizare mai precisă pentru a evita întârzierile) și game (lansarea jocurilor, necesită o redare cu întârziere minimă). server ext-idle-notify — oferă serverelor de compunere capacitatea de a trimite clienților notificări despre inactivitatea utilizatorului, care pot fi utilizate pentru a activa moduri suplimentare de economisire a energiei după o perioadă definită de inactivitate.
  • tearing-control — permite dezactivarea sincronizării verticale (VSync) în aplicațiile pe ecran complet cu pulsul de umbrire a cadrelor, utilizat pentru a preveni apariția rupturilor la redare (tearing). În aplicațiile multimedia, apariția artefactelor din cauza rupturilor este un efect nedorit, însă în programele de jocuri, artefactele pot fi tolerate dacă combaterea lor duce la întârzieri suplimentare.
  • ext-foreign-toplevel-list — obținerea de informații despre suprafețele plasate la cel mai înalt nivel (toplevel), care permit organizarea fixării feroneriilor deasupra altui conținut, de exemplu, pentru a conecta propriile panouri și întrerupătoare de feronerie.
  • ext-foreign-toplevel-list — obținerea de informații despre suprafețele plasate la cel mai înalt nivel (toplevel), care permit organizarea fixării feroneriilor deasupra altui conținut, de exemplu, pentru a conecta propriile panouri și întrerupătoare de feronerie.
  • security-context — permite identificarea clienților care folosesc izolarea prin sandbox. Clientul poate înregistra o nouă conexiune la serverul compozit bazat pe Wayland și poate atașa un context de securitate, după care, conform contextului de securitate specificat, managerul de compozitare va limita funcționalitățile disponibile pentru conexiunea stabilită.
  • cursor-shape — o metodă alternativă de configurare a aspectului cursorului, bazată pe transmiterea unei serii de imagini ale cursorului în loc de conectarea la suprafață (wl_surface).
  • „ext-transient-seat” – destinat creării de sesiuni temporare independente (seat), destinate utilizării împreună cu dispozitive virtuale de intrare. De exemplu, pentru a permite conectarea la un desktop de la distanță, protocolul permite crearea unei sesiuni separate pentru fiecare utilizator cu o tastatură și un mouse virtuale.
  • «xdg-toplevel-drag» — extinde mecanismul «drag & drop» prin posibilitatea de a atașa feronerie superioară la operația de mutare, care poate fi utilizată, de exemplu, pentru organizarea tragerii cu mouse-ul a panourilor de unelte sau tab-urilor browserului. Noul protocol permite crearea unor părți detașabile ale feronerie, care, atunci când sunt trase din această feronerie, devin feronerie noi și pot fi mutate deasupra unei feronerie existente înainte de a fi reatașate.
  • «xdg-dialog» — permite atribuirea unor caracteristici specifice feroneriilor de nivel superior, de exemplu, se pot crea dialoguri modale care blochează interacțiunea utilizatorului cu restul interfeței.
  • «linux-drm-syncobj» — oferă instrumente pentru sincronizarea explicită a bufferelor cu ajutorul obiectelor de sincronizare DRM (Direct Rendering Manager). Se presupune că, în contextul sincronizării în timpul redării în buffer, protocolul propus va îmbunătăți funcționarea cu driverele bazate pe API-uri grafice Vulkan și OpenGL (implementarea se bazează pe manipulatoarele din drivere). Noua metodă permite asigurarea că operațiunea de redare în buffer este completă înainte ca managerul de compunere să afișeze acel buffer.
  • alpha-modifier, care permite clienților să schimbe nivelul de transparență al suprafeței și să gestioneze operațiunile de transparență pe serverul de compunere, care la rândul său poate redirecționa aceste operațiuni către KMS.
  • xdg-toplevel-icon – asociază o pictogramă cu o fereastră de nivel superior.
  • ext-image-capture-source și ext-image-copy-capture – organizarea captării conținutului afișat pe ecran.
  • xdg-system-bell – permite emiterea unui semnal sistem care poate fi utilizat, de exemplu, ca avertisment în emulatorii de terminal. Forma în care este emis semnalul este la discreția managerului de compunere, acesta putând fi nu doar sonor, ci și o reacție vizuală.
  • fifo – implementează un mecanism FIFO (primul venit, primul servit) pentru gestionarea cozii de actualizare a conținutului suprafeței afișate. Din punct de vedere practic, protocolul permite utilizarea așteptării finalizării desfășurării verticale (vblank) în locul apelurilor callback la fiecare nou cadru, rezolvând astfel problema încărcării ridicate a GPU-ului în utilizarea VSync.
  • commit-timing – permite asocierea unei restricții de timp cu conținutul suprafeței (serverul de compunere ar trebui să afișeze modificarea conținutului cât mai repede posibil în decursul timpului specificat, dar nu mai devreme).
  • ext-data-control — permite clienților privilegiați să gestioneze procesarea datelor, de exemplu, pentru implementarea managerilor de clipboard.
  • ext-workspace — implementează conceptul birouri virtuale și oferă evenimente cu informații despre starea birourilor, precum și opțiuni pentru activarea și dezactivarea acestora. Protocolul poate fi utilizat pentru a crea panouri și indicatoare care afișează o listă de birouri virtuale disponibile și permit comutarea între ele.
  • color-management — oferă capacități pentru gestionarea culorii și suport pentru gama dinamică extinsă de luminozitate (HDR, High Dynamic Range). Prin intermediul extensiei adăugate, aplicațiile client pot obține informații despre proprietățile legate de reproducerea culorii ale dispozitivelor de ieșire și pot transmite serverului de compunere date despre proprietățile de reproducere a culorii ale propriului conținut. În compunerea server această informație poate fi folosită pentru a controla automat culoarea în timpul redării conținutului pe diferite dispozitive de ieșire, de exemplu, pentru a transforma conținutul într-un format adecvat pentru a fi afișat pe monitoare HDR. Profilurile ICC sunt folosite pentru a descrie spațiile de culoare.
  • xdg-toplevel-tag — permite clienților Wayland să atașeze etichete la suprafețele de nivel înalt, pe care serverul de compunere le poate folosi pentru a identifica feroneriile după repornirea aplicației (de exemplu, aplicația poate seta etichete ca „fereastră principală” și „setări” pentru fereastra principală și cea cu setări). Această identificare este utilă pentru restaurarea poziției, dimensiunii și proprietăților feroneriilor după repornire, precum și pentru a determina reguli speciale pentru tipuri diferite de feronerie.
  • reprezentarea culorii — definirea reprezentării culorii suprafeței Wayland. Clienții Wayland pot transmite metadate necesare pentru determinarea transparenței, modelului de culoare, subdizibilității și intervalului de cuantificare, aplicate la transformarea buffer-ului cu date corespunzătoare modelului de culoare YCbCr, în reprezentarea RGB.
  • efectul de fundal extins — aplicarea efectelor părților semi-transparente ale suprafeței Wayland, cum ar fi estomparea fundalului.
  • pointer-warp — permite aplicației să mute instantaneu cursorul în poziția specificată.

Programele dezvoltate în ramura „experimental”:

  • xx-session-management — recuperarea stării feronelor pentru sesiuni întrerupte (de exemplu, după o închidere neașteptată a managerului de compozitare).
  • xx-input-method - oferă aplicațiilor posibilitatea de a implementa metode de introducere a textului pentru compozite servere și să formeze textul introdus, ceea ce poate fi utilizat, de exemplu, pentru a crea tastaturi virtuale și straturi IME (Input Method Editor) pentru a gestiona introducerea.
  • xx-text-input — permite serverelor compozite să implementeze metode de introducere și să trimită text în aplicații. Protocolul standardizează interacțiunea dintre compozite serverul și aplicații, și permite gestionarea unor funcționalități precum transmiterea textului introdus, procesarea evenimentelor legate de schimbarea focusului de introducere și ținerea cont de specificitățile câmpurilor de introducere (limbaj, selecție de text, tip de conținut).

Programele dezvoltate în ramura «unstable»:

  • «fullscreen-shell» — gestionarea muncii în modul pe ecran complet.
  • «input-method» — procesarea metodelor de introducere.
  • «idle-inhibit» — blocarea activării screensaver-ului (saver de ecran).
  • «input-timestamps» — timpi pentru evenimentele de intrare.
  • «keyboard-shortcuts-inhibit» — gestionarea atașării combinațiilor de taste și a comenzilor rapide.
  • «linux-explicit-synchronization» — mecanism de sincronizare a bufferelor specific Linux, legat de suprafață.
  • «pointer-gestures» — gestionarea gesturilor de pe ecranele tactile.
  • «pointer constraints» — restricții pentru indicatoare (blocare).
  • «primary-selection» — similar cu X11, oferă funcționalitatea bufferului de schimb primar (primary selection), din care inserarea informației se face de obicei cu a treia buton al mouse-ului.
  • «relative pointer events» — evenimente relative pentru indicatoare.
  • «text-input» — organizarea introducerii de text.
  • «xdg-foreign» — interfața de interacțiune cu suprafețele clientului «vecin».
  • «xdg-decoration» — redarea decorațiunilor ferestrei pe partea serverului.
  • «xdg-output» — informații suplimentare despre ieșirea video (utilizat pentru scalarea fracționată).
  • «xwayland-keyboard-grab» — captarea intrării în aplicațiile XWayland.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster