Wayland 1.24 este disponibil

După 13 luni de dezvoltare, a fost lansată versiunea stabilă a protocolului, a mecanismului de interacțiune între procese și a bibliotecilor Wayland 1.24. Ramura 1.24 este compatibilă în mod retrograd la nivelul API și ABI cu versiunile 1.x și conține în principal corecții de erori și actualizări minore ale protocolului. Contribuțiile proiectului sunt distribuite sub licența MIT. Serverul de compunere de referință Weston, care oferă cod și exemple funcționale pentru utilizarea Wayland în medii desktop și soluții încorporate, se dezvoltă în cadrul unui ciclu de dezvoltare separat.

Principalele modificări în protocol:

  • A fost implementat interfața wl_fixes, care permite rezolvarea problemelor cu alte interfețe software ale protocoalelor de bază, care nu pot fi remediate prin propriile capacități ale acestor interfețe. De exemplu, cererea „wl_fixes::destroy_registry” permite eliminarea obiectului wl_registry, după care clientul nu va putea să-l folosească, iar serverul compozitor va înceta transmiterea evenimentelor prin intermediul acestuia.
  • În interfața wl_keyboard::key a fost implementat pseudo-starea „repeated”, care indică faptul că o tastă este apăsată. O tastă poate fi trecută în starea „repeated” doar după ce a trecut în starea „pressed”, dar înainte de a ajunge în starea „released”. Evenimentele legate de noua stare pot fi generate de mai multe ori, cât timp tasta este apăsată. Această modificare permite serverelor de compunere să gestioneze apăsările repetate ale tastelor ca stări separate, nu doar ca un flux de evenimente repetate de apăsare („pressed”), ceea ce poate fi util pentru organizarea lucrului cu desktopuri remote.
  • Au fost adăugate funcțiile wl_display_dispatch_queue_timeout() și wl_display_dispatch_timeout() pentru gestionarea evenimentelor din coadă cu timp de așteptare (funcțiile wl_display_dispatch și wl_display_dispatch_queue returnează 0 doar în absența evenimentelor, în timp ce variantele *_timeout returnează și la expirarea timpului de așteptare).
  • Au fost adăugate funcțiile wl_shm_buffer_ref() și wl_shm_buffer_unref() pentru accesarea memoriei partajate asociate cu bufferul wl_shm_buffer, după ce a fost eliminat (de exemplu, atunci când clientul își încheie activitatea). Aceste funcții permit deconectarea bufferului wl_shm_buffer de durata de viață a resursei principale wl_buffer, atunci când serverul de compunere trebuie să amâne trecerea la o nouă stare.
  • Funcțiile wl_proxy_get_interface() și wl_resource_get_interface() au fost adăugate, returnând wl_interface pentru resursa specificată, ceea ce este cerut în încarnările pentru limbaje de programare cu tipare dinamice.
  • Funcția wl_resource_post_error_vargs() a fost adăugată, având rolul de alternativă pentru funcția wl_resource_post_error(), permițând transmiterea unei liste de argumente pentru formatul de string (va_list).

Cele mai notabile evenimente legate de Wayland, care au avut loc de la ediția anterioară:

  • Îmbunătățirea suportului pentru Wayland în driverele proprietare NVIDIA.
  • KDE plănuiește să păstreze doar suportul pentru Wayland. Separarea codului kwin_x11 și kwin_wayland.
  • Ubuntu și Kubuntu vor păstra doar suportul pentru sesiunea Wayland în GNOME și KDE.
  • În GDM, suportul pentru Wayland este lăsat implicit.
  • GTK a declarat backend-ul pentru X11 ca fiind învechit.
  • În Fedora 43 s-a decis eliminarea din depozit a pachetelor utilizate în GNOME pentru a funcționa pe un server X. Toți utilizatorii GNOME cu X11 vor fi forțați să treacă la o sesiune bazată pe Wayland.
  • În mediu de desktop Budgie, va rămâne doar suportul pentru Wayland.
  • În Xfce 4.20, este implementat suport parțial pentru Wayland.
  • MATE 1.28 cu suport experimental pentru Wayland.
  • Wayback — un server compozit Wayland pentru a rula desktop-uri pe baza X11.
  • Compania Valve a lansat proiectul Frog pentru a accelera promovarea noilor protocoale Wayland.
  • Biblioteca de construire a interfețelor grafice Cosmoe, care utilizează Wayland și API în stil BeOS.
  • Activarea implicită a driverului Wayland în Wine.
  • Trecerea Raspberry Pi OS la utilizarea Wayland.
  • Lansarea toolkit-ului grafic FLTK 1.4.0 cu suport pentru Wayland.
  • Setul Wayland-Protocols a primit o fază suplimentară de promovare a protocoalelor — „experimental”, dedicată reducerii barierelor în integrarea protocoalelor, accelerarea livrării acestora către dezvoltatori și stimularea implementării timpurii în proiectele existente.
  • AMD dezvoltă propriul său server compozit ACS, utilizând Wayland.
  • Șapte versiuni alfa ale mediului desktop COSMIC.
  • Actualizarea serverelor compozite: Weston 14.0, Niri 25.05, Wayland Maker 0.5, miracle-wm 0.5, Hyprland 0.49, labwc 0.8.3, Cage 0.2, Wayfire 0.9, Sway 1.11.

Extensii ale protocoalelor adăugate în ultimul an, care completează protocolul de bază Wayland și sunt furnizate într-un set separat de Wayland-Protocols:

  • color-management — capacități pentru gestionarea culorii și suportul pentru interval dinamic extins de lumină (HDR, High Dynamic Range).
  • color-representation-v1 — definirea reprezentării culorii pentru suprafața Wayland.
  • xdg-toplevel-tag — permite clienților Wayland să atașeze etichete la suprafețele de nivel superior, pe care serverul de compunere le poate folosi pentru a identifica feroneri după repornirea aplicației.
  • 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ă.
  • xx-session-management — recuperarea stării feronelor pentru sesiuni întrerupte (de exemplu, după o închidere neașteptată a managerului de compozitare).
  • xx-input-method — dezvoltarea unui nou protocol pentru utilizarea metodelor de introducere a textului. 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 birourilor.
  • xdg-system-bell — permite emiterea unui semnal sistem care poate fi folosit, de exemplu, ca avertisment în emulatoarele de terminal.
  • xdg-toplevel-icon — pentru a atașa o pictogramă la o fereastră de nivel superior.
  • ext-image-capture-source și ext-image-copy-capture — captarea conținutului afișat pe ecran.
  • fifo — implementează un mecanism FIFO (primul venit, primul servit) pentru gestionarea cozii de actualizare a conținutului suprafeței afișate.
  • 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).

Amintim că Wayland este un protocol de interacțiune între serverul de compunere și aplicațiile care lucrează cu acesta. Clienții efectuează singuri redarea ferestrelor lor într-un buffer separat, transmițând informațiile despre actualizări serverului de compunere, care combină conținutul bufferelor aplicațiilor individuale pentru a forma ieșirea finală, ținând cont de nuanțele posibile, cum ar fi suprapunerea ferestrelor și transparența. Cu alte cuvinte, serverul de compunere nu oferă API pentru redarea unor elemente individuale, ci lucrează doar cu feronțele deja formate, ceea ce permite eliminarea dublării bufferizării utilizând biblioteci de nivel înalt, cum ar fi GTK și Qt, care se ocupă de compilarea conținutului feronțelor.

Wayland rezolvă multe probleme de securitate ale X11, deoarece, spre deosebire de acesta, izolează input-ul și output-ul pentru fiecare feroncel, nu permite clientului să acceseze conținutul feroncelor altor clienți și nu permite interceptarea evenimentelor de input legate de alte feroncle. Suportul pentru funcționarea directă cu Wayland a fost implementat pentru majoritatea bibliotecilor grafice utilizate în Linux, inclusiv GTK, Qt, SDL, FLTK, wxWidgets, Clutter și EFL (Enlightenment Foundation Library).

Interacțiunea cu hardware-ul în Wayland/Weston, cum ar fi inițializarea, comutarea modurilor video (drm modesetting) și gestionarea memoriei (GEM pentru i915 și TTM pentru radeon și nouveau) plăcilor grafice, poate fi realizată direct printr-un modul care funcționează la nivel de kernel, ceea ce permite evitarea privilegiilor de superuser. Pentru a permite execuția aplicațiilor X11 standard într-un mediu bazat pe Wayland, este utilizat componenta DDX XWayland (Device-Dependent X), care are o organizare similară cu Xwin și Xquartz pentru platformele Win32 și macOS.

Wayland 1.24 este disponibilWayland 1.24 este disponibil


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