Difference between revisions of "NVIDIA (Italiano)"
m (→Configurazione: rmossi riferimenti ad hal) |
(→Configurazione automatica con monitor multipli) |
||
Line 83: | Line 83: | ||
{{Warning| TQuesta procedura potrebbe non funzionare correttamente con Xorg-server 1.8 }} | {{Warning| TQuesta 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 | + | # nvidia-xconfig --twinview |
===Configurazione minimale=== | ===Configurazione minimale=== |
Revision as of 22:28, 28 June 2010
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 propietari per schede grafiche NVIDIA. Si veda Nouveau per le informazioni sui driver open-source. Si veda invece nForce per i quesiti riguardanti i driver della scheda madre.
Contents
- 1 Installazione
- 2 Configurazione
- 3 Tweaking
- 4 Trucchi e consigli
- 5 Troubleshooting
- 5.1 Giocare usando Twinview
- 5.2 Vecchie impostazioni Xorg
- 5.3 Schermata corrotta: il problema dei "Sei schermi"
- 5.4 Errori '/dev/nvidiactl'
- 5.5 Le applicazioni 32 bit non si avviano
- 5.6 Errori dopo l'aggiornamento del kernel
- 5.7 Crash generali
- 5.8 Brutte performance dopo aver installato una nuova versione dei driver
- 5.9 Per i laptop: X si blocca durante il login/out, ovviato con Ctrl+Alt+Backspace
- 5.10 La frequenza di refresh non viene rilevata correttamente dalle utility dipendenti da XRandR
- 6 Link esterni
Installazione
Queste istruzioni sono per gli utenti che usano il pacchetto stock kernel26. Per kernel personalizzati si veda il prossimo passaggio.
1. Visitare il sito NVIDIA per il download dei driver in modo da stabilire quali siano i più adatti alla vostra scheda video.
2. Installazione dei driver per schede video recenti:
# pacman -S nvidia nvidia-utils
- Mentre per schede video datate si installi:
# pacman -S nvidia-96xx nvidia-96xx-utils
- oppure:
#pacman -S nvidia-173xx nvidia-173xx-utils
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:
- Articolo principale di ABS
- Articolo su makepkg
- Articolo su Creazione Pacchetti
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 Template:Filename e Template:Filename 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 Template:Filename, la variabile KERNEL_VERSION="2.6.xx-ARCH"
con la versione del kernel personalizzato, come KERNEL_VERSION="2.6.22.6"
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 _kernver='2.6.xx-ARCH'
nel file Template:Filename, in modo che corrisponda alla corretta versione, allo stesso modo del passaggio precedente.
3. Se ci sono più di un kernel installati in parallelo sullo stesso sistema, (come un kernel personalizzato a fianco al kernel -ARCH di default) si cambi la variabile "pkgname=nvidia"
nel file Template:Filename con un nuovo unico identificativo, come "pkgname=nvidia-2622"
o "pkgname=nvidia-custom"
. Questo permetterà ad entrambi i kernel di utilizzare il modulo nvidia dal momento che il pacchetto del modulo personalizzato avrà un nome differente e non sovrascriverà l'originale.
Si esegua poi:
$ makepkg -c -i
L'operando Template:Codeline dice a makepkg di eliminare i file residui del processo di pacchetizzazione dopo la creazione del pacchetto, mentre Template:Codeline 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 Template:Filename 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(Template:Filename) 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 Template:Filename, a seconda dell'hardware installato.
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 Template:Filename di base eseguire da root:
touch /etc/X11/xorg.conf
E aggiungere i driver:
Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" EndSection
Tweaking
GUI: nvidia-settings
Il pacchetto NVIDIA include il programma Template:Codeline 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.
Avanzato: xorg.conf
Modificare Template:Filename 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 Template:Filename 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 Template:Codeline nella sezione Template:Codeline:
Option "NoLogo" "True"
Abilitare accelerazione hardware
Aggiungere l'opzione Template:Codeline nella sezione Template:Codeline:
Option "RenderAccel" "True"
Annullare la ricerca del monitor
L'opzione Template:Codeline nella sezione Template:Codeline permette di annullare la ricerca del monitor all'avvio del server X, il che può far risparmiare diverso tempo. Le opzioni disponibili sono: Template:Codeline per connessioni analogiche, Template:Codeline per monitor digitali e Template:Codeline 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"
Abilitare il triple buffering
Per abilitare il triple buffering si aggiunga l'opzione Template:Codeline nella sezione Template:Codeline:
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 Template:Codeline, una delle opzioni disponibili in Template:Codeline, è abilitata.
Abilitare il backing store
Questa opzione è da usarsi per abilitare il supporto del server al backing store, un meccanismo con il quale i dati dei pixel delle zone delle finestre non visibili sono salvati dal server, attenuando in tal modo la necessità di inviare gli "expose events" al client X quando i dati devono essere nuovamente visualizzati. BackingStore non è legato ai driver NVIDIA, ma direttamente al server X. Gli utenti ATI trarrebbero beneficio da questa opzione.
Nella sezione Template:Codeline aggiungete:
Option "BackingStore" "True"
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" "True"
Abilitare il risparmio energetico
Per un pianeta più pulito (non strettamente legato ai soli utenti NVIDIA). Nella sezione Monitor
aggiungete:
Option "DPMS" "True"
Forzare il livello di performance Powermizer (per portatili)
Nel vostro file xorg.conf, aggiungete le seguenti linee nella sezione Template:Codeline:
# 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 è 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" "True"
Questa modifica ridurrà sensibilmente gli interrupt al secondo.
Abilitare l'overclocking
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.
Abilitare la rotazione dello schermo attraverso XRandR
Per abilitare la rotazione dello schermo tramite XRandr aggiungere la seguente linea nella sessione Template:Codeline 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
Trucchi e consigli
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, Template:Filename.
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.
Visualizzare la temperatura GPU nella shell
Metodo 1 - nvidia-settings
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
Method 2 - nvidia-smi
Use nvidia-smi which can read temps directly from the GPU without the need to use X at all. This is important for a small group of users who do not have X running on their boxes, perhaps because the box is headless running server apps. To display the GPU temp in the shell, use nvidia-smi as follows:
$ nvidia-smi -a
This should output something similar to the following:
==============NVSMI LOG============== Timestamp : Sun Jun 6 06:17:53 2010 GPU 0: Product Name : ION PCI ID : 87d10de Temperature : 35 C
In order to get just the temperature for use in utils such as rrdtool or conky, among others:
$ nvidia-smi -a | grep Temp | cut -c17-18 35
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.
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 Template:Codeline 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 Template:Filename 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 Template:Codeline nella sezione Template:Codeline:
Section "Device" ... Option "ModeValidation" "NoTotalSizeCheck" ... EndSection
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 theFREQUENTLY ASKED QUESTIONS
section of/usr/share/doc/NVIDIA_GLX-1.0/README
for steps to correct.
Si risolve aggiungendo l'user appropiato al gruppo "video" e rieffettuando il login:
# gpasswd -a username video
Le applicazioni 32 bit non si avviano
Nei sistemi a 64 bit, installare Template:Codeline ,che corrisponde alla stessa versione installata per i driver a 64 bit, risolve il problema.
Errori dopo l'aggiornamento del kernel
Ogni volta che il pacchetto kernel26 viene aggiornato, si richiede la reinstallazione del pacchetto nvidia e quindi il riavvio della macchina.
Crash generali
- Prova disabilitando Template:Codeline in xorg.conf.
- Se Xorg restituisce un errore riguardo "conflicting memory type",aggiungi Template:Codeline alla fine della linea Template:Codeline in Template:Codeline.
- Se il compilatore NVIDIA si lamenta di differenti versioni di GCC tra quella corrente e quella usata per compilare il kernel, aggiungi in Template:Codeline:
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 Template:Codeline alla linea Template:Codeline in Template:Codeline.
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:
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.
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 Template:Filename:
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 Template:Codeline 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 Template:Codeline, 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 Template:Codeline, 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 Template:Codeline 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.