Traduzioni: English - Español - Français - Italiano - Русский - 简体中文


Driver proprietario NVIDIA

Questa pagina descrive come installare il driver proprietario per display NVIDIA su sistemi Debian.

NOTA: Per i sistemi Apple seguire prima le istruzioni in http://askubuntu.com/a/613573/134848 per evitare una schermata nera dopo l'installazione dei driver.

Identificazione

La serie/nome in codice della GPU (graphics processing unit) NVIDIA di una scheda video installata può solitamente essere identificata usando il comando lspci. Per esempio:

Vedere Come identificare un dispositivo PCI per ulteriori informazioni. L'ID PCI può essere utilizzato per verificare il supporto per il dispositivo.

nvidia-detect

Anche lo script nvidia-detect (pacchetto nvidia-detect in non-free) può essere usato per identificare la GPU e il driver richiesto:

Driver

Il driver proprietario "NVIDIA Accelerated Linux Graphics Driver" fornisce accelerazione hardware ottimizzata per le applicazioni OpenGL attraverso il direct-rendering con il server X. È un driver solo binario per Xorg che richiede un modulo del kernel Linux per essere usato.

Sono disponibili più versioni precompilate del driver per Debian 8 "Jessie":

Sono disponibili quattro versioni del driver per Debian 7 "Wheezy":

Tutte le versione elencate sopra sono disponibili solo per le architetture x86 e x86-64 (rispettivamente port Debian i386 e AMD64).

Installazione

Debian 8 "Jessie"

A partire da jessie, la necessità di driver proprietari è praticamente scomparsa: nouveau ora funziona molto bene e funziona con display con doppio monitor usando una semplice e facile configurazione dall'interno del desktop (per KDE vedere Impostazioni di sistema/Hardware/Display e monitor/Configurazione display). I driver proprietari non forniscono la normale registrazione di log e possono essere una fonte nascosta di problemi. Se si sta facendo un aggiornamento di distribuzione del sistema, si dovrebbe come minimo rimuovere i pacchetti nvidia da wheezy, far sì che il desktop funzioni con nouveau, e poi reinstallare i pacchetti nvidia se c'è una motivazione pressante per farlo.

Versione 352.79 (via jessie-backports)

  1. Aggiungere jessie-backports al proprio /etc/apt/sources.list, per esempio:

# jessie-backports
deb http://httpredir.debian.org/debian jessie-backports main contrib non-free

1. Installare gli header Linux per il kernel in uso. Se si sta usando il kernel Linux 3.16 in Debian Jessie:

# apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')

# apt-get update
# apt-get install -t jessie-backports nvidia-driver 

DKMS compila il modulo nvidia per il sistema in uso.

  1. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.

Versione 340.96

Per il supporto di GPU GeForce 8xxx e successive (dispositivi supportati). Per dispositivi più vecchi, vedere la Versione 304.125 (GPU vecchie).

  1. Aggiungere le componenti "contrib" e "non-free" a /etc/apt/sources.list, per esempio:

    # Debian 8 "Jessie"
    deb http://httpredir.debian.org/debian/ jessie main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare i pacchetti linux-headers e per il modulo del kernel appropriati:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms

    Ciò installa anche il pacchetto raccomandato nvidia-driver. DKMS compilerà il modulo nvidia per il sistema in uso.

  3. Creare un file di configurazione del server Xorg.

  4. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.

Versione 304.131 (GPU vecchie)

Per il supporto di GPU GeForce 6xxx e 7xxx (dispositivi supportati).

  1. Aggiungere le componenti "contrib" e "non-free" a /etc/apt/sources.list, per esempio:

    # Debian 8 "Jessie"
    deb http://httpredir.debian.org/debian/ jessie main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare i pacchetti linux-headers e per il modulo del kernel appropriati:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-legacy-304xx-kernel-dkms

    Ciò installa anche il pacchetto raccomandato nvidia-legacy-304xx-driver. DKMS compilerà il modulo nvidia per il sistema in uso.

  3. Creare un file di configurazione del server Xorg.

  4. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.

Debian 7 "Wheezy"

Versione 340.96 (usando wheezy-backports)

Per il supporto di GPU GeForce 8xxx e successive (dispositivi supportati). È reso disponibile tramite wheezy-backports.

  1. Aggiungere wheezy-backports al proprio /etc/apt/sources.list, per esempio:

    # wheezy-backports
    deb http://httpredir.debian.org/debian/ wheezy-backports main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili:

    # aptitude update
  3. Installare il pacchetto linux-header appropriato:

    # aptitude install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
  4. Installare il pacchetto del modulo del kernel da wheezy-backports:

    # aptitude -t wheezy-backports -r install nvidia-kernel-dkms

    Ciò installa anche il pacchetto raccomandato nvidia-driver. DKMS compilerà il modulo nvidia per il sistema in uso.

  5. Creare un file di configurazione del server Xorg.

  6. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.

Versione 304.125

Per il supporto di GPU GeForce 6xxx e successive (dispositivi supportati). Per dispositivi più vecchi, vedere la versione 173.14.35 (GPU datate) e la versione 96.43.23 (GPU datate).

  1. Aggiungere le componenti "contrib" e "non-free" a /etc/apt/sources.list, per esempio:

    # Debian 7 "Wheezy"
    deb http://httpredir.debian.org/debian/ wheezy main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare i pacchetti linux-headers e per il modulo del kernel appropriati:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms

    Questo installa anche il pacchetto nvidia-glx raccomandato. DKMS compilerà il modulo nvidia per il sistema in uso.

  3. Creare un file di configurazione del server Xorg.

  4. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.

Versione 173.14.35 (GPU datate)

Per il supporto di GPU GeForce 5xxx / GeForce FX (dispositivi supportati).

  1. Aggiungere le componenti "contrib" e "non-free" a /etc/apt/sources.list, per esempio:

    # Debian 7 "Wheezy"
    deb http://httpredir.debian.org/debian/ wheezy main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare i pacchetti linux-headers e per il modulo del kernel appropriati:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-173xx-dkms

    Questo installa anche il pacchetto nvidia-glx-legacy-173xx raccomandato. DKMS compilerà il modulo nvidia per il sistema in uso.

  3. Creare un file di configurazione del server Xorg.

  4. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.

Versione 96.43.23 (GPU datate)

Per il supporto di GPU GeForce 2, GeForce 3 e GeForce 4 (dispositivi supportati).

  1. Aggiungere le componenti "contrib" e "non-free" a /etc/apt/sources.list, per esempio:

    # Debian 7 "Wheezy"
    deb http://httpredir.debian.org/debian/ wheezy main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare i pacchetti linux-headers e per il modulo del kernel appropriati:

    # aptitude update
    # aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-96xx-dkms

    Questo installa anche il pacchetto nvidia-glx-legacy-96xx raccomandato. DKMS compilerà il modulo nvidia per il sistema in uso.

  3. Creare un file di configurazione del server Xorg.

  4. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.

Compilare nuovi rilasci dal SVN

Quando vengono rilasciate nuove versioni originali del driver proprietario il caricamento potrebbe non avvenire immediatamente. Ciò può avvenire per svariate ragioni, incluso l'attendere che nuovi pacchetti binari passino la coda NEW, che richiede l'approvazione manuale dei FTP master.

Prima di eseguire l'installatore degli autori originali che potrebbe causare problemi alla propria installazione, si possono compilare e installare localmente pacchetti, se sono già pronti in SVN. Controllare che la versione a cui si è interessati sia disponibile:

https://anonscm.debian.org/viewvc/pkg-nvidia/packages/nvidia-graphics-drivers/branches/

Se lo è, installare quanto segue:

# apt-get install subversion svn-buildpackage
# apt-get build-dep nvidia-driver

Poi fare il checkout del ramo desiderato e compilarlo localmente:

# svn co svn://anonscm.debian.org/pkg-nvidia/packages/nvidia-graphics-drivers/branches/364
# cd 364
# debian/rules get-orig-source
# mkdir ../tarballs
# mv nvidia-graphics-drivers* ../tarballs
# svn-buildpackage --svn-ignore -us -uc -rfakeroot

e se si ha bisogno di pacchetti multiarchitettura (ad esempio i386 su amd64) - necessari per il funzionamento di steam:

# svn-buildpackage --svn-ignore --svn-arch=i386 -us -uc -rfakeroot

NOTA: per il multiarch, per esempio su amd64 con i386, NON si devono installare tutti i pacchetti dall'architettura estranea, ma SOLAMENTE uno tra libgl1-nvidia-glx-i386 o nvidia-driver-libs-i386 a seconda del ramo, e le sue dipendenze.

NOTA: per usare get-orig-source è necessaria la versione 1.29 di tar o una successiva; se ciò non è possibile (ad esempio in jessie) si può modificare il file debian/rules eliminando le nuove opzioni tar che non esistono nelle versioni più vecchie di tar (--clamp-mtime e --sort):

$ svn diff debian/rules
Index: debian/rules
===================================================================
--- debian/rules        (revision 6570)
+++ debian/rules        (working copy)
@@ -380,8 +380,7 @@
            chmod 0755 $(ORIGDIR.$*)/* ; \
            latestfile=$$(ls -tr $$(find $(ORIGDIR.$*) -type f) | tail -n 1) ; \
            tar cv \
-               --clamp-mtime --mtime="./$$latestfile" \
-               --sort=name \
+               --mtime="./$$latestfile" \
                --owner=root --group=src \
                $(ORIGDIR.$*) \
                | gzip -n -9 > $(TARBALL.$*) ; \

In questo modo il comando debian/rules get-orig-source funzionerà in jessie. Nel caso non funzionasse si può provare a creare manualmente l'archivio tar seguendo lo schema utilizzato da uno esistente nell'archivio Debian.

Configurazione

Dato che il driver nvidia non viene rilevato automaticamente da Xorg, è necessario fornire un file di configurazione. Tuttavia, la configurazione descritta più avanti non dovrebbe essere usata per sistemi Nvidia Optimus: su tali sistemi il display X primario è pilotato dalla GPU Intel che viene rilevata automaticamente da X. Vedere Bumblebee per maggiori dettagli su come configurare i sistemi Optimus.

Automatica

Installare il pacchetto nvidia-xconfig poi eseguirlo con sudo. Genererà automaticamente un file di configurazione di Xorg in /etc/X11/xorg.conf.

Manuale

Dato che il driver nvidia non viene rilevato automaticamente da Xorg, è necessario fornire un file di configurazione. Per esempio:

/etc/X11/xorg.conf.d/20-nvidia.conf

Il file di configurazione precedente può essere creato usando questi comandi:

Notare che questa configurazione renderà non funzionante XOrg su sistemi Optimus; per questo hardware vedere invece Bumblebee.

A questo punto riavviare il proprio sistema per abilitare l'inserimento del driver nouveau nella lista nera.

Sono disponibili Informazioni aggiuntive sulla configurazione.

Risoluzione dei problemi

Vedere anche


CategoryProprietarySoftware