Difference between revisions of "NVIDIA (Italiano)"

From ArchWiki
Jump to: navigation, search
(Installazione: aggiornata parte relativa all'installazione con la nota che i driver Nvidia-173xx e Nvidia-96xx non sono più presenti nei repo ufficiali)
(aggiornati template alle nuove direttive e pulito codice)
Line 11: Line 11:
 
{{Article summary end}}
 
{{Article summary end}}
  
Questo articolo tratta dell'installazione e configurazione dei driver propietari 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.
  
 
==Installazione==
 
==Installazione==
 +
 
Queste istruzioni sono per gli utenti che usano il pacchetto stock {{Package Official|linux}}. Per kernel personalizzati si veda [[#Installazione alternativa: kernel personalizzato|il prossimo passaggio]].
 
Queste istruzioni sono per gli utenti che usano il pacchetto stock {{Package Official|linux}}. Per kernel personalizzati si veda [[#Installazione alternativa: kernel personalizzato|il prossimo passaggio]].
  
Line 22: Line 23:
  
 
2. Installazione dei driver per schede video recenti (Tutte le schede recenti, dalla GeForce 6 alle ultime  [NV40] e superiori) :
 
2. Installazione dei driver per schede video recenti (Tutte le schede recenti, dalla GeForce 6 alle ultime  [NV40] e superiori) :
:{{cli|# pacman -S nvidia nvidia-utils}}
+
:{{bc|# pacman -S nvidia nvidia-utils}}
  
 
:Il pacchetto nvidia-utils va 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 {{ic|# pacman -Rdd libgl}}.  
 
:Il pacchetto nvidia-utils va 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 {{ic|# pacman -Rdd libgl}}.  
  
:{{Nota|Per gli ultimi modelli di schede video potrebbe essere richiesta l'installazione di {{Package AUR|nvidia-beta}} e {{Package AUR|nvidia-utils-beta}} dal repository [[AUR]] dato che i driver stabili potrebbero non supportare le più recenti caratteristiche.}}
+
:{{Nota|Per gli ultimi modelli di schede video potrebbe essere richiesta l'installazione di {{AUR|nvidia-beta}} e {{AUR|nvidia-utils-beta}} dal repository [[AUR]] dato che i driver stabili potrebbero non supportare le più recenti caratteristiche.}}
  
 
:Sui sistemi a 64 bit, per poter utilizzare appieno i programmi a 32-bit è necessaria l'installazione del pacchetto nvidia-utils che utilizzi le lib32, (per esempio lib32-nvidia-utils).
 
:Sui sistemi a 64 bit, per poter utilizzare appieno i programmi a 32-bit è necessaria l'installazione del pacchetto nvidia-utils che utilizzi le lib32, (per esempio lib32-nvidia-utils).
Line 42: Line 43:
 
* Articolo su [[Creating Packages (Italiano)| Creazione pacchetti]]
 
* Articolo su [[Creating Packages (Italiano)| Creazione pacchetti]]
  
{{Nota|Il pacchetto {{Package AUR|nvidia-all}} reperibile su [[AUR]] che si rileva essere un buon metodo per facilitare l'installazione dei driver NVIDIA in presenza di kernel personalizzati e/o multipli.}}
+
{{Nota|Il pacchetto {{AUR|nvidia-all}} reperibile su [[AUR]] che si rileva essere un buon metodo per facilitare l'installazione dei driver NVIDIA in presenza di kernel personalizzati e/o multipli.}}
  
 
Quello che segue è un piccolo tutorial per la creazione di un pacchetto di driver NVIDIA personalizzato utilizzando ABS:
 
Quello che segue è un piccolo tutorial per la creazione di un pacchetto di driver NVIDIA personalizzato utilizzando ABS:
Line 48: Line 49:
 
Installazione di ABS e generazione dell'albero:
 
Installazione di ABS e generazione dell'albero:
  
{{cli| # pacman -S abs
+
{{bc| # pacman -S abs
 
  # abs}}
 
  # abs}}
  
 
Utilizzando un utente non privilegiato, si crei una cartella temporanea per la creazione del nuovo pacchetto:
 
Utilizzando un utente non privilegiato, si crei una cartella temporanea per la creazione del nuovo pacchetto:
  
{{cli| $ mkdir -p ~/devel/abs}}
+
{{bc| $ mkdir -p ~/devel/abs}}
  
Si copi la cartella del pacchetto {{Filename|nvidia}} :
+
Si copi la cartella del pacchetto {{ic|nvidia}} :
  
{{cli| $ cp -r /var/abs/extra/nvidia/ ~/devel/abs/}}
+
{{bc| $ cp -r /var/abs/extra/nvidia/ ~/devel/abs/}}
  
Ci si sposti nella cartella di compilazione {{Filename|nvidia}} temporanea:
+
Ci si sposti nella cartella di compilazione {{ic|nvidia}} temporanea:
  
{{cli| $ cd ~/devel/abs/nvidia}}
+
{{bc| $ cd ~/devel/abs/nvidia}}
  
E' ora necessario modificare i file {{Filename|nvidia.install}} e {{Filename|PKGBUILD}} in modo che le variabili riportino la giusta versione del kernel.
+
E' ora necessario modificare i file {{ic|nvidia.install}} e {{ic|PKGBUILD}} in modo che le variabili riportino la giusta versione del kernel.
  
 
Utilizzando un kernel personalizzato, si ottengano la giusta versione kernel e locale:
 
Utilizzando un kernel personalizzato, si ottengano la giusta versione kernel e locale:
  
{{cli| $ uname -r}}
+
{{bc| $ uname -r}}
  
1. Si sostituisca, nel file {{Filename|nvidia.install}}, la variabile {{codeline|KERNEL_VERSION="2.6.xx-ARCH"}} con la versione del kernel personalizzato, come {{codeline|KERNEL_VERSION="2.6.22.6"}} oppure {{codeline|KERNEL_VERSION"2.6.22.6-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. Si sostituisca, nel file {{ic|nvidia.install}}, la variabile {{ic|KERNEL_VERSION="2.6.xx-ARCH"}} con la versione del kernel personalizzato, come {{ic|KERNEL_VERSION="2.6.22.6"}} oppure {{ic|KERNEL_VERSION"2.6.22.6-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.
  
2. Si cambi la variabile {{codeline|_kernver='2.6.xx-ARCH'}} nel file {{Filename|PKGBUILD}}, in modo che corrisponda alla corretta versione, allo stesso modo del passaggio precedente.
+
2. Si cambi la variabile {{ic|_kernver='2.6.xx-ARCH'}} nel file {{ic|PKGBUILD}}, 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 {{codeline|"pkgname=nvidia"}} nel file {{Filename|PKGBUILD}} con un nuovo unico identificativo, come {{codeline|"pkgname=nvidia-2622"}} o {{codeline|"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 {{Codeline|package()}} per creare {{Filename|/etc/modprobe.d/nouveau_blacklist.conf}} (altrimenti Pacman lamenterà che il pacchetto è già esistente).
+
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 {{ic|"pkgname=nvidia"}} nel file {{ic|PKGBUILD}} con un nuovo unico identificativo, come {{ic|"pkgname=nvidia-2622"}} o {{ic|"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 {{ic|package()}} per creare {{ic|/etc/modprobe.d/nouveau_blacklist.conf}} (altrimenti Pacman lamenterà che il pacchetto è già esistente).
  
 
Si esegua poi:
 
Si esegua poi:
  
{{cli| $ makepkg -c -i}}
+
{{bc| $ makepkg -c -i}}
  
L'operando {{Codeline|-c}} dice a makepkg di eliminare i file residui del processo di pacchettizzazione dopo la creazione del pacchetto, mentre {{Codeline|-i}} farà in modo che makepkg esegua automaticamente pacman per installarlo.
+
L'operando {{ic|-c}} dice a makepkg di eliminare i file residui del processo di pacchettizzazione dopo la creazione del pacchetto, mentre {{ic|-i}} farà in modo che makepkg esegua automaticamente pacman per installarlo.
  
 
==Configurazione==
 
==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 {{Filename|/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.
+
 
 +
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 {{ic|/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.
  
 
===Configurazione automatica===
 
===Configurazione automatica===
Il pacchetto NVIDIA include un tool di configurazione automatica per creare un file di configurazione({{Filename|xorg.conf}}) per il server Xorg e può essere eseguito con:
+
 
{{cli| # nvidia-xconfig}}
+
Il pacchetto NVIDIA include un tool di configurazione automatica per creare un file di configurazione({{ic|xorg.conf}}) per il server Xorg e può essere eseguito con:
Questo comando ricercherà automaticamente e creerà (o modificherà se già presente) la configurazione di {{Filename|/etc/X11/xorg.conf}}, a seconda dell'hardware installato.
+
{{bc| # nvidia-xconfig}}
 +
Questo comando ricercherà automaticamente e creerà (o modificherà se già presente) la configurazione di {{ic|/etc/X11/xorg.conf}}, a seconda dell'hardware installato.
  
 
Se risulta presente l'istanza di DRI, assicurarsi che sia commentata:
 
Se risulta presente l'istanza di DRI, assicurarsi che sia commentata:
{{cli| #    Load        "dri"}}
+
{{bc| #    Load        "dri"}}
Controllare che il file {{filename | /etc/X11/xorg.conf}} appena creato contenga come valori predefiniti di depth, horizontal sync, vertical refresh, e risoluzione monitor accettabili per il vostro hardware.
+
Controllare che il file {{ic | /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 }}
 
{{Attenzione| Questa procedura potrebbe non funzionare correttamente con Xorg-server 1.8 }}
  
 
===Configurazione automatica con monitor multipli===
 
===Configurazione automatica con monitor multipli===
 +
 
Il pacchetto NVIDIA fornisce l'applicativo Twinview. Questo strumento permette la configurazione automatica di tutti i monitor collegati alla scheda video. La configurazione avviene correttamente solo su monitor collegati ad una sola scheda video.
 
Il pacchetto NVIDIA fornisce l'applicativo Twinview. Questo strumento permette la configurazione automatica di tutti i monitor collegati alla scheda video. La configurazione avviene correttamente solo su monitor collegati ad una sola scheda video.
 
Per configurare il server Xorg con Twinview eseguire il comando:
 
Per configurare il server Xorg con Twinview eseguire il comando:
{{cli| # nvidia-xconfig --twinview}}
+
{{bc| # nvidia-xconfig --twinview}}
  
 
===Configurazione minimale===
 
===Configurazione minimale===
Per creare un {{Filename|/etc/X11/xorg.conf}} di base eseguire da root:
+
 
{{cli| # touch /etc/X11/xorg.conf}}
+
Per creare un {{ic|/etc/X11/xorg.conf}} di base eseguire da root:
 +
{{bc| # touch /etc/X11/xorg.conf}}
 
E aggiungere i driver:
 
E aggiungere i driver:
 
<pre>
 
<pre>
Line 112: Line 117:
 
</pre>
 
</pre>
 
{{Suggerimento|Per avere accesso a tutte le funzionalità multimediali, ci si accerti che '''xorg-input-drivers''' sia installato.}}
 
{{Suggerimento|Per avere accesso a tutte le funzionalità multimediali, ci si accerti che '''xorg-input-drivers''' sia installato.}}
{{Suggerimento|Se state aggiornando dopo aver utilizzato i driver nouveau, assicurarsi di rimuovere "nouveau" dal file {{filename|/etc/mkinitcpio.conf}}. È possibile utilizzare uno script per [[NVIDIA_(Italiano)#Passare_tra_i_driver_nvidia_e_nouveau | passare tra i driver nvidia e nouveau]], se si desidera passare spesso tra i driver Open e quelli proprietari.}}
+
{{Suggerimento|Se state aggiornando dopo aver utilizzato i driver nouveau, assicurarsi di rimuovere "nouveau" dal file {{ic|/etc/mkinitcpio.conf}}. È possibile utilizzare uno script per [[NVIDIA_(Italiano)#Passare_tra_i_driver_nvidia_e_nouveau | passare tra i driver nvidia e nouveau]], se si desidera passare spesso tra i driver Open e quelli proprietari.}}
  
 
==Tweaking==
 
==Tweaking==
  
 
===GUI: nvidia-settings===
 
===GUI: nvidia-settings===
Il pacchetto NVIDIA include il programma {{Codeline|nvidia-settings}} che permette l'adattamento di diverse impostazioni aggiuntive.
+
 
 +
Il pacchetto NVIDIA include il programma {{ic|nvidia-settings}} che permette l'adattamento di diverse impostazioni aggiuntive.
  
 
Per caricare le impostazioni al login eseguire questo comando dal terminale:
 
Per caricare le impostazioni al login eseguire questo comando dal terminale:
{{cli| $ nvidia-settings --load-config-only}}
+
{{bc| $ nvidia-settings --load-config-only}}
 
O lo si aggiunga alle regole di auto avvio del proprio ambiente desktop.
 
O lo si aggiunga alle regole di auto avvio del proprio ambiente desktop.
{{suggerimento|In rare occasioni il {{Filename|~/.nvidia-settings-rc}} può risultare corrotto. Se questo accade il server Xorg può crashare e il file dovrà essere cancellato per risolvere il problema.}}
+
{{suggerimento|In rare occasioni il {{ic|~/.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: xorg.conf===
 
===Avanzato: xorg.conf===
Modificare {{Filename|/etc/X11/xorg.conf}} e aggiungere le opzioni alla la sezione corretta. NVIDIA testa e rilascia i driver con le impostazioni raccomandate quindi si ricordi che alcune modifiche possono causare instabilità e problemi di visualizzazione tra gli altri casi. Dal momento che non tutte le opzioni potrebbero funzionare per un dato sistema, è consigliato un backup del file {{Filename|xorg.conf}} prima di qualsiasi modifica. Il server Xorg dovrà essere riavviato prima che le modifiche abbiano effetto.
+
 
 +
Modificare {{ic|/etc/X11/xorg.conf}} e aggiungere le opzioni alla la sezione corretta. NVIDIA testa e rilascia i driver con le impostazioni raccomandate quindi si ricordi che alcune modifiche possono causare instabilità e problemi di visualizzazione tra gli altri casi. Dal momento che non tutte le opzioni potrebbero funzionare per un dato sistema, è consigliato un backup del file {{ic|xorg.conf}} prima di qualsiasi modifica. Il server Xorg dovrà essere riavviato prima che le modifiche abbiano effetto.
  
 
====Abilitare la desktop composition====
 
====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 [[Composite]] per delle istruzioni dettagliate.
 
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 [[Composite]] per delle istruzioni dettagliate.
  
 
====Disabiliare visione logo all'avvio====
 
====Disabiliare visione logo all'avvio====
Aggiungere l'opzione {{Codeline|"NoLogo"}} nella sezione {{Codeline|Device}}:
+
 
{{file|name=/etc/X11/xorg.conf|content=
+
Aggiungere l'opzione {{ic|"NoLogo"}} nella sezione {{ic|Device}}:
.......
+
 
.......
+
Option "NoLogo" "True"
Option "NoLogo" "True"
+
......
+
......}}
+
  
 
====Abilitare accelerazione hardware====
 
====Abilitare accelerazione hardware====
Aggiungere l'opzione {{Codeline|"RenderAccel"}} nella sezione {{Codeline|Device}}:
+
 
{{file|name=/etc/X11/xorg.conf|content=
+
Aggiungere l'opzione {{ic|"RenderAccel"}} nella sezione {{ic|Device}}:
.......
+
 
.......
+
 
  Option "RenderAccel" "True"
 
  Option "RenderAccel" "True"
......
+
 
......}}
+
{{Note|{{ic|RenderAccel}} è abilitato di default dalla versione 97.46.xx dei driver.}}
{{Note|{{Codeline|RenderAccel}} è abilitato di default dalla versione 97.46.xx dei driver.}}
+
  
 
====Annullare la ricerca del monitor====
 
====Annullare la ricerca del monitor====
L'opzione {{Codeline|"ConnectedMonitor"}} nella sezione {{Codeline|Device}} permette di annullare la ricerca del monitor all'avvio del server X, il che può far risparmiare diverso tempo. Le opzioni disponibili sono: {{Codeline|"CRT"}} per connessioni analogiche, {{Codeline|"DFP"}} per monitor digitali e {{Codeline|"TV"}} per le televisioni.
+
 
 +
L'opzione {{ic|"ConnectedMonitor"}} nella sezione {{ic|Device}} permette di annullare la ricerca del monitor all'avvio del server X, il che può far risparmiare diverso tempo. Le opzioni disponibili sono: {{ic|"CRT"}} per connessioni analogiche, {{ic|"DFP"}} per monitor digitali e {{ic|"TV"}} per le televisioni.
  
 
La seguente dichiarazione forza i driver NVIDIA a bypassare i controlli d'avvio e a riconoscere il monitor come DFP:
 
La seguente dichiarazione forza i driver NVIDIA a bypassare i controlli d'avvio e a riconoscere il monitor come DFP:
{{file|name=/etc/X11/xorg.conf|content=
+
 
.......
+
.......
+
 
  Option "ConnectedMonitor" "DFP"
 
  Option "ConnectedMonitor" "DFP"
......
+
 
......}}
+
 
{{Note|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.}}
 
{{Note|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====
 
====Abilitare il triple buffering====
Per abilitare il triple buffering si aggiunga l'opzione {{Codeline|"TripleBuffer"}} nella sezione {{Codeline|Device}}:
+
 
{{file|name=/etc/X11/xorg.conf|content=
+
Per abilitare il triple buffering si aggiunga l'opzione {{ic|"TripleBuffer"}} nella sezione {{ic|Device}}:
.......
+
 
.......
+
 
  Option "TripleBuffer" "True"
 
  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 {{ic|syncing to vblank}}, una delle opzioni disponibili in {{ic|nvidia-settings}}, è abilitata.
Si usi questa opzione se la scheda video abbonda di RAM (uguale o superiore a 128MB). L'impostazione ha effetto solamente quando {{Codeline|syncing to vblank}}, una delle opzioni disponibili in {{Codeline|nvidia-settings}}, è abilitata.
+
 
{{Note|Questa opzione può causare problemi di visualizzazione a schermo intero}}
 
{{Note|Questa opzione può causare problemi di visualizzazione a schermo intero}}
  
 
====Usare gli eventi di sistema====
 
====Usare gli eventi di sistema====
 +
 
Dal file [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt 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.
 
Dal file [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt 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 <code>Device</code> aggiungete:
 
Nella sezione <code>Device</code> aggiungete:
{{file|name=/etc/X11/xorg.conf|content=
+
 
.......
+
.......
+
 
  Option "DamageEvents" "1"
 
  Option "DamageEvents" "1"
......
+
 
......}}
+
 
{{Nota|Questa opzione è abilitata di default nei driver più recenti.}}
 
{{Nota|Questa opzione è abilitata di default nei driver più recenti.}}
  
 
====Abilitare il risparmio energetico====
 
====Abilitare il risparmio energetico====
Nella sezione {{codeline|Monitor}} aggiungete:
+
 
{{file|name=/etc/X11/xorg.conf|content=
+
Nella sezione {{ic|Monitor}} aggiungete:
.......
+
 
.......
+
 
  Option "DPMS" "1"
 
  Option "DPMS" "1"
......
 
......}}
 
  
 
====Abilitare la modalità SLI====
 
====Abilitare la modalità SLI====
Line 199: Line 193:
 
Tratto dall'appendice del [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-8774/README/appendix-d.html 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 [http://www.slizone.com/page/home.html SLI Zone] per ulteriori dettagli.
 
Tratto dall'appendice del [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-8774/README/appendix-d.html 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 [http://www.slizone.com/page/home.html SLI Zone] per ulteriori dettagli.
  
Per prima cosa individuare il PCI Bus ID delle GPU utilizzando {{Codeline|lspci}}:
+
Per prima cosa individuare il PCI Bus ID delle GPU utilizzando {{ic|lspci}}:
{{cli|$ lspci | grep VGA}}
+
{{bc|$ lspci | grep VGA}}
  
 
Il quale dovrebbe mostrarvi un messaggio simile a questo:
 
Il quale dovrebbe mostrarvi un messaggio simile a questo:
Line 206: Line 200:
 
  05: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 {{Codeline|Device}}:
+
Aggiungere il BusID (Nel nostro esempio è il 3) nella sezione {{ic|Device}}:
 
  BusID "PCI:3:0:0"
 
  BusID "PCI:3:0:0"
  
{{Nota|Il formato è molto importante. Il valore del BusID deve essere specificato come {{Codeline|"PCI:<BusID>:0:0"}}}}
+
{{Nota|Il formato è molto importante. Il valore del BusID deve essere specificato come {{ic|"PCI:<BusID>:0:0"}}}}
  
Aggiungere il valore desiderato per la modalità di rendering SLI da utilizzare nella sezione {{Codeline|Screen}}:
+
Aggiungere il valore desiderato per la modalità di rendering SLI da utilizzare nella sezione {{ic|Screen}}:
 
  Option "SLI" "SLIAA"
 
  Option "SLI" "SLIAA"
  
Line 229: Line 223:
 
|}
 
|}
  
In alternativa si può usare l'utilità {{Codeline|nvidia-xconfig}} per inserire i cambiamenti voluti direttamente nel file {{Codeline|xorg.conf}} con un singolo comando:
+
In alternativa si può usare l'utilità {{ic|nvidia-xconfig}} per inserire i cambiamenti voluti direttamente nel file {{ic|xorg.conf}} con un singolo comando:
  
{{cli|<nowiki># nvidia-xconfig --busid=PCI:3:0:0 --sli=SLIAA</nowiki>}}
+
{{bc|<nowiki># nvidia-xconfig --busid=PCI:3:0:0 --sli=SLIAA</nowiki>}}
  
 
Per verificare se la modalità SLI è abilitata, scrivere in un terminale:
 
Per verificare se la modalità SLI è abilitata, scrivere in un terminale:
{{command| <nowiki>nvidia-settings -q all | grep SLIMode</nowiki>|
+
{{hc| <nowiki>nvidia-settings -q all | grep SLIMode</nowiki>|<nowiki>
 
   Attribute 'SLIMode' (arch:0.0): AA  
 
   Attribute 'SLIMode' (arch:0.0): AA  
 
     'SLIMode' is a string attribute.
 
     'SLIMode' is a string attribute.
 
     'SLIMode' is a read-only attribute.
 
     'SLIMode' is a read-only attribute.
 
     'SLIMode' can use the following target types: X Screen.
 
     'SLIMode' can use the following target types: X Screen.
}}
+
</nowiki>}}
  
 
====Forzare il livello di performance Powermizer (per portatili)====
 
====Forzare il livello di performance Powermizer (per portatili)====
Nel vostro file xorg.conf, aggiungete le seguenti linee nella sezione {{Codeline|Device}}:
+
 
{{file|name=/etc/X11/xorg.conf|content=
+
Nel vostro file xorg.conf, aggiungete le seguenti linee nella sezione {{ic|Device}}:
.......
+
{{hc|/etc/X11/xorg.conf|<nowiki>
 
.......
 
.......
# Force Powermizer to a certain level at all times
+
# Force Powermizer to a certain level at all times
# level 0x1=highest
+
# level 0x1=highest
# level 0x2=med
+
# level 0x2=med
# level 0x3=lowest
+
# level 0x3=lowest
# AC settings:
+
# AC settings:
Option "RegistryDwords" "PowerMizerLevelAC=0x3"
+
Option "RegistryDwords" "PowerMizerLevelAC=0x3"
# Battery settings:
+
# Battery settings:
Option "RegistryDwords" "PowerMizerLevel=0x3"
+
Option "RegistryDwords" "PowerMizerLevel=0x3"
......
+
......</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].
 
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)=====
 +
 
Nel vostro file xorg.conf, aggiungete la seguente linea nella sezione <code>Device</code>
 
Nel vostro file xorg.conf, aggiungete la seguente linea nella sezione <code>Device</code>
{{file|name=/etc/X11/xorg.conf|content=
+
 
.......
+
.......
+
 
  Option "RegistryDwords" "PerfLevelSrc=0x3333"
 
  Option "RegistryDwords" "PerfLevelSrc=0x3333"
......
 
......}}
 
  
 
====Disabilitare i ''vblank interrupts'' (per portatili) ====
 
====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 <code>Device</code>:
 
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 <code>Device</code>:
{{file|name=/etc/X11/xorg.conf|content=
+
 
.......
+
.......
+
 
  Option        "OnDemandVBlankInterrupts" "1"
 
  Option        "OnDemandVBlankInterrupts" "1"
......
+
 
......}}
+
 
Questa modifica ridurrà sensibilmente gli interrupt al secondo.
 
Questa modifica ridurrà sensibilmente gli interrupt al secondo.
  
 
====Abilitare l'overclocking====
 
====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.
+
{{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 <code>device</code>:
 
Per abilitare l'overclocking, aggiungere la riga seguente nella sezione <code>device</code>:
{{file|name=/etc/X11/xorg.conf|content=
+
 
.......
+
.......
+
 
  Option        "Coolbits" "1"
 
  Option        "Coolbits" "1"
......
+
 
......}}
+
 
Questa modifica abiliterà la gestione dell'overclocking attraverso nvidia-settings all'interno di X.
 
Questa modifica abiliterà la gestione dell'overclocking attraverso nvidia-settings all'interno di X.
  
{{cli| $ nvidia-settings}}
+
{{bc| $ nvidia-settings}}
  
 
{{nota| La dchede nvidia della serie GTX 4xx/5xx che utilizzano il core  "Fermi" 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 [http://www.mvktech.net/component/option,com_remository/Itemid,26/func,select/id,127/orderby,2/page,1/ nvflash]  e [http://www.mvktech.net/component/option,com_remository/Itemid,26/func,select/id,135/orderby,2/page,1/ 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. }}
 
{{nota| La dchede nvidia della serie GTX 4xx/5xx che utilizzano il core  "Fermi" 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 [http://www.mvktech.net/component/option,com_remository/Itemid,26/func,select/id,127/orderby,2/page,1/ nvflash]  e [http://www.mvktech.net/component/option,com_remository/Itemid,26/func,select/id,135/orderby,2/page,1/ 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. }}
Line 298: Line 283:
  
 
Aggiungere la seguente stringa alla ''Section Device'' per impostare il sistema PowerMizer al livello di ''maximum performance''.
 
Aggiungere la seguente stringa alla ''Section Device'' per impostare il sistema PowerMizer al livello di ''maximum performance''.
{{file|name=/etc/X11/xorg.conf|content=
+
 
.......
+
.......
+
 
  Option "RegistryDwords" "PerfLevelSrc=0x2222"
 
  Option "RegistryDwords" "PerfLevelSrc=0x2222"
......
+
 
......}}
+
Aggiungere le seguenti due stringhe in ''Section Device'' per abilitare il controllo manuale della velocità delle ventole tramite {{ic|nvidia-settings}}.
Aggiungere le seguenti due stringhe in ''Section Device'' per abilitare il controllo manuale della velocità delle ventole tramite {{codeline|nvidia-settings}}.
+
 
{{file|name=/etc/X11/xorg.conf|content=
+
.......
+
.......
+
 
  Option "Coolbits" "4"
 
  Option "Coolbits" "4"
 
  Option "Coolbits" "5"
 
  Option "Coolbits" "5"
......
 
......}}
 
  
 
====Abilitare la rotazione dello schermo attraverso XRandR====
 
====Abilitare la rotazione dello schermo attraverso XRandR====
  
Per abilitare la rotazione dello schermo tramite XRandr aggiungere la seguente linea nella sessione {{Codeline|Device}} del vostro xorg.conf:
+
Per abilitare la rotazione dello schermo tramite XRandr aggiungere la seguente linea nella sessione {{ic|Device}} del vostro xorg.conf:
{{file|name=/etc/X11/xorg.conf|content=
+
 
.......
+
.......
+
 
  Option "RandRRotation" "True"
 
  Option "RandRRotation" "True"
......
+
 
......}}
+
 
Dopo aver riavviato Xorg, digitare in un terminale:
 
Dopo aver riavviato Xorg, digitare in un terminale:
  
{{cli| $ xrandr -o left}}
+
{{bc| $ xrandr -o left}}
  
 
Lo schermo ora dovrebbe essere stato ruotato. Per ripristinare, digitare:
 
Lo schermo ora dovrebbe essere stato ruotato. Per ripristinare, digitare:
  
{{cli| $ xrandr -o normal}}
+
{{bc| $ xrandr -o normal}}
  
 
{{Nota| La modifica del file xorg.conf non è più necessaria, poichè la rotazione dello schermo dovrebbe essere abilitata e funzionante. L'ideale sarebbe utilizzare direttamente i vari tool compresi nel vostro per Ambiente Desktop, come Systemsettings per KDE.}}
 
{{Nota| La modifica del file xorg.conf non è più necessaria, poichè la rotazione dello schermo dovrebbe essere abilitata e funzionante. L'ideale sarebbe utilizzare direttamente i vari tool compresi nel vostro per Ambiente Desktop, come Systemsettings per KDE.}}
Line 346: Line 321:
 
Si può aggiungere il supporto all'interfaccia VA-API installando:
 
Si può aggiungere il supporto all'interfaccia VA-API installando:
  
{{cli| # pacman -S vdpau-video}}
+
{{bc| # pacman -S vdpau-video}}
  
 
Controllare il supporto VA-API con:
 
Controllare il supporto VA-API con:
  
{{cli| $ vainfo}}
+
{{bc| $ 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.
 
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 {{filename|~/.mplayer/config}} in questo modo:
+
*Abilitare l'accelerazione hardware in [[MPlayer]] modificando {{ic|~/.mplayer/config}} in questo modo:
  
 
  vo=vdpau
 
  vo=vdpau
Line 377: Line 352:
 
Un possibile metodo per evitare che ciò accada è utilizzare un windows manager molto leggero come TWM o MWM.
 
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 {{filename|~/.mplayer/config}} può aiutare, quando guardando un video in HD si decade la velocità dell'hard disk.
+
In aggiunta aumentare la cache di MPlayer's editando {{ic|~/.mplayer/config}} può aiutare, quando guardando un video in HD si decade la velocità dell'hard disk.
  
 
===Usare l'uscita TV===
 
===Usare l'uscita TV===
 +
 
Un buon articolo a riguardo può essere trovato [http://en.wikibooks.org/wiki/NVidia/TV-OUT qui]
 
Un buon articolo a riguardo può essere trovato [http://en.wikibooks.org/wiki/NVidia/TV-OUT qui]
  
 
===X con la TV (DFP) come unico display===
 
===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.
 
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 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, {{Filename|/etc/X11/dfp0.edid}}.
+
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, {{ic|/etc/X11/dfp0.edid}}.
  
 
Si modifichi xorg.conf aggiungendo alla sezione "Device":
 
Si modifichi xorg.conf aggiungendo alla sezione "Device":
Line 400: Line 377:
 
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):
 
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):
  
{{command|nvidia-settings -q GPUPowerSource -t|
+
{{hc|nvidia-settings -q GPUPowerSource -t|1}}
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:
Per essere in grado di rilevare questo parametro è necessario avere installato in precedenza [[acpid]] e assicurati di includere {{codeline|acpid}} nell array ''DAEMONS'' in {{filename|/etc/rc.conf}}, o questo avvertimento apparirà sul registro di sistema:
+
  
 
  ACPI: failed to connect to the ACPI event daemon; the daemon
 
  ACPI: failed to connect to the ACPI event daemon; the daemon
Line 415: Line 391:
  
 
===Visualizzare la temperatura GPU nella shell===
 
===Visualizzare la temperatura GPU nella shell===
 +
 
====Metodo 1 - nvidia-settings====
 
====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}}
 
{{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:
 
Per visualizzare la temperatura GPU nella shell, si usi nvidia-settings come segue:
{{cli| $ nvidia-settings -q gpucoretemp}}
+
{{bc| $ nvidia-settings -q gpucoretemp}}
  
 
Ciò darà come output qualcosa di simile a:
 
Ciò darà come output qualcosa di simile a:
 
  Attribute 'GPUCoreTemp' (hostname:0.0): 41.
 
  Attribute 'GPUCoreTemp' (hostname:0.0): 41.
'GPUCoreTemp' is an integer attribute.
+
'GPUCoreTemp' is an integer attribute.
'GPUCoreTemp' is a read-only attribute.
+
'GPUCoreTemp' is a read-only attribute.
'GPUCoreTemp' can use the following target types: X Screen, GPU.
+
'GPUCoreTemp' can use the following target types: X Screen, GPU.
  
 
La temperatura GPU di questa scheda è di 41 C.
 
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:
 
Per ottenere solamente la temperatura per usarla in programmi come rrdtool o conky, tra gli altri:
{{cli| $ nvidia-settings -q gpucoretemp -t
+
{{hc| $ nvidia-settings -q gpucoretemp -t| 41}}
41}}
+
  
 
====Metodo 2 - nvidia-smi====
 
====Metodo 2 - nvidia-smi====
 +
 
{{Note|L'applicazione utilizzata in questo metodo è inclusa nel pacchetto standard dei driver nvidia ma ad oggi 6 giugno 2010 non è inclusa nei pacchetti di Archlinux. Una [[http://bugs.archlinux.org/task/19727 richiesta]] è stata inviata al team di Archlinux per includere nuovamente l'applicazione nel pacchetto nvidia-utils.}}
 
{{Note|L'applicazione utilizzata in questo metodo è inclusa nel pacchetto standard dei driver nvidia ma ad oggi 6 giugno 2010 non è inclusa nei pacchetti di Archlinux. Una [[http://bugs.archlinux.org/task/19727 richiesta]] è stata inviata al team di Archlinux per includere nuovamente l'applicazione nel pacchetto nvidia-utils.}}
  
Line 438: Line 416:
 
Per mostrare la temperatura della GPU nella shell, usare nvidia-smi come mostrato:
 
Per mostrare la temperatura della GPU nella shell, usare nvidia-smi come mostrato:
  
{{cli| $ nvidia-smi -a}}
+
{{bc| $ nvidia-smi -a}}
  
 
Il comando dovrebbe generare un output simile al qui riportato:
 
Il comando dovrebbe generare un output simile al qui riportato:
{{command|$ nvidia-smi -a|<nowiki>
+
{{hc|$ nvidia-smi -a|<nowiki>
 
==============NVSMI LOG==============
 
==============NVSMI LOG==============
  
Line 460: Line 438:
 
Per catturare solo il valore della temperatura, per utilizzarla in strumenti come rrdtool o conky, eseguire il comando:
 
Per catturare solo il valore della temperatura, per utilizzarla in strumenti come rrdtool o conky, eseguire il comando:
  
{{cli| $ nvidia-smi -a | grep Temp | cut -c17-18
+
{{hc|<nowiki>$ nvidia-smi -a | grep Temp | cut -c17-18</nowiki>| 40}}
40}}
+
  
 
Riferimenti: http://www.question-defense.com/2010/03/22/gpu-linux-shell-temp-get-nvidia-gpu-temperatures-via-linux-cli
 
Riferimenti: http://www.question-defense.com/2010/03/22/gpu-linux-shell-temp-get-nvidia-gpu-temperatures-via-linux-cli
  
 
====Metodo 3 - nvclock====
 
====Metodo 3 - nvclock====
 +
 
Si usi nvclock che è disponibile nel repo [extra].  Si noti che nvclock non può accedere ai sensori termali di nuove schede NVIDIA come la G210/220.
 
Si usi nvclock che è disponibile nel repo [extra].  Si noti che nvclock non può accedere ai sensori termali di nuove schede NVIDIA come la G210/220.
  
Line 472: Line 450:
 
===Impostare la velocità della ventola al Login===
 
===Impostare la velocità della ventola al Login===
  
È possibile regolare la velocità della ventola della scheda grafica con l'ausilio del programma {{Codeline|nvidia-settings}}. Prima assicurarsi che nella configurazione di Xorg sia impostata l'opzione Coolbits a 4 o 5 nella sezione {{Codeline|Device}} per abilitare il controllo delle ventole.
+
È possibile regolare la velocità della ventola della scheda grafica con l'ausilio del programma {{ic|nvidia-settings}}. Prima assicurarsi che nella configurazione di Xorg sia impostata l'opzione Coolbits a 4 o 5 nella sezione {{ic|Device}} per abilitare il controllo delle ventole.
  
 
  Option "Coolbits" "4"
 
  Option "Coolbits" "4"
Line 478: Line 456:
 
{{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.}}
 
{{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|{{filename|~/.xinitrc}}]] per  impostare la velocità desiderata della ventola all'avvio di Xorg. Sostituire <n> con un valore percentuale in base alle vostre esigenze.
+
Aggiunger ele seguenti stringe nel vostro file [[xinitrc|{{ic|~/.xinitrc}}]] per  impostare la velocità desiderata della ventola all'avvio di Xorg. Sostituire <n> con un valore percentuale in base alle vostre esigenze.
  
{{cli| nvidia-settings -a <nowiki>"[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=<n>"</nowiki>}}
+
{{bc| nvidia-settings -a <nowiki>"[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUCurrentFanSpeed=<n>"</nowiki>}}
  
 
È inoltre possibile configurare una seconda GPU per incrementare il numero di GPU e della ventola.
 
È inoltre possibile configurare una seconda GPU per incrementare il numero di GPU e della ventola.
  
{{cli| nvidia-settings -a <nowiki>"[gpu:0]/GPUFanControlState=1" \  
+
{{bc| nvidia-settings -a <nowiki>"[gpu:0]/GPUFanControlState=1" \  
 
  -a "[gpu:1]/GPUFanControlState=1" \
 
  -a "[gpu:1]/GPUFanControlState=1" \
 
  -a "[fan:0]/GPUCurrentFanSpeed=<n>" \
 
  -a "[fan:0]/GPUCurrentFanSpeed=<n>" \
 
  -a  [fan:1]/GPUCurrentFanSpeed=<n>" &</nowiki>}}
 
  -a  [fan:1]/GPUCurrentFanSpeed=<n>" &</nowiki>}}
  
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 {{filename|~/.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.
+
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 {{ic|~/.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]
 
  [Desktop Entry]
Line 509: Line 487:
  
 
Se si desidera passare spesso tra i driver nvidia e i nouveau, è possibile utilizzare questi due semplici script per rendere il lavoro più semplice:
 
Se si desidera passare spesso tra i driver nvidia e i nouveau, è possibile utilizzare questi due semplici script per rendere il lavoro più semplice:
{{file|name=driver_nouveau|content=
+
{{hc|driver_nouveau|<nowiki>
 
  #!/bin/bash
 
  #!/bin/bash
 
  # nvidia -> nouveau
 
  # nvidia -> nouveau
Line 522: Line 500:
 
   
 
   
 
  /usr/bin/sudo /sbin/mkinitcpio -p linux
 
  /usr/bin/sudo /sbin/mkinitcpio -p linux
}}
+
</nowiki>}}
  
{{file|name=driver_nvidia|content=
+
{{hc|driver_nvidia|<nowiki>
 
  #!/bin/bash
 
  #!/bin/bash
 
  # nouveau -> nvidia
 
  # nouveau -> nvidia
Line 537: Line 515:
 
   
 
   
 
  /usr/bin/sudo /sbin/mkinitcpio -p linux
 
  /usr/bin/sudo /sbin/mkinitcpio -p linux
}}
+
</nowiki>}}
 
Un riavvio è necessario per completare il passaggio.
 
Un riavvio è necessario per completare il passaggio.
  
Line 544: Line 522:
 
Se si sta utilizzando una versione di xorg-server precedente alla versione 1.10.2-1, decommentare le stringhe relative ai comandi per copiare e rimuovere {10-monitor,30-nouveau}.conf. Dalla versione 1.10.2-1, xorg-server è stato implementato per caricare i driver nouveau automaticamente.
 
Se si sta utilizzando una versione di xorg-server precedente alla versione 1.10.2-1, decommentare le stringhe relative ai comandi per copiare e rimuovere {10-monitor,30-nouveau}.conf. Dalla versione 1.10.2-1, xorg-server è stato implementato per caricare i driver nouveau automaticamente.
  
Si necessita di aver creato nella stessa directory dello script, sia il file {{filename|10-monitor.conf}} che il file [https://wiki.archlinux.org/index.php/Nouveau_%28Italiano%29#Configurazione 30-nouveau.conf].
+
Si necessita di aver creato nella stessa directory dello script, sia il file {{ic|10-monitor.conf}} che il file [https://wiki.archlinux.org/index.php/Nouveau_%28Italiano%29#Configurazione 30-nouveau.conf].
  
 
==Troubleshooting==
 
==Troubleshooting==
  
 
===Giocare usando Twinview===
 
===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.  
 
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.  
  
Line 554: Line 533:
 
  export SDL_VIDEO_FULLSCREEN_HEAD=1
 
  export SDL_VIDEO_FULLSCREEN_HEAD=1
  
Per OpenGL, si aggiungano gli appropriati Metamodes al xorg.conf nella sezione {{Codeline|Device}} e si riavvi X:
+
Per OpenGL, si aggiungano gli appropriati Metamodes al xorg.conf nella sezione {{ic|Device}} e si riavvi X:
 
  Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL;  1280x1024,NULL;"
 
  Option "Metamodes" "1680x1050,1680x1050; 1280x1024,1280x1024; 1680x1050,NULL;  1280x1024,NULL;"
  
Line 560: Line 539:
  
 
===Vecchie impostazioni Xorg===
 
===Vecchie impostazioni Xorg===
Se si effettua l'upgrade da una vecchia installazione, si rimuovino i vecchi percorsi a {{Filename|/usr/X11R6}} dal momento che possono creare problemi durante l'installazione.
+
 
 +
Se si effettua l'upgrade da una vecchia installazione, si rimuovino i vecchi percorsi a {{ic|/usr/X11R6}} dal momento che possono creare problemi durante l'installazione.
  
 
===Schermata corrotta: il problema dei "Sei schermi"===
 
===Schermata corrotta: il problema dei "Sei schermi"===
Line 566: Line 546:
 
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.
 
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.
  
Per risolvere questo problema, si abiliti il Validation Mode {{Codeline|NoTotalSizeCheck}} nella sezione {{Codeline|Device}}:
+
Per risolvere questo problema, si abiliti il Validation Mode {{ic|NoTotalSizeCheck}} nella sezione {{ic|Device}}:
Section "Device"
+
    
   ...
+
Option "ModeValidation" "NoTotalSizeCheck"
  Option "ModeValidation" "NoTotalSizeCheck"
+
  ...
+
EndSection
+
  
 
===Errore '/dev/nvidia0' Input/Output ===
 
===Errore '/dev/nvidia0' Input/Output ===
Line 577: Line 554:
 
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.
 
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 {{codeline|lspci -v}}) e passare i parametri di assegnazione al kernel, ad esempio:
+
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 {{ic|lspci -v}}) e passare i parametri di assegnazione al kernel, ad esempio:
  
 
  vmalloc=64M
 
  vmalloc=64M
Line 595: Line 572:
 
Provando ad iniziare un'applicazione opengl si riscontrano errori del tipo:  
 
Provando ad iniziare un'applicazione opengl si riscontrano errori del tipo:  
 
  Error: Could not open /dev/nvidiactl because the permissions are too
 
  Error: Could not open /dev/nvidiactl because the permissions are too
  restrictive. Please see the {{codeline|FREQUENTLY ASKED QUESTIONS}}  
+
  restrictive. Please see the {{ic|FREQUENTLY ASKED QUESTIONS}}  
  section of {{codeline|/usr/share/doc/NVIDIA_GLX-1.0/README}}  
+
  section of {{ic|/usr/share/doc/NVIDIA_GLX-1.0/README}}  
 
  for steps to correct.
 
  for steps to correct.
  
 
Si risolve aggiungendo l'user appropriato al gruppo "video" e effettuando nuovamente il login:
 
Si risolve aggiungendo l'user appropriato al gruppo "video" e effettuando nuovamente il login:
{{cli| # gpasswd -a username video}}
+
{{bc| # gpasswd -a username video}}
  
 
===Le applicazioni 32 bit non si avviano===
 
===Le applicazioni 32 bit non si avviano===
Nei sistemi a 64 bit, installare {{Codeline|lib32-nvidia-utils}} ,che corrisponde alla stessa versione installata per i driver a 64 bit, risolve il problema.
+
 
 +
Nei sistemi a 64 bit, installare {{ic|lib32-nvidia-utils}} ,che corrisponde alla stessa versione installata per i driver a 64 bit, risolve il problema.
  
 
===Errori dopo l'aggiornamento del kernel===
 
===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.
 
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===
 
===Crash generali===
* Prova disabilitando {{Codeline|RenderAccel}} in xorg.conf.
+
 
* Se Xorg restituisce un errore riguardo "conflicting memory type",aggiungi {{Codeline|nopat}} alla fine della linea {{Codeline|kernel}} in {{Codeline|/boot/grub/menu.lst}}.
+
* Prova disabilitando {{ic|RenderAccel}} in xorg.conf.
* Se il compilatore NVIDIA si lamenta di differenti versioni di GCC tra quella corrente e quella usata per compilare il kernel, aggiungi in {{Codeline|/etc/profile}}:
+
* Se Xorg restituisce un errore riguardo "conflicting memory type",aggiungi {{ic|nopat}} alla fine della linea {{ic|kernel}} in {{ic|/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 {{ic|/etc/profile}}:
 
  export IGNORE_CC_MISMATCH=1
 
  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 {{Codeline|nopat}} alla linea {{Codeline|kernel}} in {{Codeline|menu.lst}}.
+
* 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 {{ic|nopat}} alla linea {{ic|kernel}} in {{ic|menu.lst}}.
 
Maggiori informazioni sulla risoluzione dei problemi dei driver possono essere trovate in [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 NVIDIA forums.]
 
Maggiori informazioni sulla risoluzione dei problemi dei driver possono essere trovate in [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 NVIDIA forums.]
  
 
===Brutte performance dopo aver installato una nuova versione dei driver===
 
===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:  
 
Se gli FPS sono calati rispetto quelli con i vecchi driver, innanzitutto si controlli di aver abilitato il direct rendering:  
{{cli|<nowiki>glxinfo | grep direct</nowiki>}}
+
{{bc|<nowiki>glxinfo | grep direct</nowiki>}}
 
Se il comando da come risposta:
 
Se il comando da come risposta:
{{command|<nowiki>glxinfo | grep direct</nowiki>| direct rendering: No }}
+
{{hc|<nowiki>glxinfo | grep direct</nowiki>| direct rendering: No }}
 
allora questo può essere indice dell'improvviso calo di FPS.
 
allora questo può essere indice dell'improvviso calo di FPS.
  
Line 632: Line 613:
  
 
===Per i laptop: X si blocca durante il login/out, ovviato con Ctrl+Alt+Backspace===
 
===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 {{Filename|/etc/modprobe.d/modprobe.conf}}:
+
 
 +
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 {{ic|/etc/modprobe.d/modprobe.conf}}:
 
  options nvidia NVreg_Mobile=1
 
  options nvidia NVreg_Mobile=1
  
Line 638: Line 620:
 
  options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660 NVreg_SoftEDIDs=0 NVreg_Mobile=1
 
  options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=33 NVreg_DeviceFileMode=0660 NVreg_SoftEDIDs=0 NVreg_Mobile=1
  
Si noti che {{Codeline|NVreg_Mobile}} necessita di essere modificato in linea con il laptop:
+
Si noti che {{ic|NVreg_Mobile}} necessita di essere modificato in linea con il laptop:
 
* 1 per i laptops Dell.
 
* 1 per i laptops Dell.
 
* 2 per i laptops non Compal Toshiba.
 
* 2 per i laptops non Compal Toshiba.
Line 648: Line 630:
  
 
===La frequenza di refresh non viene rilevata correttamente dalle utility dipendenti da XRandR===
 
===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 {{Codeline|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 {{Codeline|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.
+
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 {{ic|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.
  
Si usi {{Codeline|nvidia-settings -q RefreshRate}} per richiedere l'attuale frequenza di refresh su ogni display.
+
In modo da supportare la {{ic|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 {{ic|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.
 
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.
Line 664: Line 647:
 
Controllare se
 
Controllare se
  
{{cli|<nowiki>$ lspci | grep VGA</nowiki>}}
+
{{bc|<nowiki>$ lspci | grep VGA</nowiki>}}
  
 
Restituisce un output simile a questo:
 
Restituisce un output simile a questo:
Line 676: Line 659:
  
 
===Nessun controllo della luminosità sui portatili===
 
===Nessun controllo della luminosità sui portatili===
aggiungete la seguente stringa in {{filename|20-nvidia.conf}}
+
 
 +
aggiungete la seguente stringa in {{ic|20-nvidia.conf}}
 
  Option "RegistryDwords" "EnableBrightnessControl=1"
 
  Option "RegistryDwords" "EnableBrightnessControl=1"
Se questa soluzione non dovesse funzionare, si può provare ad installare il pacchetto [https://aur.archlinux.org/packages.php?ID=25467 nvidia-bl] o [https://aur.archlinux.org/packages.php?ID=50749 nvidiabl].
+
Se questa soluzione non dovesse funzionare, si può provare ad installare il pacchetto [AUR|nvidia-bl] o [AUR|nvidiabl].
  
 
===Barre nere durante la riproduzione a schermo intero di video flash con la configurazione  Twinview===
 
===Barre nere durante la riproduzione a schermo intero di video flash con la configurazione  Twinview===
Line 686: Line 670:
  
 
==Link esterni==
 
==Link esterni==
 +
 
* [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 NVIDIA forums]
 
* [http://www.nvnews.net/vbulletin/forumdisplay.php?s=&forumid=14 NVIDIA forums]
 
* [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt Official readme for NVIDIA drivers]
 
* [http://http.download.nvidia.com/XFree86/Linux-x86/1.0-7182/README/readme.txt Official readme for NVIDIA drivers]

Revision as of 16:59, 5 November 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki 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.

Contents

Installazione

Queste istruzioni sono per gli utenti che usano il pacchetto stock Template:Package Official. 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.

Nota: Attualmente i driver Nvidia-173xx e Nvidia-96xx non supportano la versione 1.11 di Xorg, e non sono presenti nei repositori ufficiali . Potete usare i driver open source (nouveau o nv) al loro posto.

2. Installazione dei driver per schede video recenti (Tutte le schede recenti, dalla GeForce 6 alle ultime [NV40] e superiori) :

# pacman -S nvidia nvidia-utils
Il pacchetto nvidia-utils va 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.
Nota: Per gli ultimi modelli di schede video potrebbe essere richiesta l'installazione di nvidia-betaAUR e nvidia-utils-betaAUR dal repository AUR dato che i driver stabili potrebbero non supportare le più recenti caratteristiche.
Sui sistemi a 64 bit, per poter utilizzare appieno i programmi a 32-bit è necessaria l'installazione del pacchetto nvidia-utils che utilizzi le lib32, (per esempio lib32-nvidia-utils).

3. Riavviare. I pacchetti nvidia contengono 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 a: #Configurazione

Installazione alternativa: kernel personalizzato

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

Nota: Il pacchetto nvidia-allAUR reperibile su AUR che si rileva essere un buon metodo per facilitare l'installazione dei driver NVIDIA in presenza di kernel personalizzati e/o multipli.

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

Installazione di ABS e generazione dell'albero:

 # pacman -S abs
 # 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. Si sostituisca, nel file nvidia.install, la variabile
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.
con la versione del kernel personalizzato, come
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.
oppure KERNEL_VERSION"2.6.22.6-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. 2. Si cambi la variabile
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.
nel file PKGBUILD, 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
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.
nel file PKGBUILD con un nuovo unico identificativo, come
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.
o
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.
. 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() per creare /etc/modprobe.d/nouveau_blacklist.conf (altrimenti Pacman lamenterà che il pacchetto è già esistente).

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.

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.

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 automatica con monitor multipli

Il pacchetto NVIDIA fornisce l'applicativo Twinview. Questo strumento permette la configurazione automatica di tutti i monitor collegati alla scheda video. La configurazione avviene correttamente solo su monitor collegati ad una sola scheda video. Per configurare il server Xorg con Twinview eseguire il comando:

 # nvidia-xconfig --twinview

Configurazione minimale

Per creare un /etc/X11/xorg.conf di base eseguire da root:

 # touch /etc/X11/xorg.conf

E aggiungere i driver:

Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
EndSection
Suggerimento: Per avere accesso a tutte le funzionalità multimediali, ci si accerti che xorg-input-drivers sia installato.
Suggerimento: Se state aggiornando dopo aver utilizzato i driver nouveau, assicurarsi di rimuovere "nouveau" dal file /etc/mkinitcpio.conf. È possibile utilizzare uno script per passare tra i driver nvidia e nouveau, se si desidera passare spesso tra i driver Open e quelli proprietari.

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.

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: xorg.conf

Modificare /etc/X11/xorg.conf e aggiungere le opzioni alla la sezione corretta. NVIDIA testa e rilascia i driver con le impostazioni raccomandate quindi si ricordi che alcune modifiche possono causare instabilità e problemi di visualizzazione tra gli altri casi. Dal momento che non tutte le opzioni potrebbero funzionare per un dato sistema, è consigliato un backup del file xorg.conf prima di qualsiasi modifica. 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 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"
Note: 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"
Note: 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.

Note: Questa opzione può causare problemi di visualizzazione a schermo intero

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

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

Ulteriori spiegazioni su i vari settaggi li potete trovare leggendo NVIDIA Driver for X.org:Performance and Power Saving Hints.

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 dchede nvidia della serie GTX 4xx/5xx che utilizzano il core "Fermi" 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"

Abilitare la rotazione dello schermo attraverso XRandR

Per abilitare la rotazione dello schermo tramite XRandr aggiungere la seguente linea nella sessione Device del vostro xorg.conf:

Option "RandRRotation" "True"

Dopo aver riavviato Xorg, digitare in un terminale:

 $ xrandr -o left

Lo schermo ora dovrebbe essere stato ruotato. Per ripristinare, digitare:

 $ xrandr -o normal
Nota: La modifica del file xorg.conf non è più necessaria, poichè la rotazione dello schermo dovrebbe essere abilitata e funzionante. L'ideale sarebbe utilizzare direttamente i vari tool compresi nel vostro per Ambiente Desktop, come Systemsettings per KDE.

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 vdpau-video

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.

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 lo stato di 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):

nvidia-settings -q GPUPowerSource -t
1

Per essere in grado di rilevare questo parametro è necessario avere installato in precedenza acpid e assicurati di includere acpid nell array DAEMONS in /etc/rc.conf, o questo avvertimento apparirà sul registro di sistema:

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.

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

Note: L'applicazione utilizzata in questo metodo è inclusa nel pacchetto standard dei driver nvidia ma ad oggi 6 giugno 2010 non è inclusa nei pacchetti di Archlinux. Una [richiesta] è stata inviata al team di Archlinux per includere nuovamente l'applicazione nel pacchetto nvidia-utils.

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

Il comando dovrebbe generare un output simile al qui riportato:

$ nvidia-smi -a
==============NVSMI LOG==============

Timestamp : Mon Dec 13 20:11:28 2010

GPU 0:
Product Name : GeForce 8400 GS
PCI Device/Vendor ID : 6e410de
        PCI Location ID : 0:1:0
        Board Serial : 2648101198649
        Display : Connected
Temperature : 40 C
        Utilization
            GPU : 1%
            Memory : 8%

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

$ nvidia-smi -a | grep Temp | cut -c17-18
 40

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]. 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 5 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.

  1. Rimuovere nvidiaO
  2. Installare nvidia-utilsN
  3. installare nvidiaN
  4. 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:

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

Un riavvio è necessario per completare il passaggio.

Questi script sono basati sui driver nvidia-173xx, modificarli in base alle proprie esigenze.

Se si sta utilizzando una versione di xorg-server precedente alla versione 1.10.2-1, decommentare le stringhe relative ai comandi per copiare e rimuovere {10-monitor,30-nouveau}.conf. Dalla versione 1.10.2-1, xorg-server è stato implementato per caricare i driver nouveau automaticamente.

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

Troubleshooting

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.

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.

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

Option "ModeValidation" "NoTotalSizeCheck"

Errore '/dev/nvidia0' Input/Output

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

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

Note: 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 gruppo "video" 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 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)

Purtroppo, allo stato attuale, Nvidia non ha intenzione di includere questa configurazione nei loro driver per Linux.

È 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.

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 [AUR|nvidia-bl] o [AUR|nvidiabl].

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

Seguire le istruzioni riportate in questo articolo: link

Link esterni