versiune stabilă a serverului compozit , dezvoltând tehnologii care facilitează apariția unui suport complet pentru protocol în Enlightenment, GNOME, KDE și alte medii desktop. Dezvoltarea Weston vizează furnizarea unei baze de cod de înaltă calitate și exemple funcționale pentru utilizarea Wayland în medii desktop și în soluții încorporate, cum ar fi platformele pentru sisteme de infotainment auto, smartphone-uri, televizoare și alte dispozitive de consum.
Schimbarea unui număr semnificativ de versiune a Weston este determinată de modificări ABI care încalcă compatibilitatea. Modificările în Weston:
- A fost adăugat suport pentru tehnologia de protecție împotriva copierii ilegale a conținutului , care este utilizată pentru criptarea semnalului video transmis prin interface-uri DVI, DisplayPort, HDMI, GVIF sau UDI. În libweston a fost implementat un flag pentru apelurile weston_output, weston_surface și weston_head pentru a activa protecția conținutului transmis. A fost adăugat un exemplu de aplicație client pentru afișarea conținutului protejat;
- A fost adăugat un plugin pentru serverul multimedia , dezvoltat pentru a înlocui PulseAudio și care, pe lângă sunet, suportă procesarea fluxurilor video. Pluginul pentru organizarea ieșirii pe desktopul la distanță, similar cu pluginul anterior bazat pe GStreamer. Pe partea de primire, se poate folosi orice client compatibil cu pipewire, inclusiv GStreamer (de exemplu, „gst-launch-1.0 pipewiresrc ! video/x-raw,format=BGRx ! …”);
- În gl-renderer a fost adăugat suport pentru extensia EGL pentru actualizarea selectivă a conținutului suprafețelor, sărind peste zonele unde nu au fost modificări;
- A fost adăugat un nou framework weston_debug pentru depanarea și jurnalizarea evenimentelor (weston_log_context);
- Au fost adăugate noi fișiere header libweston-internal.h și backend.h. În primul au fost incluse funcțiile pentru lucrul cu
‘weston_compositor’, ‘weston_plane’, ‘weston_seat’, ‘weston_surface’, ‘weston_spring’, ‘weston_view’, iar în al doilea — ‘weston_output’; - Au fost aduse modificări pentru a asigura ;
- În compositor-drm a fost adăugat suport pentru proprietatea FB_DAMAGE_CLIPS. Codul pentru extragerea parametrilor EDID, procesarea modurilor video, interacțiunea cu API-ul KMS, lucrul cu frame buffer-ul și gestionarea stărilor a fost separat în fișiere distincte;
- A fost adăugat pluginul „file stream” pentru transmiterea conținutului din fișier;
- Backend-urile backend-drm,
backend-headless,
backend-rdp,
backend-wayland,
backend-x11 și
backend-fbdev au fost mutate într-un director separat; - Pentru optimizarea imaginilor PNG a fost folosit pachetul bazat pe algoritmul de compresie ;
- A fost adăugat suport pentru extensiile xdg_output_unstable_v1 și zwp_linux_explicit_synchronization_v1. Cerințele pentru versiunea pachetului au fost crescut (pentru construcție este necesar 1.18);
- Tranziția la sistemul de construcție . Suportul pentru construcția utilizând autotools a fost întrerupt.
Sursa: opennet.ro
