Gli schermi HiDPI sono sempre più diffusi e utilizzati su una grande varietà di dispositivi. Chi ha avuto modo di osservarne uno da vicino di sicuro avrà avuto difficoltà a distinguere pixel contigui, notando una migliore resa del testo e dei contenuti video ad alta definizione.
HiDPI è infatti l’acronimo di High Dots Per Inch e si riferisce ad una categoria di display caratterizzati da un’elevata densità di pixel, tale quasi da competere con la risoluzione della carta stampata.
Anche se i primi esempi di schermi HiDPI risalgono ai primi anni 2000 con i modelli T220 e T221 di IBM, la diffusione vera e propria inizia con l’introduzione dei Retina display da parte di Apple su iPhone 4 nel 2010. iOS è quindi il sistema operativo che ha garantito finora il miglior supporto a questa tecnologia, seguito da Windows 8.1 e successivi.
E Linux? Cosa dobbiamo aspettarci quando vogliamo usarlo con un monitor HiDPI?
In questo articolo faremo il punto della situazione sul supporto offerto sugli ambienti desktop più noti.
Per i nostri test useremo la versione beta di Ubuntu 16.04 Xenial Xerus, installato su un Lenovo ThinkPad T540p equipaggiato con uno schermo HiDPI con una risoluzione nativa di 2880x1620 pixels.
Promossi: Unity, Gnome, Cinnamon e KDE
Unity 7 è al momento uno dei migliori desktop environments per quanto riguarda il supporto HiDPI. Subito dopo l’installazione di Ubuntu 16.04, effettuato il primo login, gli elementi del desktop come pannello superiore, launcher di Unity, testo e icone appariranno eccessivamente piccoli e poco leggibili. Possiamo rimediare da Impostazioni di sistema->Monitor, modificando mediante l’apposito slider il valore di Scala per menù e barre dei titoli. Per il display usato in questi test il valore ottimale è 2, in caso di caratteristiche differenti (risoluzione e DPI) si possono sperimentare altri valori intermedi.
Diversamente da Unity, per Gnome
gsettings set org.gnome.desktop.interface scaling-factor 2
Se avete un monitor con risoluzione maggiore potete provare con il valore 3. Purtroppo a differenza di Unity il fattore di scala è intero, ciò significa che non sono ammessi valori intermedi come 1,5.
Questo è l’unico modo per rendere il supporto HiDPI completo, consistente tra tutti gli elementi dell’interfaccia e persistente al riavvio.
Esiste un’opzione Scala finestre
Finestre
Strumento di personalizzazione
Tweak Tool
Attività
Cinnamon Preferenze->Generali Doppio (HiDPI) Scalamento dell’interfaccia utente
KDE
Caratteri->Forza DPI per i caratteri
Monitor e schermi->Scala lo schermo->Scale
L’altezza del pannello va regolata a parte, mediante click del tasto destro sul pannello Opzioni di pannello->Impostazioni di Pannello->Altezza
Apportate queste modifiche è necessario riavviare il sistema per renderle effettive.

Bocciati: Xfce, LXDE e Mate
XFCE e LXDE sono ancora basati sul framework GTK2, e pertanto, senza sorpresa, ci rimane da constatare che il supporto HiDPI è ancora incompleto in XFCE e totalmente assente in LXDE, penalizzando fortemente l’uso di tali ambienti su questo tipo di pannello.
Abbiamo provato la Beta 1 di Xubuntu 16.04 che installa di default la versione 4.12 di Xfce.
Tramite Impostazioni->Aspetto->Caratteri->DPI personalizzati è possibile modificare il numero di DPI usato per i caratteri, ma sfortunatamente questa impostazione non ha alcun effetto sul resto dell’interfaccia, e lascia pertanto bordi delle finestre, le icone dei menu ed il resto dei controlli non correttamente scalati.
Gli unici elementi su cui è possibile agire sono le icone del desktop, delle quali possiamo aumentare la dimensione fino a 64 pixel tramite Impostazioni->Scrivania->Icone->Dimensione delle Icone
Pannello->Preferenze del Pannello->Visualizzazione->Dimensione riga (pixel)
Tuttavia nessuna di queste modifiche contribuisce a rendere l’esperienza utente piacevole.
Stesse considerazioni per LXDE sulla Beta 1 di Lubuntu 16.04
È bene citare in questo contesto LXQt
Si spera che ciò possa avvenire con la release 16.10, che beneficerebbe quindi del supporto nativo per HiDPI di Qt, introdotto dalla versione 5.6.
Mate
xrandr
Nel caso in cui dovessimo essere obbligati ad usare un ambiente desktop che non supporta gi HiDPI, ad esempio Xfce o LXDE, potremmo rendere l’interfaccia più usabile ricorrendo al tool xrandr.
Questa utility consente di modificare il comportamento dell'estensione randr (Rotate and Resize) al protocollo X11 per il rendering dell’interfaccia grafica su server X.
xrandr consente di modificare lo scaling del frame buffer di modo da adattarlo a qualsiasi risoluzione. L’unico problema è che l’interfaccia sarà scalata in una fase successiva a quella di disegno, e di conseguenza risulterà sfocata.

Le impostazioni di xrandr si applicano per monitor, identificato dal proprio nome. Nel caso di una configurazione singolo schermo vi basterà il comando seguente per ottenere l’identificativo.
xrandr | grep -v disconnected | grep connected | cut -d' ' -f1
Possiamo usare l’identificativo dello schermo (in questo caso Monitor1
xrandr --output Monitor1 --scale 0.5x0.5
Boot loader e schermate di avvio
In generale il supporto HiDPI è assente nei principali boot loader LILO e GRUB, dove è possibile attuare un piccolo miglioramento incrementando la dimensione del font. Tuttavia data la limitata interazione con questi componenti, il mancato supporto HiDPI può essere facilmente tollerato.
Per quanto riguarda i greeter di sistema, Ligthdm e Unity greeter non scalano correttamente, mentre MDM (MATE Display Manager), che troviamo di default su Linux Mint, supporta parzialmente gli HiDPI.