NVIDIA (Italiano)

From ArchWiki
Revision as of 19:50, 2 March 2014 by Veleno77 (Talk | contribs) (pagina allineata)

Jump to: navigation, search

Articoli correlati

Questo articolo tratta dell'installazione e configurazione dei driver proprietari per schede grafiche NVIDIA. Si veda Nouveau per le informazioni sui driver open-source. Si consulti invece l'articolo NVIDIA Optimus se disponete di un portatile che sfrutta questa tecnologia.

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. Se non conoscete la scheda grafica che state utilizzando, potete scoprirlo mediante il comando:

 # lspci -k | grep -A 2 -i "VGA"


2. Determinare il driver necessario per la vostra scheda video visitando il sito NVIDIA nella pagina dei download dei driver guardando il nome del driver NVIDIA. Potete anche controllare questa lista per le vecchie schede o cercare il codice del nome nella pagina dei nomi dei codici sul wiki di nouveau.}}

3. 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.
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.
Se siete in ambiente a 64-bit e necessitate del supporto OpenGL a 32-bit, sarà necessario installare il pacchetto lib32 equivalente dal deposito multilib (per esempio lib32-nvidia-libgl o lib32-nvidia-{304xx,173xx,96xx}-utils).}}
Suggerimento: I driver legacy nvidia-96xx e nvidia-173xx possono essere anche installati dal deposito non ufficiale [city].

4. Riavviare. Il pacchetto nvidia contiene 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 nouveau 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-dkmsAUR per i driver stabili. 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.

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.
  • Se si desidera eseguire questa operazione manualmente si prega di vedere questa sezione nella pagina wiki di dkms.}}
  • 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 ( è preferibilre creare il file /etc/X11/xorg.conf.d/20-nvidia.conf al posto di /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 minimale

    Un blocco di configurazione di base in 20-nvidia.conf (o nel deprecato xorg.conf) può essere simile a questo:

    /etc/X11/xorg.conf.d/20-nvidia.conf
    Section "Device"
            Identifier "Nvidia Card"
            Driver "nvidia"
            VendorName "NVIDIA Corporation"
            Option "NoLogo" "true"
            #Option "UseEDID" "false"
            #Option "ConnectedMonitor" "DFP"
            # ...
    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.

    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

    Monitor multipli

    Si veda l'articolo Multimonitor per maggiori informazioni generali
    Attenzione: A partire da agosto 2013, Xinerama non funziona quando si utilizza il driver NVIDIA proprietario dalla versione 319 in su. Gli utenti che desiderano utilizzare Xinerama con il driver NVIDIA devono utilizzare il driver NVIDIA 313 , che funziona solo con kernel Linux precedenti alla versione 3.10. vedere this thread per maggiori informazioni.

    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, 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

    Se si dispone di più in modalità SLI, è possibile eseguire più di un monitor collegato a schede separate ( per esempio : due schede in SLI con un monitor collegato a ciascuno). L'opzione " MetaModes " in collaborazione con la modalità SLI Mosaic permette questo. Qui di seguito è una configurazione che funziona per l'esempio di cui sopra e corre GNOME senza problemi .

    /etc/X11/xorg.conf.d/10-monitor.conf
    Section "Device"
            Identifier      "Card A"
            Driver          "nvidia"
            BusID           "PCI:1:00:0"
    EndSection
    
    Section "Device"
            Identifier      "Card B"
            Driver          "nvidia"
            BusID           "PCI:2:00:0"
    EndSection
    
    Section "Monitor"
            Identifier      "Right Monitor"
    EndSection
    
    Section "Monitor"
            Identifier      "Left Monitor"
    EndSection
    
    Section "Screen"
            Identifier      "Right Screen"
            Device          "Card A"
            Monitor         "Right Monitor"
            DefaultDepth    24
            Option          "SLI" "Mosaic"
            Option          "Stereo" "0"
            Option          "BaseMosaic" "True"
            Option          "MetaModes" "GPU-0.DFP-0: 1920x1200+4480+0, GPU-1.DFP-0:1920x1200+0+0"
            SubSection      "Display"
                            Depth           24
            EndSubSection
    EndSection
    
    Section "Screen"
            Identifier      "Left Screen"
            Device          "Card B"
            Monitor         "Left Monitor"
            DefaultDepth    24
            Option          "SLI" "Mosaic"
            Option          "Stereo" "0"
            Option          "BaseMosaic" "True"
            Option          "MetaModes" "GPU-0.DFP-0: 1920x1200+4480+0, GPU-1.DFP-0:1920x1200+0+0"
            SubSection      "Display"
                            Depth           24
            EndSubSection
    EndSection
    
    Section "ServerLayout"
            Identifier      "Default"
            Screen 0        "Right Screen" 0 0
            Option          "Xinerama" "0"
    EndSection
    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
    

    Il metodo di auto-avvio del desktop environment 'può' non funzionare per caricare nvidia-settings correttamente (KDE). Per essere sicuri che le impostazioni siano realmente caricate mettere il comando nel file ~/.xinitrc (crearlo se non presente).

    Per un aumento 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. È possibile aggiungerlo al file ~/.Xinitrc per un auto-avvio con X.

    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.

    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.

    Vedere NVIDIA Accelerated Linux Graphics Driver README and Installation Guide per maggiori dettagli e opzioni di configurazione.

    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 alla pagina di Xorg 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"
    
    Nota: Se avete questa opzione già abilitata e il controllo della luminosità non funziona, provate a commentarla.

    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
     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" "AA"
    

    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".
    AA 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=AA
    

    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.
    
    Attenzione: Dopo l'attivazione SLI il sistema potrebbe diventare congelato o non risponde all'avvio di xorg . Si consiglia di disattivare il vostro display manager prima di riavviare.

    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 0x0=adaptiv (Driver Default)
    # level 0x1=highest
    # level 0x2=med
    # level 0x3=lowest
    
    # Battery settings:
    Option	"RegistryDwords" "PowerMizerLevel=0x3"
    
    # (Optional) AC Power adaptiv Mode and Battery Power forced to lowest Mode:
     Option "RegistryDwords" "PowerMizerLevelAC=0x0; 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/700 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 nvflashTemplate:Linkrot e NiBiTor 6.0Template:Linkrot. 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

    Aggiustare la Risoluzione del terminale di avvio

    La transizione da nouveau può causare all'avvio una visualizzazione del terminale ad una risoluzione inferiore. Una possibile soluzione (se si utilizza GRUB) è quella di modificare la linea GRUB_GFXMODE in /etc/default/grub con la risoluzione dello schermo desiderata. É possibile specificare più risoluzioni, compreso il il parametro predefinito auto, per cui si consiglia di modificare la riga come questo esempio: {{ic|GRUB_GFXMODE=<risoluzione desiderper ulteriori informazioni.

    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 installandolibva-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,
    
    Attenzione: Il codec ffodivxvdpau è supportato solo dalla più recente serie di hardware NVIDIA . Considerare di ometterlo, sulla base di hardware specifico.
    • Per abilitare l'accelerazione hardware in VLC andate su:

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

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

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

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

    Modifica>Preferenze e 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.

    Evitare screen tearing in KDE (KWin)

    /etc/profile.d/kwin.sh
    export __GL_YIELD="USLEEP"
    

    Anche se quanto sopra non aiuta , allora si provi questo :

    /etc/profile.d/kwin.sh
    export KWIN_TRIPLE_BUFFER=1
    

    Non utilizzate entrambi i metodi allo stesso tempo. Inoltre se si attiva il Triple buffer, assicurarsi di attivarlo anche per il driver stesso. Fonte: https://bugs.kde.org/show_bug.cgi?id=322060

    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 nvclockAUR che è disponibile su AUR

    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-libglN
    installare nvidiaN
    installare lib32-nvidia-libgl-N (se richiesto)
    

    Passare tra i driver nvidia e nouveau

    Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

    Reason: Le nuove installazioni non contengono più il file /etc/modprobe.d/modprobe.conf di default. La linea sed non è più necessaria. (Discuss in Talk:NVIDIA (Italiano)#)

    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):

     #!/bin/bash
     # nouveau -> nvidia
     
     set -e
     
     # check if root
     if [[ $EUID -ne 0 ]]; then
        echo "You must be root to run this script. Aborting...";
        exit 1;
     fi
     
     sed -i 's/MODULES="nouveau"/#MODULES="nouveau"/' /etc/mkinitcpio.conf
     
     pacman -Rdds --noconfirm nouveau-dri xf86-video-nouveau mesa-libgl #lib32-nouveau-dri lib32-mesa-libgl
     pacman -S --noconfirm nvidia #lib32-nvidia-libgl
     
     mkinitcpio -p linux
    
     #!/bin/bash
     # nvidia -> nouveau
     
     set -e
     
     # check if root
     if [[ $EUID -ne 0 ]]; then
        echo "You must be root to run this script. Aborting...";
        exit 1;
     fi
     
     sed -i 's/#*MODULES="nouveau"/MODULES="nouveau"/' /etc/mkinitcpio.conf
     
     pacman -Rdds --noconfirm nvidia #lib32-nvidia-libgl
     pacman -S --noconfirm nouveau-dri xf86-video-nouveau #lib32-nouveau-dri
     
     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).

    De-commentare le stringhe ai pacchetti lib32 se si sta eseguendo un sistema a 64bit e sono richieste librerie a 32bit ((es. giochi 32-bit/Steam).

    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

    Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

    Reason: Questo bug è stato risolto. Si veda questo bug report (Discuss in Talk:NVIDIA (Italiano)#)

    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, ad esempio in /etc/profile:

    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). Potete trovare l'identificativo per il vostro display su nvidia -settings nella sezione " XVideoSettings X server".

    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-libgl ,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 ai parametri del kernel.

    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 è incluso nel pacchetto mesa-demos):

    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 Ctrl+Alt+Backspace (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)
    

    Dalla versione 319,12 Beta, i driver NVIDIA offrono il supporto ad Optimus [[3]] con versioni del kernel 2.9 e superiori.

    Un'altra soluzione è 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.

    Possibile Soluzione

    Entrare nel BIOS e cambiare l'impostazione grafica di default da 'Optimus' a 'Discrete', ed il driver Nvidia installato (295,20-1 al momento della scrittura) riconosce gli schermi.

    Passaggi:

    1. Entrare nel BIOS
    2. Trovare Graphics Settings (in alcuni casi è nella scheda Config > Display)
    3. Cambiare 'Graphics Device' in 'Discrete Graphics' (questo disabilita la scheda grafica Intel).
    4. Cambiare OS Detection di Nvidia Optimus in Disabled.
    5. Salvare ed uscire.

    Testato su un Lenovo W520 con una Quadro 1000M e Nvidia Optimus.

    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:

    1. Installare il pacchetto libvdpau.
    2. Patchare vdpau_trace.so con questo makepkg.
    3. 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.
    4. Effettuare un downgrade di flashplugin alla versione 11.1.102.63-1 o precedente.
    5. Utilizzare google-chromeAUR con la nuova chromium-pepper-flashAUR
    6. Provare una delle poche alternative Flash.

    I meriti di ciascuno sono discussi in questo thread.

    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
    

    Oppure, se si vuole mantenere l'accelerazione hardware abilitata , si può provare ad :

    export VDPAU_NVIDIA_NO_OVERLAY=1
    

    ... prima di avviare il browser. Si noti che questo può introdurre tearing.

    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.

    Schermo nero su sistemi con GPU integrate Intel

    Se si dispone di una CPU Intel con GPU integrata (ad esempio Intel HD 4000) e ottiene una schermata nera al boot dopo l'installazione del pacchetto nvidia, questo può essere causato da un conflitto tra i moduli grafici. Questo è risolto mettendo in blacklist i moduli per la GPU Intel. Creare il file /etc/modprobe.d/blacklist.conf e prevenire che i moduli i915 e intel_agp' vengano caricati all'avvio:

    /etc/modprobe.d/blacklist.conf
    install i915 /bin/false
    install intel_agp /bin/false
    

    Schermo nero su sistemi con GPU integrata VIA

    Come sopra, mettere in blacklist il modulo viafb potrebbe risolvere i conflitti con i driver NVIDIA :

    /etc/modprobe.d/blacklist.conf
    install viafb /usr/bin/false
    

    X fallisce con "no screens found" una Intel iGPU

    Se avete un processore Intel che integra anche una GPU e X fallisce all'avvio con :

    [ 76.633] (EE) No devices detected.
    [ 76.633] Fatal server error:
    [ 76.633] no screens found
    

    Allora è necessario aggiungere il BusID della scheda nvidia alla propria configurazione di X. Potete trovarlo con questo comando:

    # lspci | grep VGA
     00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller (rev 09)
     01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
    

    Per risolvere il problema si aggiunga la propria scheda nella sezione Device nel file di configurazione di X, ad esempio:

    /etc/X11/xorg.conf.d/10-nvidia.conf
    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BusID          "PCI:1:0:0"
    EndSection
    

    Si noti come 01:00.0 viene scritto come 1:0:0.

    Xorg non fallisce durante l'avvio , ma il sistema si avvia comunque

    Sui sistemi boot molto veloci , systemd può tentare di avviare il display manager prima che il driver NVIDIA sia completamente inizializzato. Verrà visualizzato un messaggio simile al seguente nei log solo quando Xorg viene eseguito durante l'avvio .

    /var/log/Xorg.0.log
    [     1.807] (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module. Please see the
    [     1.807] (EE) NVIDIA(0):     system's kernel log for additional error messages and
    [     1.808] (EE) NVIDIA(0):     consult the NVIDIA README for details.
    [     1.808] (EE) NVIDIA(0):  *** Aborting ***

    In questo caso sarà necessario stabilire una dipendenza ordinare dal display manager al dispositivo DRI . Prima di creare unità di periferica per dispositivi DRI creando un nuovo file di regole udev.

    /etc/udev/rules.d/99-systemd-dri-devices.rules
    ACTION=="add", KERNEL=="card*", SUBSYSTEM=="drm", TAG+="systemd"

    Quindi creare la dipendenza dal display manager al dispositivo(i).

    /etc/systemd/system/display-manager.service.d/10-wait-for-dri-devices.conf
    [Unit]
    Wants=dev-dri-card0.device
    After=dev-dri-card0.device

    Se si dispone di schede supplementari necessarie per il desktop, allora aggiungerle alle stringhe Wants e After separati da uno spazio.

    Link esterni