Installazione driver proprietari Nvidia

L'installazione dei driver proprietari Nvidia su Debian si può fare in due modi, e in entrambi i casi è 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.

Warning.png ATTENZIONE
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

nota: se avete compilato un kernel personalizzato, il pacchetto degli headers per il vostro kernel non esiste: dovete usare i sorgenti del kernel configurati.

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+Alt+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 configurare:

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

dopo di che siamo pronti per avviare l'installazione.

  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.


Per avviare l'installazione dobbiamo spostarci nella directory dove abbiamo salvato il driver nvidia e dare il comando:

# sh NVIDIA-*

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

Aggiornamento: con X.org 7.0 è cambiata la locazione dei driver del server grafico, ed è necessario dire all'installer dove deve mettere i driver, pena il non funzionamento dei driver stessi, e anche il probabile malfunzionamento delle applicazioni che usano OpenGL. Il comando per l'installazione diventa:

# sh NVIDIA-* --x-module-path=/usr/lib/xorg/modules/

Una volta avviato l'installer comparirà un menu interattivo che ci guiderà nell'installazione, dove dovremo rispondere alle domande dicendo che vogliamo installare il driver.

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 può essere utile installare il tool grafico per configurarlo:

# aptitude install 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

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, nella sezione "Device", in modo che nella riga "Driver" sia scritto nvidia (di solito al posto di nv o vesa), 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 (che sono sempre proprietari, ma non sono da compilare, e in Debian sono in un pacchetto a parte) e, volendo, anche il tool grafico per configurarli, e poi si può lanciare X:

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


Verifica

Per verificare velocemente se tutto funziona 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.

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

In certi casi ci possono essere dei problemi nell'uso di un monitor esterno su di un laptop: per ovviare all'inconveniente si può provare ad aggiungere

Option "UseEDID" "0"

Per abilitare l'uso dell'uscita TV come monitor addizionale (ove disponibile)

Option "TwinView"

Se l'immagine sulla TV risulta essere in bianco e nero o con i colori falsati occorre impostare lo standard video utilizzato.

Option "TVStandard" "PAL-B"

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, verifica e opzioni utili aggiunti da tindal

Opzioni TV e altre correzioni minori test