După opt luni de dezvoltare, a fost publicat un release stabil al serverului compozit Weston 12.0, care dezvoltă tehnologii ce facilitează suportul complet al protocolului Wayland în Enlightenment, GNOME, KDE și alte medii utilizator. Dezvoltarea Weston își propune să ofere o bază de cod de înaltă calitate și exemple funcționale pentru utilizarea Wayland în medii desktop și soluții încorporate, cum ar fi platformele pentru sisteme de infotainment în automobile, smartphone-uri, televizoare și alte dispozitive de consum. Codul proiectului este distribuit sub licența MIT.
Schimbarea numărului de versiune semnificative pentru Weston se datorează modificărilor ABI, care afectează compatibilitatea. Modificările din noua ramură Weston:
- A fost adăugat un backend pentru organizarea accesului la desktop de la distanță — backed-vnc, care îndeplinește funcții similare cu backend-rpd. Protocolul VNC este implementat prin aml și neatvnc. Este acceptată autentificarea utilizatorului și criptarea canalului de comunicare (TLS).
- A fost adăugat un backend pentru lucrul cu multimedia. serverul PipeWire.
- Modificări în backend-ul DRM (Direct Rendering Manager):
- A fost implementat suportul pentru configurații cu GPU multiple. Pentru activarea GPU-urilor suplimentare, a fost propusă opțiunea „—additional-devices lista_dispozitivelor_de_afisare”.
- A fost adăugat suportul pentru protocolul tearing-control pentru dezactivarea sincronizării verticale (VSync) cu pulsul de cadru, utilizat pentru a preveni apariția ruperilor în output (tearing). În programele de jocuri, dezactivarea VSync permite reducerea întârzierilor în output, dar cu prețul apariției artefactelor din cauza ruperilor.
- A fost adăugat suportul pentru determinarea tipurilor de conținut pentru HDMI (grafică, fotografii, filme și jocuri).
- A fost adăugat și, când este posibil, activat proprietatea de rotire a planului.
- A fost adăugat suportul pentru conectorii întârziati (writeback connector), utilizați pentru crearea de capturi de ecran.
- A fost adăugată o proprietate pentru a determina nivelul de transparență al planului.
- Pentru analiza metadatelor EDID, a fost utilizată o bibliotecă externă libdisplay-info.
- În backend-wayland, au fost implementate operații de redimensionare, utilizând extensia xdg-shell.
- În backend-ul de acces de la distanță backend-rdp, a fost adăugată suportul preliminar pentru sistemele multi-monitor (multi-head).
- În backend-ul headless, destinat funcționării pe sisteme fără afișaj, a fost adăugată suport pentru decorarea ieșirii, utilizată pentru testarea pluginului color-lcms.
- Componenta launcher-logind a fost declarată învechită și dezactivată implicit, în locul căreia se recomandă utilizarea launcher-libseat, care de asemenea suportă logind.
- În libweston/desktop (libweston-desktop) a fost implementat suportul pentru starea de așteptare, utilizat în etapa anterioară atașării buffer-ului de ieșire la client, ceea ce poate fi folosit, de exemplu, pentru a organiza lansarea clientului direct în modul ecran complet.
- A fost implementat protocolul weston-output-capture, destinat realizării de capturi de ecran și care servește ca o înlocuire mai funcțională a vechiului protocol weston-screenshooter.
- A fost adăugat suportul pentru protocolul xwayland_shell_v1, ce permite crearea unui obiect xwayland_surface_v1 pentru o anumită suprafață wl_surface.
- În biblioteca libweston a fost implementat suportul pentru autentificarea utilizatorilor prin intermediul PAM și a fost adăugat suport pentru versiunea 4 a interfeței wl_output.
- În procesul compositor a fost adăugat un mod simplificat de alegere a backend-ului, shell-ului și renderer-ului, permițând utilizarea sintaxei „—backend=headless”, „—shell=foo” și „—renderer=gl|pixman” în loc de „—backend=headless-backend.so”, „—shell=foo-shell.so” și „—renderer=gl-renderer.so”.
- Clientul simple-egl a adăugat suport pentru protocolul fractional-scale, permițând utilizarea valorilor de scară nenaturale și a fost implementat un mod de redare verticală a panoului.
- În shell-ul pentru sistemele de infotainment auto ivi-shell a fost implementată activarea focalizării input-ului de la tastatură pentru suprafața xdg-shell, realizată similar activării input-ului în shell-urile desktop-shell și kiosk-shell.
- Biblioteca partajată libweston-desktop a fost integrată în biblioteca libweston, legătura aplicațiilor cu libweston va oferi acces la toate funcțiile deja furnizate în libweston-desktop.
Sursa: opennet.ro
