Installazione driver proprietari Nvidia

L'installazione dei driver proprietari NVIDIA su Debian si può fare in due modi, e in entrambi i casi e' molto semplice.

Il primo metodo prevede di utilizzare l'installer automatico fornito da Nvidia: si tratta di uno script per la shell che tramite un menu ci guida nell'installazione. Questo metodo, per quanto semplice e funzionale, ha uno svantaggio: aggira il sistema di gestione dei pacchetti (APT nel caso di Debian, ma anche qualunque altro), con il risultato che questo non saprà mai dell'esistenza del modulo e non potrà aiutarci nella gestione di eventuali dipendenze o conflitti con altri pacchetti.

Il secondo metodo utilizza un tool specifico di Debian: module-assistant. Module-assistant è un programma che permette di automatizzare la compilazione di molti moduli proprietari, e la creazione di pacchetti .deb contenenti i moduli compilati, per la successiva installazione tramite APT. Lo svantaggio di questo metodo è che i nuovi pacchetti per module-assistant arrivano sempre con qualche giorno di ritardo rispetto all'installer, come è ovvio che sia.

Si raccomanda di usare uno solo dei due metodi proposti.

Metodo 1: l'installer Nvidia

Occorrente

Ecco di cosa abbiamo bisogno per l'installazione:

  • Headers del kernel che stiamo utilizzando (occhio alle subversion, per controllare si può usare uname -r) o, in alternativa, i sorgenti dello stesso kernel (gli headers fanno parte dei sorgenti, ed esistono come pacchetto indipendente solo ed esclusivamente per poter compilare moduli fuori dal kernel senza dover scaricare tutto il kernel)
  • Driver corretto per la nostra architettura scaricabile da www.nvidia.com

Cosa fare

Prima di tutto occorre chiudere X. Non basta fare logout, bisogna proprio killare il server grafico: se avete installato un desktop manager, per esempio kdm, andate in una console non grafica (per es. con Ctrl+lt+F1), e usate, da root:

# /etc/init.d/kdm stop

Ora, controllate (con ls -l) che il link /usr/src/linux punti agli headers del kernel in funzione o ai sorgenti, che però devono essere configurati esattamente come il nostro kernel corrente.

Per fare un esempio supponiamo di aver installato il .deb dei sorgenti, e di doverli quindi confgurare:

$ cd /usr/src
$ tar xvfj linux-source-xxx
$ cd linux-source-xxx
$ cp /boot/config-`uname -r` .config
$ make oldconfig

dopo di che l'unica cosa da fare è andare nella directory dove abbiamo salvato il driver nvidia e dare il comando:

# sh NVIDIA-*

dove NVIDIA-* è il nome del driver che abbiamo scaricato.

Comparirà un menu interattivo che ci guiderà nell'installazione, dove dovremo rispondere alle domande dicendo che vogliamo installare il driver.

  ATTENZIONE
Potreste aver già installato un driver NVIDIA, in questo caso:
  1. Se lo avete installato voi, allora questa guida non vi server perche sapete già come fare :)
  2. Se ve lo ha installato un'altra persona, allora potete tranquillamente dire all'installer di sovrascriverlo se state installando una versione piu aggiornata.


Il nuovo installer permette l'aggiornamento automatico di xorg.conf. Potete farlo anche a mano, semplicemente editando il file /etc/X11/xorg.conf come indicato nella sezione successiva.

Dopo aver installato il driver per il kernel è opportuno installare i driver (sempre proprietari) per xfree/xorg, e anche il tool grafico per configurarli:

# aptitude install nvidia-glx nvidia-settings

ricordate che molte delle impostazioni che potete modificare con nvidia-settings necessitano del riavvio della sessione per avere effetto.


In fine possiamo far ripartire il server grafico, sempre nell'ipotesi che usiate kdm:

# /etc/init.d/kdm start

Verifica

Per verificare velocemente se tutto funziona, e ottenere anche un valore indicativo dell'aumento di prestazioni ottenuto potete usare glxgears, da lanciare in un terminale.

Glxgears è un semplicissimo programma che produce in una finestra l'animazione di tre ruote dentate che girano, e nel frattempo conta quanti frame al secondo riesce a generare il vostro sistema. Non è pensato per effettuare un vero benchmark, ma è solo un test indicativo, e i suoi risultati dipendono vistosamente dal carico presente sulla CPU, quindi per ottenere indicazioni attendibili evitate di lanciarlo mentre la CPU sta facendo altre cose.

Metodo 2: module-assistant

Occorrente

Per usare questo motodo è sufficiente una connessione ad internet, oltre, ovviamente, a module-assistant: se non l'abbiamo:

# aptitude install module-assistant

Cosa fare

Come per l'altro metodo, bisogna fermare il server grafico, e poi non dobbiamo fare altro che lanciare module-assistant:

# m-a

il quale ci mostra un menu grafico tramite il quale dobbiamo, nell'ordine:

  • aggiornare la lista dei pacchetti disponibili
  • preparare il sistema per la compilazione
  • selezionare il modulo da compilare dalla lista fornita
  • compilare
  • installare il pacchetto ottenuto

il tutto senza uscire da module-assistant.

nota: module-assistant si occupa automaticamente di installare un compilatore se non l'avete, e anche gli headers del kernel. Se possedete già gli headers giusti, o anche l'intero kernel (che, ricordo, deve essere configurato esattamente come il vostro kernel), è sufficiente controllare di avere impostato il link simbolico /usr/src/linux in modo che punti agli headers o ai sorgenti:

ln -s /usr/src/linux-headers-xxx /usr/src/linux

Ora bisogna modificare xorg.conf, in modo che il nome del driver nella sezione "Device" in modo che nella riga "Driver" sia scritto nvidia, inoltre bisogna sostituire, nella sezione "Module", le righe

Load    "dri"
Load    "GLcore"

con la riga

Load    "glx"

dopo di che non resta che installare i driver per xfree/xorg e il tool grafico per configurarli, e poi si può lanciare X:

# aptitude install nvidia-glx nvidia-settings
# /etc/init.d/kdm start

Per verificare se funziona tutto usate glxgears, come indicato nella sezione precedente.

Opzioni utili

In xorg.conf ci sono alcune opzioni specifiche del driver nvidia che si posono inserire nella sezione "Device", per esempio se non vogliamo vedere il logo Nvidia ad ogni avvio possiamo inserire:

Option "NoLogo" "1"

invece per usare il codice AGP del driver proprietario invece di quello libero possiamo inserire:

Option "NvAGP" "On"

personalmente con questa opzione attivata riscontro con glxgears un aumento di prestazioni pari al 50%.

Ci sono molte altre opzioni possibili, che trovate elencate, su Debian, in /usr/share/doc/nvidia-glx/README.txt.gz.


Autore: Bedo

Correzioni, metodo 2 e opzioni utili aggiunti da tindal