4
Merci

Quelques mots de remerciements seront grandement appréciés.

Installer drivers nvidia sous debian



Installer le pilote propriétaire nvidia

Ce tutoriel présente comment installer les drivers propriétaires nvidia sous Debian. De nos jours il existe deux grandes méthodes :
  • Méthode 1 : via les paquets debian : c'est la méthode la plus simple et la plus propre. Le pilote est mis à jour avec le reste du système. C'est donc naturellement l'approche recommandée.
  • Méthode 2 : via le script d'installation nvidia. Cette méthode permet parfois d'avoir un driver plus récent, mais doit être refaite chaque fois que le noyau (paquet linux-image) est mis à jour.


Par le passé, on pouvait envisager aussi d'utiliser
envy
,
make-kpkg
, et
module-assistant
. De nos jours, ces méthodes ont perdu leur intérêt ou sont obsolètes.


Méthode 1 (recommandée) : via les paquets debian

1) Pour rappel, par défaut debian ne propose que des paquets libres et donc pas de paquets propriétaires, dont fait partie le pilote nvidia. Il faut donc activer les dépôts
non-free
et
contrib
. Pour cela, on modifie
/etc/apt/sources.list
en ajoutant derrière les occurrences du mot clé
free
les mots-clés
contrib
et
non-free
.

pkexec gedit /etc/apt/sources.list &


Exemple : Pour une debian testing :

deb http://ftp.fr.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org/debian-security testing/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ testing-updates main contrib non-free


2) Installer les paquets
nvidia-driver
:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nvidia-driver


Si le paquet n'est pas trouvé, voir comment résoudre le problème dans la section "En cas de problème", en fin de tutoriel.

3) Au choix, redémarrer ou bien charger le driver nvidia et relancer le mode graphique :

sudo modprobe nvidia
sudo service sddm restart

Méthode 2 (déconseillée) : Installation avec le script nvidia

1) Télécharger le script nvidia dans
/tmp
(ou adapter les commandes suivantes en conséquence).

2) Passer en mode texte (ctrl alt f1) et s'identifier en root (ou précéder les commandes suivantes de
sudo
). Installer les headers du noyau :

sudo apt-get install linux-headers-$(uname -r)


3) Repérer le nom de votre gestionnaire de connexion :

ls /etc/init.d/*dm


C'est probablement
gdm
,
xdm
,
sddm
, ou
lightdm
. Dans ce qui suit nous supposons que c'est
sddm
. On le stoppe comme suit :

sudo service sddm stop


4) Déterminer le compilateur qui a été utilisé pour compiler le noyau.

cat /proc/version


Exemple : Ici c'est
gcc-4.6


(mando@silk) (~) $ cat /proc/version  
Linux version 3.2.0-3-686-pae (Debian 3.2.23-1) (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-8) ) #1 SMP Mon Jul 23 03:50:34 UTC 2012


5) Installer le compilateur correspondant.

sudo apt-get install gcc-4.6


Vérifiez si le compilateur par défaut (
gcc
) a le bon numéro de version. Dans cet exemple ce n'est pas le cas :

(mando@silk) (~) $ gcc --version 
gcc (Debian 4.7.1-7) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Dans ce cas, configurer la variable d'environnement
CC
pour référencer le bon compilateur :

export CC=gcc-4.6


6) Lancer le script d'installation :

sudo sh /tmp/NVIDIA-Linux-*.run


7) Au choix, redémarrer ou bien charger le driver nvidia et relancer le mode graphique :

sudo modprobe nvidia
sudo service sddm restart

Tests

1) Installer le paquet
mesa-utils
:

sudo apt-get install mesa-utils


2) Lancer la commande :
glxinfo | grep -i render 
.

Cette commande doit notamment dire "
direct rendering: Yes
". Cependant elle ne permet pas d'avoir la garantie complète que l'accélération matérielle est performante.

3) Lancer
nvidia-smi
. Si le pilote est bien installé, vous devriez voir ses informations apparaître.

4) Lancer la commande :
vblank_mode=0 glxgears
.

Cette commande affiche des roues d'engrenages. Une installation correcte doit permettre d'avoir une animation avec plusieurs milliers de FPS, comme le montre ce lien.

En cas de problème

Paquet nvidia-driver introuvable

1) Vérifier sur cette page quelles versions de debian fournissent ce paquet (e.g. stretch).

2) Adapter la configuration d'apt pour récupérer par les paquets manquants la version alternative de debian retenue. Par exemple, supposons qu'on soit en debian testing, et que le paquet manquant doive être récupéré en stretch.

2.a) Modifier
/etc/apt/sources.list


deb http://ftp.fr.debian.org/debian/ testing main contrib non-free
deb http://ftp.fr.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security testing/updates main contrib non-free
deb http://ftp.fr.debian.org/debian/ testing-updates main contrib non-free


2.b) Créer
/etc/apt/preferences.d/nvidia
</gras>

Package: *
Pin: release o=Debian,a=testing
Pin-priority: 990

Package: *
Pin: release o=Debian,a=stretch
Pin-priority: 90


Puis reprendre le tutoriel "Méthode 1 : installation via les paquets debian".

Écran noir

1) S'identifier en [https://www.mistra.fr/tutoriel-linux-mode-texte.html mode texte (ctrl alt f1)].

2) Repérer les erreurs éventuelles.

grep EE /var/log/Xorg.0.log


a) S'il s'agit bien d'une absence de driver :
  • Refaire l'installation du pilote nvidia (méthode 1 ou méthode 2)
  • Si le problème persiste, repasser le pilote libre (voir section suivante).


b) Sur les portables muni de deux cartes graphiques, assurez-vous que la carte 3D est activée dans le BIOS. Celle-ci doit apparaître lorsque vous lancez la commande
lspci
.

Vérifiez que la carte est toujours active. Pour vérifier, deux approches
  • Si dans
    /var/log/Xorg.0.log
    vous voyez l'erreur :
    Cannot access secondary GPU - error: [XORG] (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
  • Si en utilisant la méthode 2, le script ne trouve pas votre carte, vous êtes probablement dans ce cas.

... il se peut que votre BIOS soit déréglé. Pour régler le problème, entrez dans votre BIOS et réinitialisez le avec les paramètres d'usine, puis tentez d'installer le pilote nvidia avec la méthode de votre choix.

Le mode graphique plante au lancement de la machine, mais se relance avec succès

Il peut arriver qu'au lancement de la machine, tout se charge correctement (le module nvidia, le serveur X) mais que le gestionnaire graphique plante. On retrouve cette information dans
/var/log/syslog
(et tout semble bien se passer dans
/var/log/Xorg.0.log
).

Pour vérifier que vous avez bien ce problème, assurez vous après que la commande suivante (à lancer en root via le raccourci ctrl alt f1) lance avec succès du gestionnaire de connexion (kdm dans cet exemple) :

sudo service kdm restart


Ce problème semble être spécifique à certains modèles de carte nvidia (par exemple j'ai le problème avec une GeForce 210m) où le driver semble mettre un temps conséquent à se charger. Dans ca cas,
kdm
se dit que le serveur X a planté et interrompt son chargement avant que tout se soit initialisé. Par défaut
kdm
attend 15s.

Pour remédier au problème il suffit de corriger
/etc/kde4/kdm/kdmrc
. À la ligne ServerTimeOut mettre 30s (voir plus si ça ne suffit pas).

...  
# How long to wait for a local X-server to come up.  
# Default is 15  
ServeurTimeOut=<bold>30</bold>  
...


Aux prochains redémarrages, le serveur X devrait se lancer correctement.

Le serveur X commence à se charger, puis brusquement tout se bloque

Il peut arriver sur du matériel ou avec des pilotes récent que le kernel linux plante à cause du driver nvidia, ce qui gèle la machine. C'est le cas si ctrl+alt+suppr ou un ctrl+alt+f1 ne répondent pas.

Dans ce cas, il faut soit installer une autre version du pilote
nvidia
, soit repasser au pilote libre (anciennement
nv
, de nos jours
nouveau
). La procédure pour installer le pilote libre est indiquée dans la section suivante.

Repasser sur le driver libre (nouveau)

1) Installer le pilote
nouveau
.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install xerver-xorg-video-nouveau


2) En admettant que vous ayiez suivi la méthode 1, purger tous les paquets liés à nvidia (sinon, désinstallez le pilote via le script
.run
)

sudo apt-get purge $(dpkg -l | grep ^ii | cut -d" " -f3 | grep ^nvidia)


Renommer l'éventuel fichier
/etc/X11/xorg.conf
.

sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old


3) Redémarrer.

sudo reboot

Liens utiles

4
Merci

Quelques mots de remerciements seront grandement appréciés.

Cet article est régulièrement mis à jour par des experts sous la
direction de Jean-François Pillou, fondateur de CommentCaMarche
et directeur délégué au développement numérique du groupe Figaro.

Publié par . Dernière mise à jour le par mamiemando.

Ce document intitulé «  Installer drivers nvidia sous debian  » issu de CommentCaMarche (https://www.commentcamarche.net/) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

1 Commentaire