Quando si parla di distribuzioni Linux dotate di interfaccia grafica, si fa comunemente riferimento ai desktop environment. Essi rappresentano tuttavia solamente la punta dell’iceberg: sono molteplici i componenti software che concorrono al corretto funzionamento del desktop. Hyprland è un innovativo software che si inserisce a un livello più basso e interviene attivamente per attivare il cosiddetto tiling dinamico delle finestre.
Ma andiamo con ordine. Hyperland è essenzialmente un compositor (“compositore”) destinato ai sistemi Linux. Si occupa di combinare (“comporre”, appunto) le diverse immagini provenienti dalle finestre aperte in un’unica immagine finale visualizzata sullo schermo. Il desktop environment include il compositor, ma anche molto di più, come la gestione dei file, il pannello, le icone, e le applicazioni di sistema. Esempi famosi di compositor sono Mutter, usato nel desktop environment GNOME e KWin, utilizzato in KDE Plasma.
Perché c’è bisogno di un compositor Linux come Hyprland
Di recente fattura, Hyprland è un progetto già ampiamente maturo e, allo stesso tempo, molto promettente. Hyprland, infatti, è un compositore Wayland all’avanguardia progettato per offrire un’esperienza desktop moderna e personalizzabile in ambiente Linux.
Scritto in C++, Hyprland è perfettamente compatibile con le distribuzioni Arch, NixOS e openSUSE Tumbleweed. Come si vede nella pagina d’installazione, Hyprland gode anche di un supporto non ufficiale per molte altre distro Linux, anche se i risultati ottenibili potrebbero variare molto dall’una all’altra.
Il ruolo del protocollo Wayland nel rendering grafico
Il già citato Wayland è un protocollo di comunicazione progettato per gestire l’interazione tra un server grafico e le applicazioni client su sistemi operativi Unix-like, rappresentando una moderna alternativa al più datato X11 (X Window System). L’obiettivo di Wayland, il cui supporto inizia finalmente a diventare sempre più esteso (si pensi alla mossa strategica di NVIDIA su Ubuntu) è quello di migliorare le prestazioni di X11, rimuovendone le inefficienze e le inutili complessità.
Il modello client-server su cui si basa Hyprland consente una comunicazione più diretta e meno soggetta a ritardi rispetto a X11: i programmi in esecuzione richiedono la visualizzazione di buffer di pixel e il compositore, che agisce come server, gestisce il rendering e la visualizzazione.
Poiché ogni client interagisce con i propri frame in modo indipendente, il rendering effettuato con Wayland è più fluido e non mette in evidenza lag, sfarfallii e artefatti di nessun tipo.
Come funziona Hyprland e le sue principali caratteristiche
Oltre alla già citata piena compatibilità con Wayland, il composer Hyprland offre prestazioni eccellenti, con un’interfaccia elegante e moderna. Gli utenti possono inoltre personalizzare il desktop in modo visivamente accattivante. Il risultato è visibile in questo video.
In precedenza abbiamo citato Mutter, il compositor di GNOME. Si tratta di un classico stacking window manager, che si comporta in modo simile a quello che caratterizza Windows e macOS.
Hyprland è invece un window manager di tipo tiling, come accennato in precedenza. Basti pensare che provvede a ridimensionare automaticamente le finestre in base all’organizzazione del desktop. Se non si avessero altre applicazioni aperte, dotate di una finestra visibile, Hyprland mostra la finestra del programma avviato andando ad occupare tutto lo spazio disponibile.
Aprendo una seconda applicazione, questa andrà ad occupare metà dello spazio disponibile e così via. È possibile utilizzare a proprio piacimento i cosiddetti workspace, desktop virtuali che possono contenere finestre aperte di qualunque dimensione. È comunque possibile scegliere tra diversi layout e gestire le finestre con comandi intuitivi.
Con una combinazione di tasti, una finestra diventa “float” e può essere trascinata; premendo di nuovo la combinazione, torna “tiled”. Come lanciatori delle applicazioni (app launcher) si possono utilizzare diverse alternative. Bemenu, alternativa Wayland a dmenu, si posiziona in alto anziché al centro dello schermo e può essere liberamente configurato.
Hyprland adotta inoltre un’architettura modulare che facilita l’aggiunta di nuove funzionalità senza compromettere le prestazioni. Insomma, aiuta a costruirsi il desktop come sempre desiderato. La comunicazione interprocesso (IPC) è gestita tramite socket, consentendo un controllo efficiente delle finestre e delle applicazioni.
Installazione di Hyperland
Abbiamo detto che Hyprland è disponibile per diverse distribuzioni Linux. Il supporto sarà via via esteso ad altre distro ma è sempre bene consultare la lista di quelle ufficialmente supportate.
Per procedere con l’installazione su Arch Linux, distribuzione di per sé leggerissima e recentemente sostenuta da Valve con i suoi contributi tecnici ed economici, basta usare la sintassi seguente:
pacman -S hyprland
Su NixOS, basta aggiungere la riga seguente al file configuration.nix
:
programs.hyprland.enable = true;
Su openSUSE, basta scrivere zypper in hyprland
oppure installare il pacchetto tramite YaST2.