SDB:NVIDIA risoluzione problemi

Questo articolo ti aiuterà a risolvere i problemi con i driver grafici NVIDIA.
Descrive in dettaglio una raccolta di situazioni che si incontrano di solito, e fornisce indicazioni su come risolverle, sebbene alcune siano solo una soluzione alternativa.


Icon-cleanup.png Questo articolo ha bisogno della tua attenzione perché ancora non segue i principi guida del nostro wiki.
Se vuoi contribuire, per favore familiarizza con questi prima. Se hai domande, non esitare a contattarci, ti aiuteremo più che volentieri! :-)
Icon-warning.png
Attenzione! Alcune informazioni sono considerate obsolete, ma vengono lasciate ugualmente come riferimento di supporto.

Wayland con i driver proprietari nvidia

I driver forniti tramite il repository nvidia suse (download.nvidia.com/opensuse) non sono attualmente compatibili con il protocollo di visualizzazione Wayland (ad agosto 2020). Questo potrebbe causare all'avvio grafico, come l'accesso a GDM, di bloccarsi con una schermata vuota.

Come soluzione alternativa con i driver nvidia viene suggerito di forzare l'uso di Xorg invece di Wayland, e permette un maggior supporto grafico 3D rispetto al driver nouveau.

Forza l'uso di Xorg così:

  1. modificare temporaneamente Grub per avviare con init 3;
  2. rimuovere i driver nouveau (mediante rimozione completa con zypper o mettendoli in blacklist in /etc/modprobe.d);
  3. installare i driver nvidia come previsto (SDB:Driver NVIDIA);
  4. modificare /etc/gdm/custom.conf per decommentare (set) WaylandEnable=false
  5. riavviare.

Vedere anche https://bugzilla.opensuse.org/show_bug.cgi?id=1175378

nvidia-settings ERROR: Unable to load info from any available system

Se il driver nvidia è stato installato con il gestore dei pacchetti sistema e viene rilevato questo errore, è perché il sistema sta eseguendo un altro driver per la scheda grafica (di solito Intel) invece di Nvidia. Si dovrebbe quindi selezionare Nvidia-prime come driver predefinito della scheda grafica.

# zypper in opensuse-prime

Riavviare quindi il sistema e usare prime-select per cambiare il driver grafico.

# prime-select nvidia

Potrebbe anche essere utile rigenerare /etc/X11/xorg.conf.

# rm -v /etc/X11/xorg.conf
# nvidia-xconfig

Al riavvio il driver nvidia dovrebbe essere in funzione.

Problemi di performance con KDE 4.x

Sia KDE (in particolare) che GNOME soffrono attualmente di problemi quali cali di prestazioni quando si utilizzano i driver grafici NVIDIA versione 177.82. I problemi sono stati quasi completamente risolti nella versione 180.06, tuttavia, siccome questi ultimi causano a loro volta un problema grafico sotto certe circostanze, può essere vantaggioso usare i vecchi driver con alcuni cambiamenti nella configurazione per evitare i sopracitati problemi.

Per risolvere il problema al volo (almeno finché le sorgenti software - repository - non vengono aggiornate), puoi seguire i seguenti passi:

1) Aggiungi la seguente linea al tuo file ~/.xinitrc file:
nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1

Se non hai un file .xinitrc, esegui i seguenti comandi per crearne uno:

  1. cd
  2. cp .xinitrc.template .xinitrc

2) Modifica il file /etc/X11/xorg.conf aggiungendo le seguenti righe alla sezione Screen:
Option "PixmapCacheSize" "1000000"
Option "AllowSHMPixmaps" "0"

Questo dovrebbe risolvere gran parte dei problemi di performance con KDE 4.x. Link al post originale: http://www.nvnews.net/vbulletin/showthread.php?t=118088

Problemi con alcune schede grafiche AGP

Usando schede AGP con alcune schede madri potresti aver bisogno di aggiungere la riga [Option "NvAGP" "2"] come mostrato di seguito. Questo metodo è stato provato con una scheda madre Gigabyte GA-K8NS AMD64 e scheda video AGP Nvidia FX5200. Senza questo comando il server X crasha.

 Section "Device"
   BoardName    "GeForce FX 5200 (0x0322)"
   BusID        "1:0:0"
   Driver       "nvidia"
   Identifier   "Device[0]"
   VendorName   "NVidia"
   Option       "NvAGP" "2"
 EndSection

Compilare su FACTORY

La compilazione dei driver tramite l'installer NVIDIA sulla versione FACTORY di openSUSE fallisce generando un errore con simboli indefiniti, quindi potresti aver bisogno di seguire le istruzioni elencate in questa pagina.

Freeze o crash dell'applicazione quando gli effetti compositing/3D sono abilitati

Cosa fare se hai abilitato il composite tramite la riga Option "Composite" "Enable", nel file /etc/X11/xorg.conf , ma vedi che alcune applicazioni crashano o si bloccano?

Intanto puoi provare a disabilitare temporaneamente il compositing cambiando la linea precedente in Option "Composite" "Disable" e riavviare il server X.

Se le stesse applicazioni che prima ti creavano problemi ora non crashano o si bloccano più, vuol dire che il tuo modulo per il compositing è instabile.

Prima di perdersi d'animo, c'è una soluzione anche a questo! I driver NVIDIA, infatti, dopo la versione 169.xx hanno introdotto una nuova opzione chiamata UseCompositeWrapper. Aggiungila nella sezione device del tuo file xorg.conf: Option "UseCompositeWrapper" "true" e abilita il compositing di nuovo. Per concludere riavvia il server X. Ora le tue applicazioni non dovrebbero più bloccarsi o crashare.

Problemi di risoluzione con TwinView

Certe volte, quando si configurano due monitor usando nvidia-settings, non ci sono opzioni per scegliere una risoluzione superiore a 640x480 per il secondo monitor. Questo è causato dal valore di default di HorizSync nella configurazione del monitor nel file /etc/X11/xorg.conf .

Per aumentare la risoluzione, devi incrementare il valore di HorizSync di quel particolare monitor. Per fare ciò, segui i seguenti passi:

1. Da nvidia-settings, seleziona la risoluzione più alta possibile del monitor in questione, e.g. 640x480. Assicurati che non sia impostata su Auto. Questo ti aiuterà ad identificare il monitor corretto quando dovrai modificare il file /etc/X11/xorg.conf . Clicca su "Salva su file xorg.conf" e esci.

2. Apri il file /etc/X11/xorg.conf con un editor di testo e cerca la seguente sezione (alcuni dettagli potrebbero cambiare ovviamente):

 Section "Screen"
   Monitor "Monitor0"
   Option  "metamode" "CRT: 640x680 +1280+0, DFP: 1280x1024 +0+0"
 EndSection

3. Cambia la risoluzione del secondo monitor in quella che preferisci.

4. Cerca la corrispondente sezione Monitor (anche qui alcuni dettagli potrebbere cambiare):

 Section "Monitor"
   Identifier "Monitor0"
   HorizSync   28.0 - 33.0
 EndSection

5. Incrementa il valore HorizSync a destra a 65.0 (o più alto se il monitor continua a non funzionare dopo aver riavviato X)

6. Salva il file e riavvia il server X.

7. Se il secondo monitor continua a non funzionare, ripeti i passi da 4 a 7, incrementando ulteriormente il valore di HorizSync.

Applicazioni OpenGL che non si avviano su CPU non-SSE

Se quando provi ad avviare un'applicazione OpenGL ti compare il seguente messaggio, significa che probabilmente la tua CPU non supporta le istruzioni SSE (e.g. Athlon Thunderbird):

NVIDIA OpenGL Driver requires CPUs with SSE to run.

The current CPU does not support SSE.

NVIDIA ha rilasciato i driver beta 173.14.15 che supportano le CPU senza SSE. Vedere la pagina http://www.nvnews.net/vbulletin/showthread.php?t=122423 per l'annuncio. I pacchetti da scaricare sono disponibili per Linux/x86 e Linux/x86-64.

Rotazione del monitor

Se hai un monitor con la funzione "portrait mode" (modalità ritratto NdT). Dovresti modificare il file /etc/X11/xorg.conf per usare questa caratteristica. Aggiungi la stringa Option "RandRRotation" "true" alla sezione Device. E riavvia il server X. Ora più ruotare il tuo schermo.

Esempio di sezione Device:

Section "Device"
  BoardName    "GeForce 6800 (0x00C1)"
  Driver       "nvidia"
  Identifier   "Device[0]"
  VendorName   "NVidia"
  Option       "RandRRotation" "true"
EndSection

Esempio di rotazione (comando eseguito dal terminale):

$ xrandr -o left

Puoi impostarlo nelle posizioni left (sinistra), right (destra), inverted (invertito) o normal (normale).

Puoi anche usare un'utilità con interfaccia grafica come KRandRTray.

I driver NVIDIA Legacy 96.43.19 possono richiedere l'opzione nopat

Se il server X non si avvia o non riesce a configurare una certa risoluzione sulle schede video vecchie e ti compare il seguente messaggio:

NVIDIA(0): Failed to allocate/map the primary surface!        

prova ad aggiungere l'opzione nopat al kernel (nelle opzioni di boot o nel menu di Grub)

I driver NVIDIA non funzionano più dopo un aggiornamento del kernel

Se i driver NVIDIA sono stati installati in openSUSE 13.2 prima dell'aggiornamento del kernel alla versione 3.16.7-13-desktop, essi potrebbero non funzionare più. Il motivo è ben conosciuto e documentato in boo#925437.

La soluzione è quella di reinstallare il modulo del kernel usato.

 zypper in --force `rpm -qa "nvidia-gfx*kmp*"`
 
 Loading repository data...
 Reading installed packages...
 Forcing installation of 'nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1.x86_64' from repository 'nVidia Graphics Drivers'.
 Resolving package dependencies...
 
 The following package is going to be reinstalled:
   nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1 
 
 1 package to reinstall.
 Overall download size: 3.6 MiB. Already cached: 0 B  No additional space will be used or freed after the operation.
 Continue? [y/n/? shows all options] (y): y
 Retrieving package nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1.x86_64     (1/1),   3.6 MiB ( 32.7 MiB unpacked)
 Retrieving: nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1.x86_64.rpm ......................................[done]
 Checking for file conflicts: ................................................................................[done]
 (1/1) Installing: nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1 ..........................................<100%>[/]

Si vedranno dei messaggi riguardo a:

 depmod: WARNING: //lib/modules/3.16.7-7-desktop/weak-updates/updates/nvidia.ko disagrees about version of symbol XXXXXX
 Warning: /lib/modules/3.16.7-7-desktop is inconsistent
 Warning: weak-updates symlinks might not be created

Il driver dovrebbe ora funzionare di nuovo.

Il programma di installazione di NVIDIA si lamenta di libglvnd

Se si sta aggiornando a Tumbleweed 20170407 o superiore è necessario disinstallare prima il driver NVIDIA, quindi rimuovere i due file orfani libGL.so.1.2* (ripristinati dal programma di installazione di NVIDIA), poi reinstallare il pacchetto libglvnd0

# nvidia-installer --uninstall
# rm -f /usr/lib*/libGL.so.1.2*
# zypper in --force libglvnd0

Diversamente il programma d'installazione si lamenterà di un'installazione corrotta di libglvnd (boo#1034343) e si dimenticherà dei file libGL.so, che impediranno al programma d'installazione dell'RPM del driver di funzionare correttamente (boo#1053115).

Gestione energetica di NVIDIA (consumo eccessivo nei computer portatili più recenti)

Per mantenere il consumo al minimo quando la GPU Nvidia non è in uso, è possibile aggiungere la seguente configurazione in /etc/modprobe.d/nvidia-power.conf

options nvidia NVreg_DynamicPowerManagement=0x02

https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/dynamicpowermanagement.html