Dopo otto mesi di sviluppo, è stato rilasciato un aggiornamento stabile del server composito Weston 12.0, che promuove tecnologie volte a garantire un supporto completo del protocollo Wayland in Enlightenment, GNOME, KDE e altri ambienti desktop. Lo sviluppo di Weston è orientato a fornire una base di codice di alta qualità e esempi pratici per l'uso di Wayland in ambienti desktop e soluzioni integrate, come piattaforme per sistemi informativi e di intrattenimento automobilistici, smartphone, smart TV e altri dispositivi di consumo. Il codice del progetto è distribuito sotto licenza MIT.
Il cambiamento di un numero di versione significativo di Weston è dovuto a modifiche dell'ABI che rompono la compatibilità. Le modifiche nella nuova versione di Weston:
- È stato aggiunto un backend per l'organizzazione dell'accesso remoto al desktop — backed-vnc, che svolge funzioni simili a backend-rpd. Il protocollo VNC è implementato con aml e neatvnc. È supportata l'autenticazione dell'utente e la crittografia del canale di comunicazione (TLS).
- È stato aggiunto un backend per la gestione multimediale server PipeWire.
- Modifiche al backend DRM (Direct Rendering Manager):
- È stato implementato il supporto per configurazioni con più GPU. È stata proposta l'opzione "—additional-devices lista_dispositivi_output" per attivare GPU aggiuntive.
- È stato aggiunto il supporto per il protocollo tearing-control, che disabilita la sincronizzazione verticale (VSync) con impulso di oscuramento dei fotogrammi, utilizzata per prevenire il tearing durante il rendering. Nei programmi di gioco, disabilitare VSync consente di ridurre i ritardi nel rendering, a scapito dell'apparizione di artefatti dovuti al tearing.
- È stato aggiunto il supporto per la rilevazione dei tipi di contenuto per HDMI (grafica, foto, film e giochi).
- È stata aggiunta e, quando possibile, attivata la proprietà di rotazione del piano.
- È stato aggiunto il supporto per i connettori di scrittura ritardata (writeback connector), utilizzati per la creazione di screenshot.
- È stata aggiunta una proprietà per definire il livello di trasparenza del piano.
- Per l'analisi dei metadati EDID è stata utilizzata la libreria esterna libdisplay-info.
- Nel backend-wayland sono state implementate operazioni di ridimensionamento utilizzando l'estensione xdg-shell.
- Nel backend di accesso remoto backend-rdp è stato aggiunto il supporto preliminare per sistemi multi-monitor (multi-head).
- Nel backend backend-headless, progettato per funzionare su sistemi senza display, è stato aggiunto il supporto per la decorazione dell'output, utilizzata per testare il plugin color-lcms.
- Il componente launcher-logind è stato dichiarato obsoleto e disabilitato per impostazione predefinita, si raccomanda di utilizzare launcher-libseat, che supporta anch'esso logind.
- In libweston/desktop (libweston-desktop) è stato implementato il supporto per lo stato di attesa, applicabile nella fase precedente all'assegnazione del buffer di output al cliente, il che può essere utile, ad esempio, per avviare il cliente inizialmente in modalità a schermo intero.
- È stato implementato il protocollo weston-output-capture, progettato per creare screenshot e che costituisce una sostituzione più funzionale del vecchio protocollo weston-screenshooter.
- È stato aggiunto il supporto per il protocollo xwayland_shell_v1, che consente di creare un oggetto xwayland_surface_v1 per una superficie wl_surface specifica.
- Nella libreria libweston è stato implementato il supporto per l'autenticazione degli utenti tramite PAM e aggiunto il supporto per la 4ª versione dell'interfaccia wl_output.
- Nel processo compositor è stata aggiunta una modalità semplificata di selezione del backend, della shell e del renderer, che consente di utilizzare la sintassi "—backend=headless", "—shell=foo" e "—renderer=gl|pixman" invece di "—backend=headless-backend.so", "—shell=foo-shell.so" e "—renderer=gl-renderer.so".
- Nel client simple-egl è stata aggiunta la supporto per il protocollo fractional-scale, che consente di utilizzare valori di scala frazionari, ed è stata implementata la modalità di rendering verticale della barra.
- Nella shell per sistemi informativi e di intrattenimento automobilistici ivi-shell è stata attivata la messa a fuoco dell'input da tastiera per la superficie xdg-shell, implementata analogamente all'attivazione dell'input nelle shell desktop-shell e kiosk-shell.
- La libreria condivisa libweston-desktop è stata integrata nella libreria libweston, e il collegamento delle applicazioni con libweston permetterà di accedere a tutte le funzionalità precedentemente fornite in libweston-desktop.
Fonte: opennet.ru
