Difference between revisions of "NVIDIA (Italiano)"

From ArchWiki
Jump to: navigation, search
m (fix wikilink)
(Installazione: aggiunto suggerimento per driver legacy)
(5 intermediate revisions by the same user not shown)
Line 20: Line 20:
  
 
Questo articolo tratta dell'installazione e configurazione dei driver proprietari per schede grafiche [http://www.nvidia.com NVIDIA]. Si veda [[Nouveau]] per le informazioni sui driver open-source.
 
Questo articolo tratta dell'installazione e configurazione dei driver proprietari per schede grafiche [http://www.nvidia.com NVIDIA]. Si veda [[Nouveau]] per le informazioni sui driver open-source.
 +
 +
{{attenzione|I driver proprietari NVIDIA potrebbero non funzionare con sistemi EFI. Potrebbe essere necessario eseguire la modalità BIOS per usarli.}}
  
 
==Installazione==
 
==Installazione==
Line 42: Line 44:
 
: Il pacchetto ''nvidia-96xx-utils'' richiede una versione legacy di X.Org server ( {{AUR|xorg-server1.12}}), che va in conflitto con la versione ''xorg-server'' dei repository ufficiali.
 
: Il pacchetto ''nvidia-96xx-utils'' richiede una versione legacy di X.Org server ( {{AUR|xorg-server1.12}}), che va in conflitto con la versione ''xorg-server'' dei repository ufficiali.
  
:{{Nota|Sui sistemi [[multilib|Arch x86_64]], si necessità dell'installazione del pacchetto ''lib32'' equivalente (per esempio {{Pkg|lib32-nvidia-utils}} o {{AUR|lib32-nvidia-utils-beta}}).}}
+
:{{Nota|Sui sistemi [[multilib|Arch x86_64]], si necessità dell'installazione del pacchetto ''lib32'' equivalente (per esempio {{Pkg|lib32-nvidia-utils}}, {{Pkg|lib32-nvidia-304xx-utils}} o {{AUR|lib32-nvidia-utils-beta}}).}}
 +
:{{Suggerimento|I driver legacy nvidia-96xx e nvidia-173xx possono essere installati dal deposito non ufficiale [http://pkgbuild.com/~bgyorgy/city.html <nowiki>[city]</nowiki>].}}
  
 
3. '''Riavviare'''. Il pacchetto ''nvidia'' conteiene un file che mette in blacklist il modulo {{ic|nouveau}}. Un riavvio del sistema risulta necessario perché questo procedimento abbia effetto.
 
3. '''Riavviare'''. Il pacchetto ''nvidia'' conteiene un file che mette in blacklist il modulo {{ic|nouveau}}. Un riavvio del sistema risulta necessario perché questo procedimento abbia effetto.
Line 329: Line 332:
  
 
La sezione duplicata di "Device" con {{ic|Screen}} serve ad impostare X ad usare due monitor su una singola scheda senza utilizzare {{ic|TwinView}}. Si noti che {{ic|nvidia-settings}} eliminerà tutte le opzioni {{ic|ConnectedMonitor}} che sono state aggiunte.
 
La sezione duplicata di "Device" con {{ic|Screen}} serve ad impostare X ad usare due monitor su una singola scheda senza utilizzare {{ic|TwinView}}. Si noti che {{ic|nvidia-settings}} eliminerà tutte le opzioni {{ic|ConnectedMonitor}} che sono state aggiunte.
 +
 +
====Modalità Mosaico====
 +
 +
La modalità mosaico è l' unico modo per utilizzare più di 2 monitor su più schede grafiche con il compositing. Il window manager può o non può riconoscere la distinzione tra ogni monitor.
 +
 +
=====Base Mosaic=====
 +
 +
La modalità mosaico di Base funziona su qualsiasi GPU dalla serie GeForce 8000 o superiore. Non può essere attivata tramite l'interfaccia grafica di nvidia-setting. È necessario utilizzare il programma a riga di comando nvidia-xconfig o modificare xorg.conf a mano, nel quale deve essere specificato il MetaModes. Segue un esempio di quattro connessioni DFP in configurazione 2x2, ciascuno in esecuzione a risoluzione 1920x1024, con due monitor DFP collegati a due schede:
 +
 +
$ nvidia-xconfig --base-mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
 +
 +
=====SLI Mosaic=====
 +
 +
Se si dispone di una configurazione SLI e ogni GPU è una Quadro FX 5800, Quadro Fermi o successivo, allora è possibile utilizzare la modalità SLI=Mosaic. Può essere abilitato direttamente dalla GUI di nvidia-settings GUI o dal riga di comando con:
 +
 +
$ nvidia-xconfig --sli=Mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
  
 
==Tweaking==
 
==Tweaking==
Line 488: Line 507:
 
# Battery settings:
 
# Battery settings:
 
Option "RegistryDwords" "PowerMizerLevel=0x3"
 
Option "RegistryDwords" "PowerMizerLevel=0x3"
......</nowiki>}}
+
</nowiki>}}
 
+
Ulteriori spiegazioni su i vari settaggi li potete trovare leggendo [http://tutanhamon.com.ua/technovodstvo/NVIDIA-UNIX-driver/ NVIDIA Driver for X.org:Performance and Power Saving Hints].
+
  
 
=====Lasciare che la GPU imposti automaticamente il livello di performance (basato sulla temperatura)=====
 
=====Lasciare che la GPU imposti automaticamente il livello di performance (basato sulla temperatura)=====
Line 605: Line 622:
 
In questa maniera, si può avviare automaticamente un display manager al boot e quindi avere una schermata di X funzionante e propriamente configurata entro l'accensione della TV.
 
In questa maniera, si può avviare automaticamente un display manager al boot e quindi avere una schermata di X funzionante e propriamente configurata entro l'accensione della TV.
  
===Controllare lo stato di alimentazione===
+
===Controllare l'alimentazione===
  
I driver NVIDIA X.org sono in grado di rilevare il tipo di fonte energetica usata. Per vedere lo stato corrente utilizzato, controllare il parametro in sola lettura 'GPUPowerSource' (0 - AC, 1 - battery):
+
Il driver NVIDIA X.org può anche essere utilizzato per controllare l'alimentazione della GPU. Per vedere lo stato di alimentazione corrente, controllare il parametro di sola lettura 'GPUPowerSource' (0 = AC, 1 = batteria) :
  
{{hc|nvidia-settings -q GPUPowerSource -t|1}}
+
nvidia-settings -q GPUPowerSource -t
 +
1
  
Per essere in grado di rilevare questo parametro è necessario avere installato in precedenza [[acpid]] e assicurati di includere {{ic|acpid}} nell array ''DAEMONS'' in {{ic|/etc/rc.conf}}, o questo avvertimento apparirà sul registro di sistema:
+
Se viene visualizzato un messaggio di errore simile a quello qui sotto, allora dovreste aver bisogno di installare [[acpid (Italiano)|acpid]] o avviare il servizio systemd tramite {{ic|systemctl start acpid.service}}
  
 
  ACPI: failed to connect to the ACPI event daemon; the daemon
 
  ACPI: failed to connect to the ACPI event daemon; the daemon
Line 621: Line 639:
 
  "AcpidSocketPath" X configuration options in Appendix B: X
 
  "AcpidSocketPath" X configuration options in Appendix B: X
 
  Config Options in the README.
 
  Config Options in the README.
 +
 +
(Se non viene cisualizzato questo errore, non è necessario installare e/o eseguire solo acpid per questo scopo. Lo stato di alimentazione può essere correttamente segnalato anche se non si è installato acpid.)
  
 
===Visualizzare la temperatura GPU nella shell===
 
===Visualizzare la temperatura GPU nella shell===

Revision as of 16:56, 27 January 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end

Questo articolo tratta dell'installazione e configurazione dei driver proprietari per schede grafiche NVIDIA. Si veda Nouveau per le informazioni sui driver open-source.

Attenzione: I driver proprietari NVIDIA potrebbero non funzionare con sistemi EFI. Potrebbe essere necessario eseguire la modalità BIOS per usarli.

Contents

Installazione

Queste istruzioni sono per gli utenti che usano il pacchetto stock linux. Per kernel personalizzati si veda il prossimo passaggio.

Suggerimento: E' consigliato l'utilizzo di pacman per l'installazione dei driver NVIDIA rispetto al pacchetto fornito dal sito NVIDIA, questo permette che i driver vengano aggiornati assieme al resto del sistema

1. Visitare il sito NVIDIA per il download dei driver in modo da stabilire quali siano i più adatti alla vostra scheda video. Potete anche controllare questa lista per le vecchie schede.

Nota: Per i modelli GPU più recenti, può essere necessario installare nvidia-betaAUR da AUR , dal momento che i driver stabili potrebbero non supportare le nuove funzionalità introdotte . Provare prima quelli stabili (si veda qui sotto ).

2. Installare il driver appropriato per la propria scheda:

  • Per schede serie GeForce 8 e superiori [NVC0 e nuovi], installare il pacchetto nvidia disponibile nei repositori ufficiali.
  • Per schede serie GeForce 6/7 e superiori [[NV40-NVAF], installare il pacchetto nvidia-304xx disponibile nei repositori ufficiali.
  • Per schede serie GeForce 5 FX [NV30-NV38], installare il pacchetto nvidia-173xxAUR, disponibile su AUR.
  • Per schede serie GeForce2/3/4 MX/Ti [NV11 and NV17-NV28], installare il pacchetto nvidia-96xxAUR, disponibile su AUR.
Il pacchetto nvidia{,-304xx,-173xx,-96xx}-utils è una dipendenza e verrà installato automaticamente. Esso andrà in conflitto con il pacchetto libgl. Questo è normale, se pacman vi chiede di rimuovere libgl e dovesse fallire nella risoluzione delle dipendenze, rimuovere libgl con pacman -Rdd libgl.
Il pacchetto nvidia-96xx-utils richiede una versione legacy di X.Org server ( xorg-server1.12AUR), che va in conflitto con la versione xorg-server dei repository ufficiali.
Nota: Sui sistemi Arch x86_64, si necessità dell'installazione del pacchetto lib32 equivalente (per esempio lib32-nvidia-utils, lib32-nvidia-304xx-utils o lib32-nvidia-utils-betaAUR).
Suggerimento: I driver legacy nvidia-96xx e nvidia-173xx possono essere installati dal deposito non ufficiale [city].

3. Riavviare. Il pacchetto nvidia conteiene un file che mette in blacklist il modulo nouveau. Un riavvio del sistema risulta necessario perché questo procedimento abbia effetto.

Una volta terminata l'installazione, si prosegua con la configurazione.

Installazione alternativa: kernel personalizzato

Per prima cosa potrebbe essere utile sapere come funziona il sistema ABS, leggendo alcuni articoli al riguardo:

Nota: É presente anche il pacchetto nvidia-allAUR reperibile su AUR che risulta più semplice da utilizzare con kernel personalizzati e/o multipli.

Quello che segue è un piccolo tutorial per la creazione di un pacchetto di driver NVIDIA personalizzato utilizzando ABS:

Installare il pacchetto ABS e generare l'albero con:

# abs

Utilizzando un utente non privilegiato, si crei una cartella temporanea per la creazione del nuovo pacchetto:

$ mkdir -p ~/devel/abs

Si copi la cartella del pacchetto nvidia :

$ cp -r /var/abs/extra/nvidia/ ~/devel/abs/

Ci si sposti nella cartella di compilazione nvidia temporanea:

$ cd ~/devel/abs/nvidia

E' ora necessario modificare i file nvidia.install e PKGBUILD in modo che le variabili riportino la giusta versione del kernel.

Utilizzando un kernel personalizzato, si ottengano la giusta versione kernel e locale:

$ uname -r
  1. Nel file nvidia.install si sostituisca la variabile EXTRAMODULES='extramodules-3.4-ARCH' con la versione del kernel personalizzato, come EXTRAMODULES='extramodules-3.4.4' oppure EXTRAMODULES='extramodules-3.4.4-custom' a seconda della versione del kernel e il testo/numero di quella locale. Si ripeta poi l'operazione per tutte le occorrenze in questo file.
  1. Nel file PKGBUILD si cambi la variabile _extramodules=extramodules-3.4-ARCH in modo che corrisponda alla corretta versione, allo stesso modo del passaggio precedente.

3. Se ci sono più di un kernel installati in parallelo sullo stesso sistema, (come un kernel personalizzato a fianco al kernel -ARCH di default) si cambi la variabile "pkgname=nvidia" nel file PKGBUILD con un nuovo unico identificativo, come "pkgname=nvidia-344" o "pkgname=nvidia-custom". Questo permetterà ad entrambi i kernel di utilizzare il modulo nvidia dal momento che il pacchetto del modulo personalizzato avrà un nome differente e non sovrascriverà l'originale. Si avrà bisogno anche di commentare la riga in package() che mette in blacklist il modulo nvidia in /usr/lib/modprobe.d/nvidia.conf (non c'è bisogno di ripeterlo).

Si esegua poi:

$ makepkg -c -i

L'operando -c dice a makepkg di eliminare i file residui del processo di pacchettizzazione dopo la creazione del pacchetto, mentre -i farà in modo che makepkg esegua automaticamente pacman per installarlo.

Ri-compilazione automatica del modulo NVIDIA ad ogni aggiornamento su qualsiasi kernel

Questo è possibile grazie al pacchetto nvidia-hookAUR da AUR. Sarà necessario installare i sorgenti del modulo: o nvidia-sourceAUR per i driver stabili, oppure nvidia-source-betaAUR per il driver beta. In nvidia-hook, la funzionalità per la 'ri-compilazione automatica' è garantita da un nvidia hook su mkinitcpio dopo aver forzato l'aggiornamento del pacchetto linux-headers. Avrete bisogno di aggiungere nvidia tra gli HOOK in /etc/mkinitcpio.conf e aggiungere 'linux-headers' ed il proprio kernel personalizzato nell'opzione SyncFirst in /etc/pacman.conf per far si che questo metodo funzioni.

L'Hook chiamerà il comando dkms per aggiornare il modulo NVIDIA per la versione del nuovo kernel .

Nota: Se si utilizza questa funzionalità è importante controllare l'output del processo di installazione del pacchetto Linux ( o qualsiasi altro kernel ). L'hook nvidia segnalerà se qualcosa andasse storto.

Configurazione

E' possibile che dopo l'installazione dei driver non sia necessario creare un file di configurazione per il server Xorg, si può verificare il corretto funzionamento del server Xorg senza un file di configurazione. Tuttavia può essere necessario creare un file di configurazione /etc/X11/xorg.conf in modo da poter modificare varie impostazioni. Questa configurazione può essere generata dal tool di configurazione Xorg NVIDIA, o può essere creato manualmente. Se creato manualmente possiamo creare una configurazione minimale (nel senso che verranno passate solo le opzioni base al server Xorg), o può includere una serie di impostazioni che possono bypassare le opzioni preconfigurate o di autoricerca di Xorg.

Nota: Sin dalla versione 1.8.x, Xorg utilizza file separati di configurazione allocati in /etc/X11/xorg.conf.d/, si veda la sezione configurazione avanzata per maggiori informazioni.

Configurazione automatica

Il pacchetto NVIDIA include un tool di configurazione automatica per creare un file di configurazione(xorg.conf) per il server Xorg e può essere eseguito con:

# nvidia-xconfig

Questo comando ricercherà automaticamente e creerà (o modificherà se già presente) la configurazione di /etc/X11/xorg.conf, a seconda dell'hardware installato.

Se risulta presente l'istanza di DRI, assicurarsi che sia commentata:

#    Load        "dri"

Controllare che il file /etc/X11/xorg.conf appena creato contenga come valori predefiniti di depth, horizontal sync, vertical refresh, e risoluzione monitor accettabili per il vostro hardware.

Attenzione: Questa procedura potrebbe non funzionare correttamente con Xorg-server 1.8

Configurazione minimale

Un xorg.conf di base può essere simile a questo:

/etc/X11/xorg.conf
Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
EndSection
Suggerimento: Se state aggiornando dopo aver utilizzato i driver nouveau, assicurarsi di rimuovere nouveau dal file /etc/mkinitcpio.conf. Si veda passare tra i driver nvidia e nouveau, se si desidera passare tra i driver Open e quelli proprietari.

Monitor multipli

Si veda l'articolo Multimonitor per maggiori informazioni generali

Per attivare il supporto al doppio schermo, è sufficiente modificare il file /etc/X11/xorg.conf.d/10-monitor.conf che si è precedentemente creato.

Per ogni monitor fisico, aggiungere una sezione Monitor, Device, and Screen, e poi una sezione ServerLayout per gestirli. Sappiate che quando Xinerama è abilitato, il driver NVIDIA proprietario disattiva automaticamente il compositing. Se desiderate sfruttare il compositing, si dovrebbero commentare la linea Xinerama in ServerLayout e utilizzare, invece, TwinView (si veda sotto).

/etc/X11/xorg.conf.d/10-monitor.conf
Section "ServerLayout"
    Identifier     "DualSreen"
    Screen       0 "Screen0"
    Screen       1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
    Option         "Xinerama" "1" #To move windows between screens
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    Option         "Enable" "true"
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    Option         "Enable" "true"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    Screen         0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    Screen         1
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    SubSection "Display"
        Depth          24
        Modes          "1280x800_75.00"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth   24
    Option         "TwinView" "0"
    SubSection "Display"
        Depth          24
    EndSubSection
EndSection

TwinView

Si vuole solo un grande schermo invece di due. Impostare l'opzione TwinView a 1. Questa opzione dovrebbe essere usato al posto di Xinerama (vedi sopra), se si desidera il compositing.

Option "TwinView" "1"

TwinView funziona solo sulla scheda di base: Se si dispone di più schede (E non SLI?), dovrete usare xinerama o la modalità zaphod (schermi multipli in X). È possibile combinare TwinView con la modalità zaphod, ad esempio, con due schermi X che coprono due monitor ciascuno. La maggior parte dei window manager falliscono miseramente in modalità Zaphod. Una brillante eccezione è Awesome, in alcuni casi funziona anche con KDE.

Esempio di configurazione:

/etc/X11/xorg.conf.d/10-monitor.conf
Section "ServerLayout"
    Identifier    "TwinLayout"
    Screen        0 "metaScreen" 0 0
EndSection
	
Section "Monitor"
    Identifier    "Monitor0"
    Option        "Enable" "true"
EndSection
	
Section "Monitor"
    Identifier    "Monitor1"
    Option        "Enable" "true"
EndSection
	
Section "Device"
    Identifier    "Card0"
    Driver        "nvidia"
    VendorName    "NVIDIA Corporation"
    #refer to the link below for more information on each of the following options.
    Option        "HorizSync"          "DFP-0: 28-33; DFP-1 28-33"
    Option        "VertRefresh"        "DFP-0: 43-73; DFP-1 43-73"
    Option        "MetaModes"          "1920x1080, 1920x1080"
    Option        "ConnectedMonitor"  "DFP-0, DFP-1"
    Option        "MetaModeOrientation" "DFP-1 LeftOf DFP-0"
EndSection
	
Section "Screen"
    Identifier    "metaScreen"
    Device        "Card0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option        "TwinView" "True"
    SubSection "Display"
        Modes          "1920x1080"
    EndSubSection
EndSection

Informazioni sulle opzioni da usare in Device

Configurazione automatica

Il pacchetto NVIDIA fornisce Twinview. Questo strumento consente di configurare automaticamente tutti i monitor collegati alla scheda video. Questo metodo funziona solo per i monitor multipli su una singola scheda. Per configurare il server Xorg con utilizzando Twinview:

# nvidia-xconfig --twinview
Configurazione manuale in CLI tramite xrandr

Se l'ultima soluzione non dovesse funzionare, è possibile utilizzare il trucco dell'autostart tramite il vostro gestore di finestre per eseguire un comando xrandr come questo:

xrandr --output DVI-I-0 --auto --primary --left-of DVI-I-1

oppure

xrandr --output DVI-I-1 --pos 1440x0 --mode 1440x900 --rate 75.0

Dove:

  • --output serve per indicare a quale monitor impostare le opzioni.
  • DVI-I-1 è il nome del secondo monitor..
  • --pos è la posizione del secondo monitor rispetto al primo.
  • --mode è la risoluzione del secondo monitor.
  • --rate imposta la frequenza in Hz.

É necessario adattare questa stringa con opzioni di xrandr con l'aiuto dell'output generato dal solo comando xrandr eseguito in un terminale.

Utilizzare NVIDIA Settings

È inoltre possibile utilizzare lo strumento nvidia-settings fornito da nvidia-utils. Con questo metodo, si utilizzerà il software proprietario di NVIDIA messo a disposizione dai loro driver. Basta eseguire nvidia-settings da root, quindi configurare come si desidera, e salvare la configurazione /etc/X11/xorg.conf.d/10-monitor.conf.

ConnectedMonitor

Se il driver non rileva un secondo monitor, si può costringerlo a farlo con ConnectedMonitor.

/etc/X11/xorg.conf

Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Panasonic"
    ModelName      "Panasonic MICRON 2100Ex"
    HorizSync       30.0 - 121.0 # this monitor has incorrect EDID, hence Option "UseEDIDFreqs" "false"
    VertRefresh     50.0 - 160.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Gateway"
    ModelName      "GatewayVX1120"
    HorizSync       30.0 - 121.0
    VertRefresh     50.0 - 160.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    Option         "NoLogo"
    Option         "UseEDIDFreqs" "false"
    Option         "ConnectedMonitor" "CRT,CRT"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200 LE"
    BusID          "PCI:3:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    Option         "NoLogo"
    Option         "UseEDIDFreqs" "false"
    Option         "ConnectedMonitor" "CRT,CRT"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200 LE"
    BusID          "PCI:3:0:0"
    Screen          1
EndSection

La sezione duplicata di "Device" con Screen serve ad impostare X ad usare due monitor su una singola scheda senza utilizzare TwinView. Si noti che nvidia-settings eliminerà tutte le opzioni ConnectedMonitor che sono state aggiunte.

Modalità Mosaico

La modalità mosaico è l' unico modo per utilizzare più di 2 monitor su più schede grafiche con il compositing. Il window manager può o non può riconoscere la distinzione tra ogni monitor.

Base Mosaic

La modalità mosaico di Base funziona su qualsiasi GPU dalla serie GeForce 8000 o superiore. Non può essere attivata tramite l'interfaccia grafica di nvidia-setting. È necessario utilizzare il programma a riga di comando nvidia-xconfig o modificare xorg.conf a mano, nel quale deve essere specificato il MetaModes. Segue un esempio di quattro connessioni DFP in configurazione 2x2, ciascuno in esecuzione a risoluzione 1920x1024, con due monitor DFP collegati a due schede:

$ nvidia-xconfig --base-mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"
SLI Mosaic

Se si dispone di una configurazione SLI e ogni GPU è una Quadro FX 5800, Quadro Fermi o successivo, allora è possibile utilizzare la modalità SLI=Mosaic. Può essere abilitato direttamente dalla GUI di nvidia-settings GUI o dal riga di comando con:

$ nvidia-xconfig --sli=Mosaic --metamodes="GPU-0.DFP-0: 1920x1024+0+0, GPU-0.DFP-1: 1920x1024+1920+0, GPU-1.DFP-0: 1920x1024+0+1024, GPU-1.DFP-1: 1920x1024+1920+1024"

Tweaking

GUI: nvidia-settings

Il pacchetto NVIDIA include il programma nvidia-settings che permette l'adattamento di diverse impostazioni aggiuntive.

Per caricare le impostazioni al login eseguire questo comando dal terminale:

$ nvidia-settings --load-config-only

O lo si aggiunga alle regole di auto avvio del proprio ambiente desktop.

Per un amumento considerevole di prestazioni grafiche 2D in applicazioni che sfruttano in modo intensivo il pixmap, es. Firefox, impostare il parametro InitialPixmapPlacement a 2:

$ nvidia-settings -a InitialPixmapPlacement=2

Questo è documentato nel codice sorgente di nvidia-settings. Per renderlo permanente, questo comando necesita di essere lanciato ad ogni avvio di sistema o di essere aggiunto al proprio ~/.nvidia-settings-rc.

Suggerimento: In rare occasioni il ~/.nvidia-settings-rc può risultare corrotto. Se questo accade il server Xorg può crashare e il file dovrà essere cancellato per risolvere il problema.

Abilitare MSI (Message Signaled Interrupts)

Per impostazione predefinita, la scheda grafica utilizza un sistema di interruzione condiviso. Per dare una piccola spinta in performance, modificare /etc/modprobe.d/modprobe.conf e aggiungere:

options nvidia NVreg_EnableMSI=1

Fate attenzione, in quanto questa procedura è stata riconosciuta come dannosa alcuni sistemi che eseguono hardware più vecchio!

Per avere una conferma, eseguite:

# cat /proc/interrupts | grep nvidia
 43:          0        49      4199      86318  PCI-MSI-edge      nvidia

Avanzato: 20-nvidia.conf

Modificare /etc/X11/xorg.conf.d/20-nvidia.conf e aggiungere le opzioni alla sezione corretta. Il server Xorg dovrà essere riavviato prima che le modifiche abbiano effetto.

Abilitare la desktop composition

Dalla versione 180.44 dei driver NVIDIA il supporto per GLX con Damage e l'estensione Composite X sono abilitate di default. Si faccia riferimento a Xorg#Composite per delle istruzioni dettagliate.

Disabiliare visione logo all'avvio

Aggiungere l'opzione "NoLogo" nella sezione Device:

Option "NoLogo" "True"

Abilitare accelerazione hardware

Aggiungere l'opzione "RenderAccel" nella sezione Device:

Option "RenderAccel" "True"
Nota: RenderAccel è abilitato di default dalla versione 97.46.xx dei driver.

Annullare la ricerca del monitor

L'opzione "ConnectedMonitor" nella sezione Device permette di annullare la ricerca del monitor all'avvio del server X, il che può far risparmiare diverso tempo. Le opzioni disponibili sono: "CRT" per connessioni analogiche, "DFP" per monitor digitali e "TV" per le televisioni.

La seguente dichiarazione forza i driver NVIDIA a bypassare i controlli d'avvio e a riconoscere il monitor come DFP:

Option "ConnectedMonitor" "DFP"
Nota: Si utilizzi "CRT" per tutte le connessioni analogiche 15 pin VGA, anche se il display è uno schermo piatto. "DFP" è da utilizzarsi solamente per le connessioni digitali DVI.

Abilitare il triple buffering

Per abilitare il triple buffering si aggiunga l'opzione "TripleBuffer" nella sezione Device:

Option "TripleBuffer" "True"

Si usi questa opzione se la scheda video abbonda di RAM (uguale o superiore a 128MB). L'impostazione ha effetto solamente quando syncing to vblank, una delle opzioni disponibili in nvidia-settings, è abilitata.

Nota: Questa opzione può causare problemi di visualizzazione a schermo intero. Come sulle schede R300, dove vblank è abilitato di default

Usare gli eventi di sistema

Dal file LEGGIMI dei driver NVIDIA: "Usa gli eventi di sistema per dare notifica ad X quando un client ha compiuto il direct rendering su una finestra che necessita di essere composta." Qualsiasi cosa identifichi, aiuta ad aumentare le prestazioni. Questa opzione è al momento incompatibile con le tecnologie SLI e Multi-GPU.

Nella sezione Device aggiungete:

Option "DamageEvents" "1"
Nota: Questa opzione è abilitata di default nei driver più recenti.

Abilitare il risparmio energetico

Nella sezione Monitor aggiungete:

Option "DPMS" "1"

Abilitare il controllo della luminosità

Aggiungere nella sezione Device:

Option "RegistryDwords" "EnableBrightnessControl=1"

Abilitare la modalità SLI

Attenzione: L'abilitazione della modalità SLI, potrebbe causare scarse prestazioni video se si utilizza Gnome3 come ambiente desktop

Tratto dall'appendice del [README dei driver nVidia: Questa opzione controlla la configurazione SLI di rendering in configurazioni supportate. Una configurazione supportata è un computer dotato di una scheda madre SLI-Certified Motherboard e 2 o 3 schede video SLI-Certified GeForce GPUs. Si veda NVIDIA's SLI Zone per ulteriori dettagli.

Per prima cosa individuare il PCI Bus ID delle GPU utilizzando lspci:

$ lspci | grep VGA

Il quale dovrebbe mostrarvi un messaggio simile a questo:

03:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2)
05:00.0 VGA compatible controller: nVidia Corporation G92 [GeForce 8800 GTS 512] (rev a2)

Aggiungere il BusID (Nel nostro esempio è il 3) nella sezione Device:

BusID "PCI:3:0:0"
Nota: Il formato è molto importante. Il valore del BusID deve essere specificato come "PCI:<BusID>:0:0"

Aggiungere il valore desiderato per la modalità di rendering SLI da utilizzare nella sezione Screen:

Option "SLI" "SLIAA"

La seguente tabella mostra le varie modalità di rendering disponibili.

Valore Comportamento
0, no, off, false, Single Usare solo una singola GPU per il rendering.
1, yes, on, true, Auto Abilita lo SLI e consente al driver di selezionare automaticamente la modalità di rendering appropriata.
AFR Abilita lo SLI e utilizza una modalità di rendering a frame alternato.
SFR Abilita lo SLI e utilizza una modalità di rendering a frame "diviso".
SLIAA Abilita lo SLI e usa anche lo SLI antialiasing. Utilizzare questa modalità combinata con l'antialiasing a schermo intero per migliorare la qualità visiva .

In alternativa si può usare l'utilità nvidia-xconfig per inserire i cambiamenti voluti direttamente nel file xorg.conf con un singolo comando:

# nvidia-xconfig --busid=PCI:3:0:0 --sli=SLIAA

Per verificare se la modalità SLI è abilitata, scrivere in un terminale:

 nvidia-settings -q all | grep SLIMode
  Attribute 'SLIMode' (arch:0.0): AA 
    'SLIMode' is a string attribute.
    'SLIMode' is a read-only attribute.
    'SLIMode' can use the following target types: X Screen.

Forzare il livello di performance Powermizer (per portatili)

Nel vostro file xorg.conf, aggiungete le seguenti linee nella sezione Device:

/etc/X11/xorg.conf
.......
# Force Powermizer to a certain level at all times
# level 0x1=highest
# level 0x2=med
# level 0x3=lowest
# AC settings:
Option "RegistryDwords" "PowerMizerLevelAC=0x3"
# Battery settings:
Option	"RegistryDwords" "PowerMizerLevel=0x3"
Lasciare che la GPU imposti automaticamente il livello di performance (basato sulla temperatura)

Nel vostro file xorg.conf, aggiungete la seguente linea nella sezione Device

Option "RegistryDwords" "PerfLevelSrc=0x3333"

Disabilitare i vblank interrupts (per portatili)

Quando l'utility di riconoscimento degli interrupt powertop è attiva, è noto che i driver NVIDIA generano un interrupt per ogni vblank. Per evitare questo inconveniente, aggiungere la seguente riga nella sezione Device:

Option         "OnDemandVBlankInterrupts" "1"

Questa modifica ridurrà sensibilmente gli interrupt al secondo.

Abilitare l'overclocking

Attenzione: L'overclocking può danneggiare il vostro hardware e alcuna responsabilità può pendere sugli autori di questa pagina in seguito a possibili danni riportati dalla strumentazione hardware modificata in modo da operare diversamente dalle specifiche tecniche di fabbrica.

Per abilitare l'overclocking, aggiungere la riga seguente nella sezione device:

Option         "Coolbits" "1"

Questa modifica abiliterà la gestione dell'overclocking attraverso nvidia-settings all'interno di X.

$ nvidia-settings
Nota: La schede nvidia della serie GeForce 400/500/600 che utilizzano il core "Fermi/Kepler" non supportano attualmente il metodo 'Coolbits' per l'overclocking . Una alternativa è quella di flashare e modificare il BIOS della GPU sotto DOS (preferibile), o da un sistema WIN32 tramite l'ausilio di nvflash e NiBiTor 6.0. Il vantaggio di effettuare un flash del BIOS è che non solo può essere aumentato il limite di tensione, ma la stabilità è generalmente migliorata rispetto ai metodi di overclocking software come Coolbits.
Impostare un clock statico 2D/3D

Aggiungere la seguente stringa alla Section Device per impostare il sistema PowerMizer al livello di maximum performance.

Option "RegistryDwords" "PerfLevelSrc=0x2222"

Aggiungere le seguenti due stringhe in Section Device per abilitare il controllo manuale della velocità delle ventole tramite nvidia-settings.

Option "Coolbits" "4"
Option "Coolbits" "5"

Trucchi e consigli

Abilitare Video HD (VDPAU/VAAPI)

Requisiti Hardware:

Avere una scheda video che supporti almeno la seconda generazione di PureVideo HD [1]

Software richiesto:

le schede video Nvidia con i driver proprietari installati forniscono la capacità di decodifica video con l'interfaccia VDPAU a livelli diversi a seconda della generazione PureVideo.

Si può aggiungere il supporto all'interfaccia VA-API installando:

# pacman -S  libva-vdpau-driver

Controllare il supporto VA-API con:

$ vainfo

Per sfruttare appieno la capacità hardware di decodifica della scheda video si necessita dell'utilizzo di un lettore multimediale che supporta VDPAU o VA-API.

  • Abilitare l'accelerazione hardware in MPlayer modificando ~/.mplayer/config in questo modo:
vo=vdpau
vc=ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau,
  • Per abilitare l'accelerazione hardware in VLC andate su:

Strumenti -> Preferenze -> Ingresso e Codificatori -> spuntare Use GPU acceleration

  • Per abilitare l'accelerazione hardware in smplayer andate su:

Opzioni -> Preferenze -> Generali -> Scheda Video -> selezionare vdpau come uscita del driver

  • Per abilitare l'accelerazione hardware in gnome-mplayer andate su:

Modifica -> Preferenze -> impostare l'uscita video su vdpau


Guardare i video HD in presenza di schede con poca memoria:

Se la vostra scheda grafica non ha una buon quantitativo di memoria (>521MB?), può capitare che i video riprodotti alla risoluzione 1080p o 720p , presentito scarse prestazioni, come per esempio che il video vada a scatti. Un possibile metodo per evitare che ciò accada è utilizzare un windows manager molto leggero come TWM o MWM.

In aggiunta aumentare la cache di MPlayer's editando ~/.mplayer/config può aiutare, quando guardando un video in HD si decade la velocità dell'hard disk.

Accelerazione hardware con il codec video XvMC

La decodifica accelerata per video MPEG-1 e MPEG-2 tramite XvMC è supportata sulle schede della serie GeForce4, GeForce 5 FX, GeForce 6 e GeForce 7. Si veda come configurare i programmi supportati. Per usufruirne creare un nuovo file /etc/X11/XvMCConfig con il seguente contenuto :

libXvMCNVIDIA_dynamic.so.1

Usare l'uscita TV

Un buon articolo a riguardo può essere trovato qui

X con la TV (DFP) come unico display

Il server X ritorna a CRT-0 se nessun monitor viene riconosciuto automaticamente. Ciò può rappresentare un problema nel caso in cui si usi una TV connessa tramite DVI come display principale, e il server X venga avviato mentre la TV è spenta o disconnessa.

Per forzare i driver nvidia ad usare DFP, si conservi una copia dell' EDID da qualche parte nel filesystem in modo tale che X possa analizzare il file invece di leggere l' EDID dalla TV/DFP.

Per acquisire l' EDID, si avvii nvidia-settings. Verranno mostrate alcune informazioni in una struttura ad albero, si ignorino per il momento il resto delle impostazioni e si selezioni GPU (l'entrata corrispondente dovrebbe intitolarsi "GPU-0" o qualcosa di simile), quindi la sezione DFP (di nuovo, DFP-0 o qualcosa di simile), si clicchi su Acquire Edid e lo si salvi da qualche parte, ad esempio, /etc/X11/dfp0.edid.

Si modifichi xorg.conf aggiungendo alla sezione Device:

Option "ConnectedMonitor" "DFP"
Option "CustomEDID" "DFP-0:/etc/X11/dfp0.edid"

L'opzione ConnectedMonitor forza il driver a riconoscere la DFP come se fosse connessa. L'opzione CustomEDID fornisce l'informazione EDID per il device, ciò significa che sarà avviato esattamente come se la TV/DFP fosse stata connessa durante il processo X.

In questa maniera, si può avviare automaticamente un display manager al boot e quindi avere una schermata di X funzionante e propriamente configurata entro l'accensione della TV.

Controllare l'alimentazione

Il driver NVIDIA X.org può anche essere utilizzato per controllare l'alimentazione della GPU. Per vedere lo stato di alimentazione corrente, controllare il parametro di sola lettura 'GPUPowerSource' (0 = AC, 1 = batteria) :

nvidia-settings -q GPUPowerSource -t
1

Se viene visualizzato un messaggio di errore simile a quello qui sotto, allora dovreste aver bisogno di installare acpid o avviare il servizio systemd tramite systemctl start acpid.service

ACPI: failed to connect to the ACPI event daemon; the daemon
may not be running or the "AcpidSocketPath" X
configuration option may not be set correctly.  When the
ACPI event daemon is available, the NVIDIA X driver will
try to use it to receive ACPI event notifications.  For
details, please see the "ConnectToAcpid" and
"AcpidSocketPath" X configuration options in Appendix B: X
Config Options in the README.

(Se non viene cisualizzato questo errore, non è necessario installare e/o eseguire solo acpid per questo scopo. Lo stato di alimentazione può essere correttamente segnalato anche se non si è installato acpid.)

Visualizzare la temperatura GPU nella shell

Metodo 1 - nvidia-settings

Nota: Questo metodo richiede l'uso di X. Si segua altrimenti il metodo 2 od il metodo 3. Si noti inoltre che il metodo 3 non funzionerà con nuove schede nvidia come la G210/220 o le Zotac IONITX's 8800GS

Per visualizzare la temperatura GPU nella shell, si usi nvidia-settings come segue:

$ nvidia-settings -q gpucoretemp

Ciò darà come output qualcosa di simile a:

Attribute 'GPUCoreTemp' (hostname:0.0): 41.
'GPUCoreTemp' is an integer attribute.
'GPUCoreTemp' is a read-only attribute.
'GPUCoreTemp' can use the following target types: X Screen, GPU.

La temperatura GPU di questa scheda è di 41 C.

Per ottenere solamente la temperatura per usarla in programmi come rrdtool o conky, tra gli altri:

 $ nvidia-settings -q gpucoretemp -t
 41

Metodo 2 - nvidia-smi

Usare nvidia-smi, che può leggere la temperatura direttamente dalla GPU senza utilizzare X. Questo metodo è perfetto per coloro i quali non hanno necessità di utilizzare X, ad esempio se il computer in questione è un server, e non utilizza applicazioni con interfaccia grafica. Per mostrare la temperatura della GPU nella shell, usare nvidia-smi come mostrato:

$ nvidia-smi

Il comando dovrebbe generare un output simile al qui riportato:

$ nvidia-smi
Fri Jan  6 18:53:54 2012      
+------------------------------------------------------+                      
| NVIDIA-SMI 2.290.10  Driver Version: 290.10          |                      
|-------------------------------+----------------------+----------------------+
| Nb.  Name                     | Bus Id        Disp.  | Volatile ECC SB / DB |
| Fan  Temp  Power Usage /Cap   | Memory Usage         | GPU Util. Compute M. |
|===============================+======================+======================|
| 0.  GeForce 8500 GT           | 0000:01:00.0  N/A    |      N/A        N/A  |
|  30%  62 C  N/A  N/A /  N/A   |  17%  42MB /  255MB  |  N/A      Default    |
|-------------------------------+----------------------+----------------------|
| Compute processes:                                              GPU Memory  |
|  GPU  PID    Process name                                      Usage        |
|=============================================================================|
|  0.          ERROR: Not Supported                                           |
+-----------------------------------------------------------------------------+

Per mostrare dati solo sulla temperatura:

$ nvidia-smi -q -d TEMPERATURE
==============NVSMI LOG==============
Timestamp                      : Fri Jan  6 18:50:57 2012
Driver Version                 : 290.10
Attached GPUs                  : 1
GPU 0000:01:00.0
    Temperature
        Gpu                    : 62 C

Per catturare solo il valore della temperatura, per utilizzarla in strumenti come rrdtool o conky, eseguire il comando:

$ nvidia-smi -q -d TEMPERATURE | grep Gpu | cut -c35-36
 62

Riferimenti: http://www.question-defense.com/2010/03/22/gpu-linux-shell-temp-get-nvidia-gpu-temperatures-via-linux-cli

Metodo 3 - nvclock

Si usi nvclock che è disponibile nel repo [extra].

Nota: Si noti che nvclock non può accedere ai sensori termali di nuove schede NVIDIA come la G210/220.

Ci possono essere differenze significative tra le temperature riportato da nvclock e nvidia-settings/nv-control. Secondo questo post da parte dell'autore (Thunderbird) di nvclock, i valori nvclock dovrebbero essere più accurati.

Impostare la velocità della ventola al Login

È possibile regolare la velocità della ventola della scheda grafica con l'ausilio del programma nvidia-settings. Prima assicurarsi che nella configurazione di Xorg sia impostata l'opzione Coolbits a 4 o nella sezione Device per abilitare il controllo delle ventole.

Option "Coolbits" "4"
Nota: Le schede della serie GTX 4xx/5xx attualmente non possono impostare la velocità della ventola tramite questo metodo all'avvio del sistema. Questo metodo consente solo la regolazione di velocità della ventola all'interno della sessione corrente di X tramite l'uso di nvidia-settings.

Aggiunger ele seguenti stringe nel vostro file ~/.xinitrc per impostare la velocità desiderata della ventola all'avvio di Xorg. Sostituire <n> con un valore percentuale in base alle vostre esigenze.

nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=<n>"

È inoltre possibile configurare una seconda GPU per incrementare il numero di GPU e della ventola.

nvidia-settings -a "[gpu:0]/GPUFanControlState=1" \ 
-a "[gpu:1]/GPUFanControlState=1" \
-a "[fan:0]/GPUCurrentFanSpeed=<n>" \
-a  [fan:1]/GPUCurrentFanSpeed=<n>" &

Se si sta utilizzando un gestore di accesso come GDM o KDM, si può creare un file .desktop che contiene al suo interno le impostazioni da avviare. Create il file ~/.config/autostart/nvidia-fan-speed.desktop ed aggiungete al suo interno quanto segue. Anche in questo caso sostituite ad <n> un valore percentuale in base alle vostre esigenze.

[Desktop Entry]
Type=Application
Exec=nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=<n>"
X-GNOME-Autostart-enabled=true
Name=nvidia-fan-speed

Ordine di installazione/disinstallazione al cambiamento dei driver

Nei casi in cui il vecchio driver è nvidiaO e il nuovo driver è nvidiaN.

Rimuovere nvidiaO
Installare nvidia-utilsN
installare nvidiaN
installare lib32-nvidia-utils-N (se richiesto)

Passare tra i driver nvidia e nouveau

Se si desidera passare spesso tra i driver nvidia e i nouveau, è possibile utilizzare questi due semplici script per rendere il lavoro più semplice [necessitano di essere lanciati come root):

driver_nouveau
 #!/bin/bash
 # nvidia -> nouveau
 
 sed -i 's/#*options nouveau modeset=1/options nouveau modeset=1/' /etc/modprobe.d/modprobe.conf
 sed -i 's/#*MODULES="nouveau"/MODULES="nouveau"/' /etc/mkinitcpio.conf
 
 pacman -Rdds --noconfirm nvidia{,-utils}
 pacman -S --noconfirm nouveau-dri xf86-video-nouveau
 
 #cp {10-monitor,20-nouveau}.conf /etc/X11/xorg.conf.d/
 
 mkinitcpio -p linux
driver_nvidia
 #!/bin/bash
 # nouveau -> nvidia
 
 sed  -i 's/options nouveau modeset=1/#options nouveau modeset=1/' /etc/modprobe.d/modprobe.conf
 sed -i 's/MODULES="nouveau"/#MODULES="nouveau"/' /etc/mkinitcpio.conf
 
 pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau libgl
 pacman -S --noconfirm nvidia{,-utils}
 
 #rm /etc/X11/xorg.conf.d/{10-monitor,20-nouveau}.conf
 
 mkinitcpio -p linux

Un riavvio è necessario per completare il passaggio.

Modificare questi script in base alle proprie esigenze, nel caso si utilizzino dei driver diversi dai NVIDIA (Es. nvidia-173xx).

Se si sta utilizzando una versione di xorg-server precedente alla versione 1.10.2, decommentare le stringhe relative ai comandi per copiare e rimuovere 10-monitor,20-nouveau}.conf. Dalla versione 1.10.2, X carica i driver nouveau automaticamente.

Si necessita di aver creato nella stessa directory dello script, sia il file 10-monitor.conf che il file 20-nouveau.conf.

Risoluzione dei problemi

Performance scadenti, es. ridisegno lento quando si passa tra le schede in Chrome

Su alcune macchine, i recenti driver nvidia introducono un bug(?) Che provoca il ridisegnamento pixmaps molto lento in X11. Il passaggio tra le schede di commutazione in Chrome/Chromium (pur avendo più di 2 schede aperte) dura 1-2 secondi, invece di pochi millisecondi.

Sembrerebbe che impostare la variabile InitialPixmapPlacement a 0 risolva il problema, anche se (come descritto nei paragrafi sopra) InitialPixmapPlacement=2 dovrebbe in realtà essere il metodo più veloce.

La variabile può essere impostata (temporaneamente) con il comando:

nvidia-settings -a InitialPixmapPlacement=0

Per rendere questo parametro permanente, immettere il comando in uno script di avvio.

Giocare usando Twinview

Nel caso in cui si desideri giocare a schermo intero con l'opzione Twinview, si avrà notato come i giochi riconoscono i due schermi come fossero uno solo. Sebbene ciò è tecnicamente corretto (lo schermo virtuale X è esattamente della dimensione della combinazione dei tuoi schermi), probabilmente non si vorrà giocare su entrambi gli schermi contemporaneamente.

Per correggere questo comportamento per SDL, si provi con:

export SDL_VIDEO_FULLSCREEN_HEAD=1

Per OpenGL, si aggiungano gli appropriati Metamodes al xorg.conf nella sezione Device e si riavvi X:

Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL;  1280x1024,NULL;"

Un altro metodo che può funzionare da solo o congiuntamente a quelli sopra descritti consiste nel starting games in a seperate X server.

Vertical sync using TwinView

Se si utilizza Vertical sync in combinazione con TwinView (l'opzione "Sync to Vblank" in nvidia-settings), noterete che solo uno schermo viene correttamente sincronizzato, a meno che non abbiate due monitor identici. Anche se nvidia-settings offre un'opzione per abilitare la sincronizzazione al cambio dello schermo (l'opzione "Sync to this display device"), questo non sempre funziona. Una soluzione è quella di aggiungere le seguenti variabili d'ambiente in fase di avvio:

nano /etc/profile

E aggiungere le seguenti righe alla fine del file:

export __GL_SYNC_TO_VBLANK=1
export __GL_SYNC_DISPLAY_DEVICE=DFP-0
export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0

Potete cambiare il valore DFP-0 in base alle vostre esigenze (DFP-0 indica la porta DVI, mentre CRT-0 è la porta VGA).

Vecchie impostazioni Xorg

Se si effettua l'upgrade da una vecchia installazione, si rimuovino i vecchi percorsi a /usr/X11R6/ dal momento che possono creare problemi durante l'installazione.

Schermata corrotta: il problema dei "Sei schermi"

Per alcuni utilizzatori delle schede video Geforce GT 100M, la schermata si rivela corrotta dopo aver avviato X; divisa in 6 sezioni con la risoluzione limitata a 640x480.

Lo stesso problema è stato recentemente segnalato con Quadro 2000 e ad alta risoluzione display.

Per risolvere questo problema, si abiliti il Validation Mode NoTotalSizeCheck nella sezione Device:

Option "ModeValidation" "NoTotalSizeCheck"

Errore '/dev/nvidia0' Input/Output

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Verificare che i suggerimenti legati al BIOS funzionino e che non siano impostazioni che coincidano con la risoluzione dei problemi. (Discuss in Talk:NVIDIA#.27.2Fdev.2Fnvidia0.27_Input.2FOutput_error..._suggested_fixes)

Questo errore può verificarsi per diversi motivi, e la soluzione più comune è quella di verificare i permessi per il gruppo/file, anche se in molti casi si non è la soluzione del problema. Nella documentazione di NVIDIA non si accenna nel dettaglio di cosa si dovrebbe fare per correggere questo problema, ma ci sono alcuni metodi che hanno funzionato per diversi utenti. il problema può essere un conflitto con l'IRQ di un'altra periferica oppure un'errata assegnazione da parte del kernel o del tuo BIOS.

La prima cosa da tentare è quella di rimuovere eventuali altri dispositivi video, come schede di acquisizione, e vedere se il problema scompare. Avere troppi processori video sullo stesso sistema può portare nel kernel all'incapacità di avviarli, a causa di problemi di allocazione di memoria con il controller video. In particolare, su sistemi con bassa memoria video, questo problema si può presentare anche in presenza di un solo processore video. In tal caso si dovrebbe capire la quantità di memoria video del sistema (ad esempio con il comando lspci -v) e passare i parametri di assegnazione al kernel, ad esempio:

vmalloc=64M
or
vmalloc=256M

Se si utilizza un kernel a 64bit, un difetto del driver può causare che il modulo nvidia a fallisca l'inizializzazione IOMMU quando è attivato. Alcuni utenti hanno confermato che disattivarlo può risolvere il problema [2]User:Clickthem#nvidia module.

Un'altra cosa da provare è cambiare il controllo dell'assegnazione degli IRQ nel BIOS da Operating system controlled in BIOS controlled oppure provare le altre opzioni. Il primo può essere passato come parametro del kernel:

PCI=biosirq

Il parametro noacpi del kernel è stato anche suggerito come una possibile soluzione, ma dal momento che disattiva completamente il controllo ACPI dovrebbe essere usato con cautela. Alcuni componenti hardware possono essere facilmente danneggiati da surriscaldamento

Nota: I parametri del kernel possono essere passati tramite linea di comando del kernel o nel file di configurazione del bootloader. Vedere la pagina Wiki relativa al proprio bootloader in uso per maggiori informazioni.

Errori '/dev/nvidiactl'

Provando ad iniziare un'applicazione opengl si riscontrano errori del tipo:

Error: Could not open /dev/nvidiactl because the permissions are too
restrictive. Please see the FREQUENTLY ASKED QUESTIONS 
section of /usr/share/doc/NVIDIA_GLX-1.0/README 
for steps to correct.

Si risolve aggiungendo l'user appropriato al gruppovideo e effettuando nuovamente il login:

# gpasswd -a username video

Le applicazioni 32 bit non si avviano

Nei sistemi a 64 bit, installare lib32-nvidia-utils ,che corrisponde alla stessa versione installata per i driver a 64 bit, risolve il problema.

Errori dopo l'aggiornamento del kernel

Se si sta utilizzando un modulo NVIDIA compilato al posto del pacchetto reperibile in [extra], è necessario effettuare una ricompilazione del modulo ad ogni aggiornamento del kernel. Un riavvio del sistema e generalmente raccomandato dopo un aggiornamento del kernel e dei driver grafici.

Crash generali

  • Prova disabilitando RenderAccel in xorg.conf.
  • Se Xorg restituisce un errore riguardo "conflicting memory type",aggiungi nopat alla fine della linea kernel in /boot/grub/menu.lst.
  • Se il compilatore NVIDIA si lamenta di differenti versioni di GCC tra quella corrente e quella usata per compilare il kernel, aggiungi in /etc/profile:
export IGNORE_CC_MISMATCH=1
  • Se Xorg dovesse andare in crash con un "Signal 11" durante l'ulizzo dei drivers nvidia-96xx, si provi a disabilitare PAT. Si aggiunga l'opzione nopat alla linea kernel in menu.lst.

Maggiori informazioni sulla risoluzione dei problemi dei driver possono essere trovate in NVIDIA forums.

Brutte performance dopo aver installato una nuova versione dei driver

Se gli FPS sono calati rispetto quelli con i vecchi driver, innanzitutto si controlli di aver abilitato il direct rendering:

glxinfo | grep direct

Se il comando da come risposta:

glxinfo | grep direct
 direct rendering: No 

allora questo può essere indice dell'improvviso calo di FPS.

Una soluzione possibile consiste nel tornare alla versione di driver precedente e quindi riavviare.

Picchi alti di CPU con schede della serie 400

Se si riscontrano picchi di CPU intermittente con una scheda della serie 400, ciò può essere causato da PowerMizer che cambia costantemente la frequenza di clock della GPU. Cambiare l'impostazione di PowerMizer da 'Adaptive' a 'Performance', aggiungendo la seguente opzione nella sezione Device della propria configurazione di Xorg:

 Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3322; PowerMizerDefaultAC=0x1"

Per i laptop: X si blocca durante il login/out, ovviato con Ctrl+Alt+Backspace

Se durante l'utilizzo dei drivers nvidia ufficiali Xorg si dovesse bloccare durante il login e logout (in particolare con una schermata insolita divisa in due pezzi neri e bianco/grigi), ma è ancora possibile effettuare il login con Template:Keypress (o qualsiasi sia la nuova scorciatoia "kill X"), si provi ad aggiungere questo in /etc/modprobe.d/modprobe.conf:

options nvidia NVreg_Mobile=1

Invece un utente ha avuto fortuna in questa maniera, ma per altri questa soluzione va a ledere sulle performance:

options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660 NVreg_SoftEDIDs=0 NVreg_Mobile=1

Si noti che NVreg_Mobile necessita di essere modificato in linea con il laptop:

  • 1 per i laptops Dell.
  • 2 per i laptops non Compal Toshiba.
  • 3 per gli altri laptops.
  • 4 per i laptops Compal Toshiba.
  • 5 per i laptops Gateway.

Si veda NVIDIA Driver's Readme:Appendix K per maggiori informazioni.

La frequenza di refresh non viene rilevata correttamente dalle utility dipendenti da XRandR

L'estensione XRandR X al momento non è in grado di gestire device con display multipli in un'unica schermata di X; si vede solamente il box fisso di MetaMode, che può contenere uno o più actual modes. Ciò significa che se diversi MetaMode hanno lo stesso box fisso, XRandR non sarà in grado di distinguerli.

In modo da supportare la DynamicTwinView, i driver NVIDIA devono far apparire a XRandR ogni MetaMode come unico. Al momento, i driver Nvidia realizzano questo usando la frequenza di refresh come unico identificatore.

Si usi nvidia-settings -q RefreshRate per richiedere l'attuale frequenza di refresh su ogni display.

L'estensione XRandR al momento sta per essere ridisegnata dalla comunità di X.Org, così la soluzione della frequenza di refresh potrà essere rimossa tra un pò di tempo.

Questa soluzione può essere anche disabilitata impostando l'opzione di configurazione di X DynamicTwinView a false, che disabiliterà il supporto a NV-CONTROL per manipolare i MetaMode, ma causerà, per essere accurata, visibili frequenze di refresh a XRandR e a XF86VidMode.

Nessun schermo trovato su un computer portatile e Nvidia Optimus

Su un computer portatile, se il driver nvidia non riesce a trovare lo schermo (no screen found), è probabile che siate in presenza di una configurazione che utilizza Nvidia Optimus: un chipset Intel collegato allo schermo e le uscite video, e una scheda Nvidia che fa tutto il lavoro duro e scrive per il chipset della memoria video.

Controllare se

$ lspci | grep VGA

Restituisce un output simile a questo:

00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation Device 0df4 (rev a1)

NVIDIA ha annunciato il piano per supportare Optimus nei loro driver Linux drivers nel prossimo futuro.

È necessario installare il driver Intel per gestire gli schermi, inoltre se si vuole che funzioni anche il software 3D si potrebbe utilizzare Bumblebee per fare in modo che essi utilizzino la scheda Nvidia.

Schermo(i) trovati, ma nessuna configurazione utilizzabile

Su un computer portatile, a volte il driver NVIDIA non riesce a trovare lo schermo attivo. Esso può essere causato perché si possiede una scheda grafica con uscita VGA/TV. Si dovrebbe esaminare Xorg.0.log per vedere dov'è l'errore.

Un'altra cosa da provare è l'aggiunta di opzione che invalida "ConnectedMonitor" Option alla sezione Section "Device" per forzare Xorg a generare un errore e mostrare come correggerlo. Qui potete trovate più informazioni sulle impostazioni di ConnectedMonitor.

Dopo il riavvio di X, controllare Xorg.0.log per ottenere i corretti valori di CRT-x,-x DFP, TV-x.

il comando nvidia-xconfig --query-gpu-info potrebbe esservi utile.

Nessun controllo della luminosità sui portatili

aggiungete la seguente stringa in 20-nvidia.conf

Option "RegistryDwords" "EnableBrightnessControl=1"

Se questa soluzione non dovesse funzionare, si può provare ad installare il pacchetto nvidia-blAUR o nvidiablAUR.

Barre nere durante la riproduzione a schermo intero di video flash con la configurazione Twinview

Seguire le istruzioni riportate in questo articolo: link

La retroilluminazione non si spegne in alcune circostanze

Per impostazione predefinita, DPMS dovrebbe spegnere la retroilluminazione con il impostando un dato valore di tempo o eseguendo xset. Tuttavia, probabilmente a causa di un bug nei driver proprietari Nvidia, il risultato è una schermata vuota, senza nessun risparmio energetico. Una soluzione alternativa, fino a quando il bug non verrà corretto, è possibile utilizzare il vbetool come utente root.

Installare il pacchetto vbetool.

Per spegnere lo schermo quando si desidera per poi riaccendere la retroilluminazione premendo un tasto a caso:

vbetool dpms off && read -n1; vbetool dpms on

In alternativa, xrandr è in grado di disattivare e riattivare le uscite monitor senza i permessi di root.

xrandr --output DP-1 --off; read -n1; xrandr --output DP-1 --auto

Colori blu su video che utilizzano Flash

Un problema con le versioni 11.2.202.228-1 e 11.2.202.233-1 di flashplugin causano l'invio dei pannelli U/V pannelli in un ordine incorretto, con una conseguente tinta blu per determinati video. Ci sono alcune correzioni potenziali per questo bug:

  • Installare il pacchetto libvdpau.
  • Patchare vdpau_trace.so con questo makepkg.
  • Tasto destro del mouse su un video, selezionare "Impostazioni..." e spuntare "Abilita l'accelerazione hardware". Ricaricare la pagina per fare in modo che le modifiche abbiano effetto. Si noti che viene disabilitata l'accelerazione GPU.
  • Effettuare un downgrade di flashplugin alla versione 11.1.102.63-1 o precedente.
  • Utilizzare google-chromeAUR con la nuova API pepper.
  • Provare una delle poche alternative Flash.

I meriti di ciascuno sono discussi in questo thread. Per riassumere: se si desidera che tutti i siti in flash (youtube, vimeo, etc) funzionino correttamente in browser non-Chrome , senza regressioni delle funzionalità (come la perdita di accelerazione hardware), senza incidenti/instabilità (che consente la decodifica hardware), senza problemi di sicurezza (più CVE contro le vecchie versioni di flash) e senza rompere la libreria VDPAU tracciata dalla sua destinazione, la MENO discutibile è quella di installare libvdpau-git-flashpatchAUR.

Bleeding Overlay con Flash

Questo bug è dovuto alla non corretta chiave di colore usata dalla versione 11.2.202.228-1 di flashplugin, e fa sì che i contenuti flash causino delle "perdite" in altre pagine o sfondi neri solidi. Per evitare questo problema è sufficiente installare il pacchetto libvdpau oppure

esportare VDPAU_NVIDIA_NO_OVERLAY=1 all'interno del profilo della vostra shell (ad esempio ~/.bash_profile o ~/.zprofile) o in ~/.xinitrc

Il sistema si blocca completamente utilizzando Flash

Se occasionalmente capita che il sistema si blocca completamente (soltanto il mouse si muove) durante l'utilizzo di flashplugin, e nel log riscontrate:

 # /var/log/errors.log
 NVRM: Xid (0000:01:00): 31, Ch 00000007, engmask 00000120, intr 10000000

Una possibile soluzione è quella di disabilitare l'accelerazione hardware di flash, impostando

# /etc/adobe/mms.cfg
EnableLinuxHWVideoDecode=0

Xorg fallisce il caricamento o appare una schermata rossa

Se si ottiene una schermata rossa e utilizzate grub2, disabilitare il framebuffer di grub2 modificando /etc/defaults/grub, de-commentando la stringa GRUB_TERMINAL_OUTPUT. Per maggiori informazioni vedere Disabilitare il framebuffer.

Link esterni