28 luglio 2014

nVidia: Soluzione bug del tearing durante la riproduzione dei video


Alcuni utenti KDE dotati di schede video nVidia (ma in alcuni casi il bug si verifica anche su schede video Intel) avranno certamente notato un piccolo bug durante la riproduzione dei video che fa formare delle striscioline orizzontali. Il bug è il cosiddetto problema del tearing (o del v-sync), problema noto anche su Xfce con alcune schede video Ati (io li becco sempre).
Per diagnosticare il problema potete ricorrere questo video di test e verificare se il video è o meno fluido.



Se la risposta è affermativa ecco una delle possibili soluzioni. Ho detto possibili perché in queste settimane ho sperimentato diversi metodi e fra quelli trovati l'unico che ha funzionato è quello che fra poco vi andrò a descrivere.
Vediamo dunque come fare. Aprite il terminale con il vostro editor di testo preferito e ed editate il file /etc/profile
Visto che siamo su KDE possiamo utilizzare Kate. Diamo

sudo kate /etc/profile
 
Al suddetto file andiamo ad aggiungere la riga

export __GL_YIELD="USLEEP"

Salviamo, riavviamo il sistema e verifichiamo se la suddetta procedura ha funzionato anche nel vostro caso.
Alcune guide suggeriscono anche di aggiungere la riga

export KWIN_TRIPLE_BUFFER=1
Via Archlinux Forum

Potrebbe anche interessarvi il post KDE: fix tearing delle finestre di pop-up

AGGIUNTA del 5 Settembre 2014 per GNOME Shell, Cinnamon e Pantheon (elementaryOS Freya)


Ho notato lo stesso bug anche su GNOME (nella fattispecie su Ubuntu GNOME) durante la riproduzione di video da Youtube in modalità a finestra (e dunque non a tutto screen). Ecco come potete fare per risolvere (nel mio caso ha funzionato).
Aprite il terminale e digitate

sudo gedit /etc/environment

andate ora ad aggiungere la riga

CLUTTER_PAINT=disable-clipped-redraws:disable-culling
CLUTTER_VBLANK=True

Salvate, riavviate il sistema e il tearing dovrebbe esser sparito. La guida è stata presa da [How-To] Remove Video Tearing In Nvidia Graphic Cards (Works With GTX Series) scritta sul forum di Manjaro e funziona anche su Cinnamon e Pantheon.

AGGIUNTA del 2 Agosto 2015 per KDE 5


Mi è stato linkato questo post su Reddit che propone una soluzione diversa per Plasma 5 specifico per le GeForce 500/600/700/900
Ecco il link https://wiki.archlinux.org/index.php/NVIDIA#Avoid_tearing_with_GeForce_500.2F600.2F700.2F900_series_cards


AGGIUNTA del 30 Settembre 2016 per KDE (da testare con altri DE)


Dopo vario peregrinare per il web sono riuscito a trovare una nuova soluzione per risolvere il problema del tearing che consiste nel modificare il file /etc/X11/xorg.conf (per Ubuntu e derivate) o /etc/X11/xorg.conf.d/20-nvidia.conf (per altre distro come Arch e derivate) aggiungendo due righe alla sezione device

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    Option "NoLogo" "true"
    Option "TripleBuffer" "True"
    Option "metamodes" "VGA-0: nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }
EndSection

Le due righe sono quelle evidenziate in grassetto. Come potete vedere nel mio caso la riga metamodes riporta la scritta VGA-0 segno che il mio monitor è connesso tramite porta VGA, questo però non è uguale per tutti. Per sapere la stringa da inserire vi basterà dare da terminale

xrandr

Il risultato sarà simile a questo

marco@neon:~$ xrandr
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
VGA-0 connected primary 1920x1080+0+0 (normal left inverted right x
axis y axis) 640mm x 360mm
  1920x1080     59.93*+
  1360x765      60.00
  1280x1024     60.02
  1280x768      59.87
  1280x720      60.00
  1024x768      60.00
  800x600       60.32    56.25
  640x480       59.94
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)


Non ci resta che copiare le info della porta che risulta connessa (nel mio caso VGA-0) e riportarle nella stringa metamodes.

In caso di più monitor potete seguire le istruzioni riportate nel video

Nessun commento:

Posta un commento

Licenza
Licenza Creative Commons

Quest' opera è distribuita con licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 3.0 Unported. Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001

Disclaimer immagini

Le immagini utilizzate in questo blog appartengono ai loro rispettivi autori e sono utilizzati per scopi educativi, personali e senza scopo di lucro. Ogni eventuale violazione del copyright non è intenzionale, ma se si riconosce un'immagine protetta da copyright, fatemelo sapere qui, e sarò lieto di aggiungere i credits o modificarla o rimuoverla.

Disclaimer images

Images used on this blog belong to their respective authors and are used for educational, personal and no profit purposes. Any eventual copyright infringement is not intentional, but if you recognize a copyrighted image, please let me know here, and I'll happily provide to add the right credits or modify or remove it.