Dopo otto mesi di sviluppo è stata pubblicata la versione stabile del server composito Weston 12.0, che promuove tecnologie che supportano una piena compatibilità con il protocollo Wayland in Enlightenment, GNOME, KDE e altri ambienti desktop. Lo sviluppo di Weston è mirato a fornire una base di codice di alta qualità e esempi pratici per l'utilizzo di Wayland in ambienti desktop e soluzioni embedded, come piattaforme per sistemi informativi e di intrattenimento automobilistico, smartphone, televisioni e altri dispositivi di consumo. Il codice del progetto è distribuito con licenza MIT.
Il cambiamento del numero di versione significativo di Weston è dovuto alle modifiche dell'ABI che interrompono la compatibilità. Le modifiche nel nuovo ramo di Weston:
- Aggiunto un backend per l'accesso remoto al desktop — backed-vnc, che svolge funzioni simili a backend-rpd. Il protocollo VNC è implementato tramite aml e neatvnc. È supportata l'autenticazione degli utenti e la crittografia della connessione (TLS).
- Aggiunto un backend per la gestione dei multimedia server PipeWire.
- Modifiche nel backend DRM (Direct Rendering Manager):
- Implementato il supporto per configurazioni con più GPU. Per attivare GPU aggiuntive è stata proposta l'opzione "--additional-devices lista_dispositivi_output".
- Aggiunto il supporto per il protocollo tearing-control per disattivare la sincronizzazione verticale (VSync) con impulso di spegnimento fotogramma, utilizzato per prevenire il tearing durante la visualizzazione. Nelle applicazioni di gioco, disattivare VSync consente di ridurre i ritardi nella visualizzazione, a scapito della comparsa di artefatti dovuti al tearing.
- Aggiunto il supporto per la determinazione dei tipi di contenuto per HDMI (grafica, foto, film e giochi).
- Aggiunto e, se possibile, attivato il supporto per la rotazione del piano.
- Aggiunto il supporto per i connettori posticipati (writeback connector), utilizzati per creare screenshot.
- Aggiunta una proprietà per determinare 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 è supportata la multi-monitoria (multi-head) in fase preliminare.
- Nel backend headless, progettato per funzionare su sistemi senza schermo, è stata aggiunta la supporto per la decorazione dell'output, applicata per il test del plugin color-lcms.
- Il componente launcher-logind è stato dichiarato obsoleto e disattivato di default, invece si raccomanda di utilizzare launcher-libseat, che supporta anche logind.
- In libweston/desktop (libweston-desktop) è stata implementata la supporto per lo stato di attesa, utilizzato nella fase antecedente al collegamento del buffer di output al client, che può essere usato, ad esempio, per avviare il client sin dall'inizio in modalità a schermo intero.
- È stato implementato il protocollo weston-output-capture, destinato a creare schermate e che rappresenta una sostituzione più funzionale del vecchio protocollo weston-screenshooter.
- È stata aggiunta la 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 è stata implementata la supporto per l'autenticazione degli utenti tramite PAM e aggiunta il supporto per la quarta versione dell'interfaccia wl_output.
- Nel processo compositor è stata aggiunta una modalità semplificata per la scelta 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 implementata la supporto per il protocollo fractional-scale, che consente di utilizzare valori di scala non interi, e è stata attivata la modalità di rendering verticale della barra.
- Nella shell per i sistemi di infotainment automobilistico ivi-shell è stata implementata l'attivazione del focus di input dalla tastiera per la superficie xdg-shell, realizzata analogamente all'attivazione dell'input nelle shell desktop-shell e kiosk-shell.
- La libreria condivisa libweston-desktop è stata integrata nella libreria libweston, il collegamento delle applicazioni con libweston permetterà di accedere a tutte le funzionalità precedentemente fornite in libweston-desktop.
Fonte: opennet.ru
