Differences between revisions 48 and 49
Revision 48 as of 2017-04-09 12:09:50
Size: 18309
Editor: ?LuigiToscano
Comment: sync with the Englush page
Revision 49 as of 2017-04-09 12:51:31
Size: 19528
Comment: sync with english master
Deletions are marked like this. Additions are marked like this.
Line 68: Line 68:
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 Plasma 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. A partire da jessie, se è necessario solo il funzionamento di base e non si hanno preoccupazioni di prestazioni, 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 Plasma 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.
Line 110: Line 110:
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms
}}}
 Ciò installa anche il pacchetto raccomandato [[DebianPkg:jessie/nvidia-driver|nvidia-driver]]. DKMS compilerà il modulo nvidia per il sistema in uso.
 1. Creare un [[#configure|file di configurazione del server Xorg]].
 1. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-driver
}}}
 Ciò installa il pacchetto [[DebianPkg:jessie/nvidia-driver|nvidia-driver]]. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-kernel-dkms.
 1. Creare un [[#configure|file di configurazione del server Xorg]].
 1. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.
 1. (Seguire quanto indicato [[http://askubuntu.com/a/595884/416671|qui]] può essere necessario per abilitare una risoluzione più alta.)
Line 127: Line 128:
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-legacy-304xx-kernel-dkms
}}}
 Ciò installa anche il pacchetto raccomandato [[DebianPkg:jessie/nvidia-legacy-304xx-driver|nvidia-legacy-304xx-driver]]. DKMS compilerà il modulo nvidia per il sistema in uso.
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-legacy-304xx-driver
}}}
 Ciò installa il pacchetto [[DebianPkg:jessie/nvidia-legacy-304xx-driver|nvidia-legacy-304xx-driver]]. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-legacy-304xx-kernel-dkms.
Line 151: Line 152:
# aptitude -t wheezy-backports -r install nvidia-kernel-dkms
}}}
 Ciò installa anche il pacchetto raccomandato [[DebianPkg:wheezy-backports/nvidia-driver|nvidia-driver]]. DKMS compilerà il modulo nvidia per il sistema in uso.
# aptitude -t wheezy-backports -r install nvidia-driver
}}}
 Ciò installa il pacchetto [[DebianPkg:wheezy-backports/nvidia-driver|nvidia-driver]]. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-kernel-dkms.
Line 167: Line 168:
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms
}}}
 Questo installa anche il pacchetto [[DebianPkg:wheezy/nvidia-glx|nvidia-glx]] raccomandato. DKMS compilerà il modulo nvidia per il sistema in uso.
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-driver
}}}
 Questo installa il pacchetto [[DebianPkg:wheezy/nvidia-glx|nvidia-glx]]. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-kernel-dkms.
Line 184: Line 185:
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-173xx-dkms
}}}
 Questo installa anche il pacchetto [[DebianPkg:wheezy/nvidia-glx-legacy-173xx|nvidia-glx-legacy-173xx]] raccomandato. DKMS compilerà il modulo nvidia per il sistema in uso.
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-driver
}}}
 Questo installa il pacchetto [[DebianPkg:wheezy/nvidia-glx-legacy-173xx|nvidia-glx-legacy-173xx]]. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-legacy-173xx-kernel-dkms.
Line 201: Line 202:
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-legacy-96xx-dkms
}}}
 Questo installa anche il pacchetto [[DebianPkg:wheezy/nvidia-glx-legacy-96xx|nvidia-glx-legacy-96xx]] raccomandato. DKMS compilerà il modulo nvidia per il sistema in uso.
# aptitude -r install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-driver
}}}
 Questo installa il pacchetto [[DebianPkg:wheezy/nvidia-glx-legacy-96xx|nvidia-glx-legacy-96xx]]. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-legacy-96xx-kernel-dkms.
Line 259: Line 260:
NOTA: se il comando {{{svn-buildpackage}}} fallisce con un messaggio da {{{tar}}} simile a questo:
{{{
tar: /home/foo/tmp/nvidia/build-area/tmp-0.834000333984481: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Command ' tar --no-same-owner --no-same-permissions --extract --file /home/foo/tmp/nvidia/tarballs/nvidia-graphics-drivers_367.35.orig-armhf.tar.gz --directory /home/foo/tmp/nvidia/build-area/tmp-0.834000333984481' failed in '/home/foo/tmp/nvidia/367', how to continue now? [Qri?]:
}}}
allora creare la directory mancante {{{/home/foo/tmp/nvidia/build-area/tmp-0.834000333984481}}} (il nome cambia ogni volta, perciò crearlo in un altro terminale) e premere {{{r}}} per ritentare il comando. Sarà necessario creare la directory due volte. Dopo di che la creazione dovrebbe aver successo.
Line 308: Line 317:
Se si vuole ripristinare il sistema allo stato precedented, eseguire: Se si vuole ripristinare il sistema allo stato precedente, eseguire:
Line 333: Line 342:

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:

  • $ lspci -nn | grep VGA
    01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G80 [GeForce 8800 GTS] [10de:0193] (rev a2)

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:

  • $ nvidia-detect 
    Detected NVIDIA GPUs:
    02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce GT 430] [10de:0de1] (rev a1)
    Your card is supported by the default drivers.
    It is recommended to install the
        nvidia-driver
    package.

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, se è necessario solo il funzionamento di base e non si hanno preoccupazioni di prestazioni, 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 Plasma 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 375.26 (via jessie-backports)

Dispositivi supportati.

  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,[^-]*-[^-]*-,,')
  • O se si sta già usando un kernel Linux da jessie-backports:

    # apt-get install -t jessie-backports linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
  • Poi è possibile installare il pacchetto «nvidia-driver».

# 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-driver

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

  3. Creare un file di configurazione del server Xorg.

  4. Riavviare il sistema per abilitare l'inserimento nella lista nera di nouveau.
  5. (Seguire quanto indicato qui può essere necessario per abilitare una risoluzione più alta.)

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-driver

    Ciò installa il pacchetto nvidia-legacy-304xx-driver. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-legacy-304xx-kernel-dkms.

  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-driver

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

  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-driver

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

  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-driver

    Questo installa il pacchetto nvidia-glx-legacy-173xx. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-legacy-173xx-kernel-dkms.

  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-driver

    Questo installa il pacchetto nvidia-glx-legacy-96xx. DKMS compilerà il modulo nvidia per il sistema in uso, attraverso il pacchetto nvidia-legacy-96xx-kernel-dkms.

  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.

NOTA: se il comando svn-buildpackage fallisce con un messaggio da tar simile a questo:

tar: /home/foo/tmp/nvidia/build-area/tmp-0.834000333984481: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
Command ' tar --no-same-owner --no-same-permissions --extract --file /home/foo/tmp/nvidia/tarballs/nvidia-graphics-drivers_367.35.orig-armhf.tar.gz --directory /home/foo/tmp/nvidia/build-area/tmp-0.834000333984481' failed in '/home/foo/tmp/nvidia/367', how to continue now? [Qri?]:

allora creare la directory mancante /home/foo/tmp/nvidia/build-area/tmp-0.834000333984481 (il nome cambia ogni volta, perciò crearlo in un altro terminale) e premere r per ritentare il comando. Sarà necessario creare la directory due volte. Dopo di che la creazione dovrebbe aver successo.

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

  • Section "Device"
            Identifier "My GPU"
            Driver "nvidia"
    EndSection

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

  • # mkdir /etc/X11/xorg.conf.d
    # echo -e 'Section "Device"\n\tIdentifier "My GPU"\n\tDriver "nvidia"\nEndSection' > /etc/X11/xorg.conf.d/20-nvidia.conf

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

  • Il driver NVIDIA va in conflitto con il driver DRM nouveau (580894). Il modulo nouveau del kernel viene inserito nella lista nera dai pacchetti glx-alternative-nvidia o nvidia-kernel-common.

    • Riavviare il proprio sistema dopo aver configurato Xorg per il driver NVIDIA.

    • Dal README.Debian di xserver-xorg-video-nouveau:

      Se si decide di passare al driver proprietario, è altamente raccomandato il riavvio
      perché è incompatibile con nouveau e de-caricare quest'ultimo non è semplice
      e può portare ad una console completamente vuota.
  • Se non si può cambiare la luminosità dello schermo, aprire il file di configurazione di Xorg (/etc/X11/xorg.conf o /etc/X11/xorg.conf.d/20-nvidia.conf a seconda del metodo che si è usato) e aggiungere

        Option "RegistryDwords" "EnableBrightnessControl=1;"

    alla sezione Device.

  • Sono disponibili Informazioni aggiuntive sulla risoluzione dei problemi.

Ripristino in caso di fallimento

Se si vuole ripristinare il sistema allo stato precedente, eseguire:

Se non è possibile usare l'ambiente desktop:

premere Ctrl+alt+F2

effettuare il login come utente root

 # apt-get purge nvidia. (non dimenticare il punto ".") Rimuove ogni pacchetto che contiene "nvidia" nel nome


 # /etc/init.d/gdm3 stop  (gdm3 per gnome 3)

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

 # killall Xorg

 # reboot

Xorg dovrebbe riconfigurarsi, altrimenti aprire un terminale ed eseguire

# X -configure

Vedere anche


CategoryProprietarySoftware