Domenica scorsa è stata rilasciata la versione Sway 1.10, il popolare compositore Wayland ispirato al noto window manager i3, dopo 8 mesi dalla precedente versione Sway 1.9. Questa nuova versione, curata dal suo attuale manutentore Simon Ser, si basa sulla libreria wlroots 0.18 resa disponibile 3 mesi fa, che introduce numerose nuove funzionalità Wayland per i compositori.
Un compositore è un software che gestisce l’interfaccia grafica di un sistema operativo, in particolare tutto ciò che riguarda la visualizzazione delle finestre, la loro composizione sullo schermo e le interazioni dell’utente con esse. Per fare un’analogia: se pensiamo a un sistema operativo come a una casa, il compositore sarebbe l’architetto d’interni che decide come disporre le stanze (le finestre), come far interagire le persone (gli utenti) con gli oggetti all’interno delle stanze (le applicazioni) e come far apparire l’intera casa (lo schermo).
Le novità di wlroots 0.18
La libreria wlroots 0.18 porta con sé il supporto a nuovi protocolli, tra cui:
linux-drm-syncobj-v1: per una sincronizzazione esplicita;
alpha-modifier-v1: per il supporto del canale alfa sulle superfici;
ext-foreign-toplevel-list-v1: un protocollo per le barre delle applicazioni e i selettori di app;
ext-transient-seat-v1: per una migliore gestione dei casi d’uso VNC e remoto.
Inoltre, wlroots 0.18 offre miglioramenti per il supporto al rendering Vulkan, una nuova API di rendering stateless per la lettura dei buffer di pixel dalla GPU e molte altre modifiche.
Le novità di Sway 1.10
Sway 1.10 introduce diverse novità interessanti. Una delle più importanti è sicuramente il recupero dal ripristino della GPU. Immagina la tua scheda grafica come un motore: a volte, può surriscaldarsi o incontrare problemi e “riavviarsi†da solo per proteggersi. Questo evento è noto come “ripristino della GPUâ€. Quando ciò accade, l’immagine sullo schermo può corrompersi o scomparire del tutto. Sway, essendo il compositore responsabile della gestione di tutto ciò che vedi sullo schermo, è ora in grado di “riprendersi†più rapidamente dopo un ripristino della GPU, evitando che l’utente perda dati o debba riavviare il sistema. In pratica, se la tua scheda grafica si riavvia mentre stai lavorando, Sway farà del suo meglio per ripristinare l’interfaccia grafica nel più breve tempo possibile.
Un’altra novità significativa è l’introduzione di un nuovo comando per utilizzare un profilo ICC (International Color Consortium). Un profilo ICC è un file che contiene informazioni su come un dispositivo, come uno schermo o una stampante, riproduce i colori. Grazie a questo nuovo comando, gli utenti possono associare un profilo ICC specifico a un determinato output, ad esempio un monitor esterno, ottenendo così una calibrazione più precisa dei colori e una visualizzazione più fedele ai colori originali.
Infine, Sway 1.10 ha migliorato l’algoritmo di conferma dell’output. Questo algoritmo verifica che le modifiche apportate all’output, come un cambiamento nella risoluzione o nella frequenza di aggiornamento, siano state effettivamente applicate. Grazie a questo miglioramento, Sway 1.10 è in grado di rilevare e gestire in modo più efficiente eventuali errori durante la configurazione dell’output, garantendo un’esperienza utente più stabile e priva di problemi.
Inoltre, gli sviluppatori hanno deciso di riscrivere completamente la parte del programma responsabile della creazione dell’immagine che vediamo sullo schermo, ovvero il renderer. Immagina il renderer come un pittore che ha il compito di dipingere un quadro: in questo caso, il quadro è lo schermo del tuo computer e il pittore è il software che si occupa di disegnare tutte le finestre, le icone e gli altri elementi grafici che vedi.
Sway 1.10, invece di usare il vecchio pennello, ha deciso di adottare uno strumento di pittura molto più sofisticato e potente, ovvero l’API del grafo di scena di wlroots. Questa API è come una libreria di funzioni che fornisce al renderer un modo molto efficiente per organizzare e gestire tutti gli elementi grafici che devono essere visualizzati sullo schermo. È un po’ come avere a disposizione una tavolozza con colori più brillanti e pennelli di diverse dimensioni e forme, che permettono di creare immagini più dettagliate e realistiche.
Sfruttando questa nuova API, Sway 1.10 è in grado di gestire in modo più efficiente la composizione delle diverse finestre e degli elementi grafici, ottenendo così una serie di vantaggi:
Migliore utilizzo delle risorse: L’API di wlroots consente di ottimizzare l’utilizzo della scheda grafica, riducendo il carico di lavoro e migliorando le prestazioni complessive del sistema.
Animazioni più fluide: Le transizioni tra le finestre e le animazioni in generale risulteranno più scorrevoli e piacevoli alla vista.
Maggiore reattività : Il sistema risponderà in modo più rapido ai comandi dell’utente, ad esempio quando si sposta una finestra o si ridimensiona.
Tra i nuovi protocolli Wayland supportati da Sway 1.10 troviamo:
tearing-control-v1: Questo protocollo permette di attivare o disattivare il “tearing†(strappo) dell’immagine sullo schermo. In pratica, consente di scegliere se priorizzare la fluidità delle animazioni (a costo di qualche piccolo artefatto visivo) o una visualizzazione più stabile e precisa.
ext-transient-seat-v1: Questo protocollo è utile per le applicazioni remote, ovvero quelle che vengono eseguite su un computer diverso da quello su cui si sta lavorando. Grazie a questo protocollo, Sway può gestire in modo più efficiente le finestre di queste applicazioni, migliorando l’esperienza dell’utente.
ext-foreign-toplevel-list-v1: Questo protocollo permette a Sway di ottenere informazioni dettagliate sulle finestre di altre applicazioni, come ad esempio la loro posizione sullo schermo, le dimensioni e altri dettagli. Queste informazioni possono essere utili per implementare funzionalità avanzate come la gestione automatica delle finestre o la creazione di layout personalizzati.
xdg-shell v5: xdg-shell è un protocollo fondamentale per l’interazione tra un compositore Wayland (come Sway) e le applicazioni. La versione 5 introduce nuove funzionalità e miglioramenti che permettono di creare interfacce utente più moderne e performanti.
Inoltre è stato aggiunto anche il supporto per i popup IME (Input Method Editor) utilizzati per i caratteri cinesi, giapponesi e coreani, insieme a varie altre modifiche. Si tratta di strumenti software che aiutano gli utenti a inserire caratteri complessi, come quelli delle lingue asiatiche, utilizzando una tastiera standard. Quando attiviamo un IME, sullo schermo appare una piccola finestra (il popup IME) che ci mostra una serie di caratteri tra cui scegliere. In questo modo, possiamo digitare un carattere o una parola utilizzando una combinazione di tasti più semplice rispetto a dover memorizzare tutti i codici Unicode. Il fatto che Sway 1.10 supporti i popup IME significa che il gestore di finestre è in grado di gestire correttamente questi elementi grafici e di integrarli senza problemi nell’interfaccia utente. In pratica, questo significa che gli utenti che utilizzano lingue asiatiche avranno un’esperienza più fluida e naturale nell’inserimento di testi.
Ulteriori informazioni e download
Per maggiori dettagli e per scaricare Sway 1.10, potete visitare la pagina del progetto su GitHub.
Fonte: https://github.com/swaywm/sway/releases/tag/1.10
Fonte: https://www.phoronix.com/news/Sway-1.10-Released
Source: Read More