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


Driver proprietario NVIDIA

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

I comandi in questo articolo preceduti da un # devono essere eseguiti come root. Sostituire tale carattere con sudo o passare prima all'utente root nel terminale quando necessario.

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.

Nota bene: se questo comando lspci restituisce più di una riga di output si ha un chipset grafico Optimus (ibrido). Dopo l'installazione del pacchetto dei driver richiesto, è ancora necessario scegliere uno dei metodi nella pagina NVIDIA Optimus per potere attivare e utilizzare la propria scheda NVIDIA.

nvidia-detect

Anche lo script nvidia-detect (che si trova nel pacchetto nvidia-detect nella sezione non-free) può essere usato per identificare la GPU e il pacchetto di driver raccomandato per l'installazione:


Driver per desktop

Il driver proprietario "NVIDIA Accelerated Linux Graphics Driver" fornisce accelerazione hardware ottimizzata per le applicazioni OpenGL e Vulkan attraverso Xorg o Wayland. È un driver solo binario che richiede un modulo del kernel Linux per poter essere utilizzato.

Sono disponibili più versioni precompilate del driver per Debian 10 "Buster":

Sono disponibili più versioni precompilate del driver per Debian 9 "Stretch":

Tutte le versione elencate sopra sono disponibili solo per le architetture x86, x86-64 e ARMv7 a 32 bit (rispettivamente port Debian i386, AMD64 e ARMHF).


Installazione

Header del kernel

Prima di installare i driver, si devono ottenere i corretti header del kernel con cui compilare i driver.

Per un tipico sistema a 64 bit che usa il kernel predefinito, si può semplicemente eseguire:

# apt install linux-headers-amd64

Per i sistemi a 32 bit con il kernel non PAE, si installa invece:

# apt install linux-headers-686

o, per i sistemi a 32 bit con il kernel PAE:

# apt install linux-headers-686-pae

Se si usa il kernel da Debian Backports, si deve eseguire il medesimo comando ma con l'opzione -t seguita dal nome della propria fonte per i backport. Per esempio, se si stanno usando i backport di Buster in un sistema a 64 bit, si può eseguire:

# apt install -t buster-backports linux-headers-amd64


Debian 10 "Buster"

Version 440.100 (via buster-backports)

Per il supporto di GPU della serie GeForce 600 e successive (dispositivi supportati). Per dispositivi più vecchi vedere Versione 390.132 (GPU datate) e Versione 340.108 (GPU datate).

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

    # buster-backports
    deb http://deb.debian.org/debian buster-backports main contrib non-free
  2. Poi si può installare il pacchetto nvidia-driver.

    # apt update
    # apt install -t buster-backports nvidia-driver 

    DKMS compilerà il modulo nvidia per il sistema in uso attraverso il pacchetto nvidia-kernel-dkms package..

  3. Riavviare il sistema per caricare il driver aggiornato .

Versione 418.113

Per il supporto di GPU della serie GeForce 600 e successive (dispositivi supportati). Per dispositivi più vecchi vedere Versione 390.132 (GPU datate) e Versione 340.108 (GPU datate).

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

    # Debian 10 "Buster"
    deb http://deb.debian.org/debian/ buster main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare il pacchetto dei driver NVIDIA:

    # apt update
    # apt install nvidia-driver

    DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-kernel-dkms.

  3. Riavviare il sistema per caricare il nuovo driver.

Versione 390.132 (GPU datate)

Per il supporto di GPU della serie GeForce 400 e successive (dispositivi supportati).

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

    # Debian 10 "Buster"
    deb http://deb.debian.org/debian/ buster main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare il driver NVIDIA obsoleto:

    # apt update
    # apt install nvidia-legacy-390xx-driver

    DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-legacy-390xx-kernel-dkms.

  3. Riavviare il sistema per caricare il nuovo driver.

Versione 340.108 (GPU datate)

Per il supporto di GPU delle serie da GeForce 8 a GeForce 300. (dispositivi supportati).

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

    # Debian 10 "Buster"
    deb http://deb.debian.org/debian/ buster main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare il pacchetto del driver NVIDIA:

    # apt update
    # apt install nvidia-legacy-340xx-driver
     DKMS compilerà il modulo {{{nvidia

    per il sistema in uso, attraverso il pacchetto DebianPackage:nvidia-legacy-340xx-kernel-dkms.Successivamente, creare un file di configurazione per il server Xorg e poi riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.


Debian 9 "Stretch"

A partire da stretch, non è più necessario nvidia-xconfig e nella maggior parte dei casi non è necessario nemmeno un file xorg.conf. Inoltre è stato fatto un fork della serie 340 in una propria serie di pacchetti per gestire le schede più vecchie

In alcune situazioni è ancora necessario eseguire nvidia-xconfig per far funzionare correttamente il blocco dello schermo e la sospensione/risveglio (922679 Xfce/lightdm/light-locker)

Versione 418.152 (via stretch-backports)

Per il supporto per GPU della serie GeForce 700 e successive (Dispositivi supportati). Per dispositivi più vecchi vedere Versione 340.102 (GPU vecchie) e Versione 304.137 (GPU vecchie).

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

    # stretch-backports
    deb http://deb.debian.org/debian stretch-backports main contrib non-free
  2. Si può installare il pacchetto nvidia-driver.

    # apt update
    # apt install -t stretch-backports nvidia-driver 

    DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-kernel-dkms.

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

Versione 390.118

Per il supporto per GPU della serie GeForce 400 e successive (dispositivi supportati). Per dispositivi più vecchi vedere Versione 340.105 (GPU più vecchie) e Versione 304.137 (GPU datate).

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

    # Debian 9 "Stretch"
    deb http://deb.debian.org/debian/ stretch main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare il pacchetto del driver NVIDIA:

    # apt update
    # apt install nvidia-driver

    DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-kernel-dkms.

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

Versione 340.108 (GPU datate)

Per il supporto di GPU dalla serie GeForce 8 alla serie GeForce 300 (dispositivi supportati).

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

    # Debian 9 "Stretch"
    deb http://deb.debian.org/debian/ stretch main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare il pacchetto con i driver NVIDIA appropriato:

    # apt update
    # apt install nvidia-legacy-340xx-driver

    DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-legacy-340xx-kernel-dkms. Successivamente, creare un file di configurazione per il server Xorg e poi riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.

Version 304.137 (GPU datate)

Per il supporto di GPU delle serie GeForce 600 e GeForce 700 (dispositivi supportati).

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

    # Debian 9 "Stretch"
    deb http://deb.debian.org/debian/ stretch main contrib non-free
  2. Aggiornare l'elenco dei pacchetti disponibili. Installare il pacchetto dei driver NVIDIA appropriato:

    # apt update
    # apt install nvidia-legacy-304xx-driver
     DKMS compilerà il modulo {{{nvidia

    per il sistema in uso, attraverso il pacchetto DebianPackage:nvidia-legacy-340xx-kernel-dkms.Successivamente, creare un file di configurazione per il server Xorg e poi riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.


Installare librerie a 32 bit in un sistema a 64 bit

In molti casi, come quando si eseguono giochi a 32 bit da Steam o in Wine, possono essere necessarie librerie grafiche a 32 bit nel proprio sistema a 64 bit per farli funzionare correttamente. Questo è stato reso molto più facile a partire da Debian 9/Stretch e richiede ora sono un minimo lavoro aggiuntivo.

Notare che le istruzioni seguenti presumono che sia configurato sudo} nel sistema. Se non lo è seguire le istruzioni nella pagina sudo del wiki o omettere la parte sudo ed eseguire i comandi da root.

Dopo aver installato i driver, abilitare il multiarch a 32 bit e aggiornare gli elenchi dei repository eseguendo:

sudo dpkg --add-architecture i386 && sudo apt update

Successivamente, per installare la versione a 32 bit del pacchetto delle librerie NVIDIA, eseguire:

sudo apt install nvidia-driver-libs:i386

Può essere necessario riavviare le applicazioni in questione prima che possano funzionare correttamente.

ATTENZIONE Se si è costretti ad usare un driver obsoleto, si installerà invece uno tra nvidia-legacy-390xx-driver-libs:i386, nvidia-legacy-340xx-driver-libs:i386 o nvidia-legacy-304xx-driver-libs:i386.


Driver Tesla

La gamma NVIDIA dei dispositivi programmabili "Tesla", usata principalmente per simulazioni e calcoli su grande scala, richiede per funzionare correttamente anche pacchetti separati per driver rispetto alle GPU GeForce per l'uso comune che sono invece pensate per l'uso in sistemi desktop e di gioco.

In Debian 10/Buster, è supportata una sola versione del driver e si devono abilitare i backport per poterla installare. Successivamente può essere ottenuta installando il pacchetto nvidia-tesla-418-driver package.

In Debian 11/Bullseye, i rilasci maggiori 418 e 440 del driver Tesla sono disponibili senza la necessità di abilitare i backport. Possono essere trovati, rispettivamente, nei pacchetti nvidia-tesla-418-driver e nvidia-tesla-440-driver.

Le librerie a 32 bit possono essere trovate, a seconda delle necessita nel pacchetto nvidia-tesla-418-driver-libs-i386 o nvidia-tesla-440-driver-libs-i386. Deve essere abilitato il Multiarch.


Configurazione

Dato che il driver NVIDIA non viene rilevato automaticamente da Xorg, è necessario fornire un file di configurazione. I pacchetti Debian moderni per il driver NVIDIA non dovrebbero richiedere che venga fatta nessuna delle cose qui elencate, dato che vengono fatte automaticamente durante l'installazione, ma se si incontrano problemi o si usa una versione molto più vecchia di Debian, si può provare a seguire questi passaggi.

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 NVIDIA Optimus.

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

Sono disponibili Informazioni aggiuntive sulla configurazione.


CUDA

Debian 10 "Buster"

CUDA 9 è disponibile dal repository non-free.

# apt install nvidia-cuda-dev nvidia-cuda-toolkit

E, se sono abilitati i Backport, anche CUDA 10 è disponibile:

# apt -t buster-backports install nvidia-cuda-dev nvidia-cuda-toolkit

Questo installa nvcc e pacchetti correlati. Il profilatore visuale è in un pacchetto separato chiamato nvidia-visual-profiler.

Debian 9 "Stretch"

CUDA 8 è disponibile dal repository non-free.

# apt install nvidia-cuda-dev nvidia-cuda-toolkit

Questo installa nvcc e pacchetti correlati. Il profilatore visuale è in un pacchetto separato chiamato nvidia-visual-profiler.

CUDA 8 gestisce solamente gcc 5.3.1, che non è disponibile per Stretch. Per compilare è necessario aggiungere -ccbin clang-3.8 alla riga di comando di nvcc.

I pacchetti Debian di CUDA sfortunatamente non includono i campioni (samples) del toolkit. Per installarli è necessario scaricare il file .run di installazione "Ubuntu 16.04" per CUDA 8 da https://developer.nvidia.com/cuda-downloads. Eseguire il file .run e (dopo aver accettato la licenza e acconsentire all'esecuzione su un sistema non supportato) saltare l'installazione del driver e del toolkit e selezionare solamente "Samples". Notare che prima di questo passo è necessario usare

export PERL5LIB=. 

per compilare i campioni, è prima necessario impostare

export HOST_COMPILER=clang++-3.8

Notare che se si mescola codice compilato con gcc e nvcc, può essere necessario aggiungere anche

--compiler-options -fpie 

alla riga di comando di nvcc.


Risoluzione dei problemi


Disinstallazione

Se si incontrano problemi con i driver, passare ad una scheda diversa o semplicemente usare invece i driver Nouveau open source; la disinstallazione è resa facile con le versioni recenti dei driver.

Notare anche se se i problemi con i driver impediscono di accedere al desktop, si può accedere ad una TTY a tutto schermo usando Ctrl-Alt-F3 (o quasi qualsiasi tasto "F").

Si possono rimuovere tutti i pacchetti nel sistema con nvidia nel nome eseguendo:

# apt purge *nvidia*

e poi riavviare il sistema con:

systemctl reboot

Ciò dovrebbe lasciare con un sistema funzionante in quasi tutti i casi. Se sembra avere ancora problemi, si può anche provare ad eseguire:

# apt install --reinstall xserver-xorg-core xserver-xorg-video-nouveau

o:

# X -configure

Vedere anche


CategoryProprietarySoftware CategoryHardware CategoryVideo