Cos'è lo Screen Tearing e Come Risolverlo su Linux

Sfortunatamente per gli appassionati di Linux, lo screen tearing è, e è stato, un fastidio persistente che non sembra andare da nessuna parte. Ci sono un paio di fattori che abilitano la longevità del problema dello screen tearing.
Primo, e probabilmente più ovvio, è il server X obsoleto, rotto e gonfio. Anche con i progressi di Wayland, X è qui per restare nel prossimo futuro. Successivamente c’è l’immagine strana e incoerente dei driver grafici. Uno dei maggiori colpevoli nel causare lo screen tearing è anche il produttore di GPU più popolare su Linux, NVIDIA. Aggiungi diversi ambienti desktop con le proprie impostazioni di visualizzazione e compositori, e hai un vero pasticcio.
Questi metodi speriamo possano eliminare lo screen tearing nella maggior parte delle situazioni, ma è impossibile fornire una soluzione universale, grazie alla quantità di variabili coinvolte. Prova ciò che si applica al tuo sistema e tieni presente che potrebbero esserci nuovi fattori coinvolti.
Leggi anche: Hai bisogno di un monitor a 360 Hz? Spiegazione delle frequenze di aggiornamento ultra-alte
NVIDIA
Questa non è l’unica soluzione per NVIDIA, e ci sono sicuramente situazioni a cui non si applica, ma è una delle opzioni migliori e non si basa sull’utilità grafica di NVIDIA che non sempre funziona bene con le configurazioni degli ambienti desktop.
Per iniziare, dovrai abilitare l’impostazione per il modulo NVIDIA DRM (modsetting). Inizia creando un file di configurazione nella directory modprobe.
sudotouch/etc/modprobe.d/nvidia-nomodset.confApri quel file con il tuo editor di testo preferito e inserisci la seguente riga:
options nvidia-drm modset=1
Aggiorna l’initramfs del tuo kernel per applicare la modifica.
sudo update-initramfs -uQuando hai finito, riavvia. Il tuo computer si riavvierà e tutto dovrebbe essere più fluido, ma non hai ancora finito.
Lo swap può salvarti in un momento critico, ma per qualcosa come la grafica, è piuttosto terribile. La cosa migliore che puoi fare qui per aumentare le prestazioni è ridurre la tendenza del tuo computer a utilizzare lo spazio di swap. Inizia controllando il tuo attuale “swappiness.”
cat/proc/sys/vm/swappiness
Probabilmente restituirà “60.” Questo è il valore predefinito, ma puoi impostarlo molto più basso. Apri “/etc/sysctl.conf” e aggiungi la seguente riga in fondo al file:
vm.swappiness=15Puoi impostare il valore in base a quanta RAM hai. 5 a 15 è di solito l’intervallo con cui puoi lavorare in sicurezza. Riavvia il computer e tutto dovrebbe essere più fluido.
Intel
Le grafiche Intel su Linux di solito non sono un grosso problema. Probabilmente perché le grafiche integrate di solito hanno meno funzionalità e il stack dei driver Intel è per lo più open source. Per lo screen tearing su Intel, la soluzione di solito arriva sotto forma di qualche configurazione aggiuntiva.
Poiché Intel utilizza driver open source, la configurazione di Xorg sarà il tuo percorso più diretto. Crea un file in “/etc/X11/xorg.conf.d/20-intel.conf,” quindi inserisci il seguente blocco di codice:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
EndSectionQuando hai finito, salva e riavvia.
VSYNC
Vsync è un tentativo di sincronizzare la frequenza di aggiornamento del tuo software con la frequenza di aggiornamento predefinita dell’hardware del tuo monitor. In teoria, è un’ottima idea per rendere tutto il più fluido possibile. In realtà, a volte mantiene il suo potenziale, e altre volte rende la tua grafica un pasticcio instabile. Se stai usando Vsync e stai sperimentando lo screen tearing, prova a disabilitarlo. Se non stai usando Vsync, potrebbe essere proprio ciò che mette tutto in ordine.
KDE

KDE ha alcuni controlli fantastici, quindi tutto questo può essere fatto attraverso le Impostazioni di KDE Plasma. Apri l’applicazione Impostazioni e trova “Hardware” sul lato. Sotto quel titolo troverai le impostazioni di visualizzazione. Clicca su quelle. Il corpo principale della finestra si riempirà di impostazioni di visualizzazione. Le schede sul lato cambieranno. Scegli “Compositore.” Trova l’opzione “Prevenzione dello tearing” e impostala su “Ripristini a schermo intero.” Quando hai finito, applica la modifica.
Kwin, il compositore KDE, è a volte parte del problema, too. Segue le proprie regole. C’è un semplice bit di configurazione che puoi aggiungere per rendere Kwin più fluido.
Crea un nuovo file in “/etc/profile.d/kwin.sh.” Apri quel file e inserisci la riga qui sotto:
export KWIN_TRIPLE_BUFFER=1Disconnettiti da KDE e riconnettiti per far sì che la modifica abbia effetto.
GNOME
Questa è una risposta piuttosto terribile, ma non c’è un’impostazione direttamente in GNOME per gestire vsync, ma può comunque aiutare molto. Se stai eseguendo GNOME con grafiche Intel o NVIDIA, segui le istruzioni sopra. Se sei su AMD, aggiungi la seguente riga alla tua configurazione di Xorg:
Option "TearFree" "true"XFCE
XFCE è noto per lo screen tearing. È sempre stato un problema e può seriamente ostacolare. Tuttavia, c’è una soluzione abbastanza semplice. Tutto ciò che devi fare è rimuovere il compositore di XFCE e sostituirlo con un altro, in questo caso Compton.

Apri le impostazioni di XFCE, quindi individua le impostazioni del gestore di finestre. Clicca sulla scheda “Compositore” e deseleziona la casella per “Abilita compositing di visualizzazione.” Applica le impostazioni.
Successivamente, installa Compton. È un compositore indipendente che funziona molto bene con desktop leggeri. Il comando qui è per distribuzioni basate su Debian, ma Compton è disponibile su quasi tutte le distribuzioni popolari.
sudo apt install compton
Torna alle impostazioni di XFCE. Questa volta, clicca su “Sessione e Avvio.” Aggiungi una nuova applicazione da eseguire all’avvio. Nel caso non l’avessi indovinato, quell’applicazione è Compton. Incolla il seguente comando come tuo comando. Contiene diverse opzioni chiave per eseguire Compton in modo ottimale.
/usr/bin/compton --backend glx --paint-on-overlay --vsync opengl-swcSalva ed esci. Puoi disconnetterti e riconnetterti oppure eseguire il comando per avviare Compton.
Questi metodi sono tutti ottimi modi per provare a risolvere i tuoi problemi di screen tearing su Linux. Potrebbero non funzionare per tutti, ma con un po’ di fortuna, funzioneranno per te. Speriamo che, man mano che si fanno progressi nei driver grafici di Linux, negli ambienti desktop e in Wayland, il problema dello screen tearing venga finalmente risolto permanentemente.