Pilotes de cartes graphiques : NVIDIA

06 Jun. 2005
Auteur : Hyacinthe MENIET
Responsable : TrustRobot
Score ( voter ) :
Connexes : Même auteur | Même responsable | Historique
Depuis quelques temps déjà, NVIDIA fournit des drivers propriétaires et optimisés pour l'accélération 3D matérielle sous linux. Ils sont tous disponibles sur cette page . Le type de driver à télécharger dépend de votre processeur : Avant de cliquer sur le lien, lisez la phrase qui suit. A partir de la version « 1.0-7664 » , NVIDIA ne supporte plus les cartes suivantes : Si vous utilisez l'une de ces cartes, vous devez télécharger une ancienne version du driver. Pour cela cliquez sur le lien « Archive » en dessous du driver qui correspond à votre processeur. Là choisissez n'importe quelle version strictement inférieure à « 1.0-7664 ». Si vous avez une carte graphique plus récente, alors téléchargez simplement la version la plus récente du driver en fonction de votre processeur. Vous avez donc téléchargé le fichier NVIDIA-Linux-x86_64-1.0-xxx.run si vous avez un processeur 64 bits ou NVIDIA-Linux-x86-1.0-xxx.run si vous avez un processeur 32 bits. Si ça vous interesse, sachez que ce fichier est une archive auto-extractible, à l'image des .exe d'installation sous Windows. L'installation se déroulera entièrement en mode console, en root.

1. Avant l'installation

1.1 Installez les sources du noyau

Débutez par l'installation des sources et en-têtes de votre noyau.

Pour les utilisateurs de Mandriva

Il suffit de taper :
# urpmi kernel-headers kernel-source

Pour les utilisateurs de Fedora

Il suffit de taper :
# yum install kernel-source

Pour les utilisateurs de Debian

Si vous utilisez un noyau debian, il suffit de taper :
# apt-get install kernel-headers-$(uname -r) kernel-source-$(uname -r)
Si vous avez compilé vous même votre noyau, vous n'avez rien à faire les sources sont déjà installées.

Pour les utilisateurs de Slackware

Si vous utilisez le noyau natif de votre Slackware, il suffit d'installer les paquetages k/kernel-source-xxx.tgz ( et k/kernel-headers-xxx.tgz s'il y'en a) par :
# installpkg /où_est/kernel-source-xxx.tgz /où_est/kernel-headers-xxx.tgz
Si vous avez compilé vous même votre noyau, vous n'avez rien à faire les sources sont déjà installées.

1.2 Déplacez les fichiers indésirables

Déplacez ensuite les fichiers qui peuvent faire échouer la compilation, par :
# cd /root # mkdir nv-bak # cd nv-bak # mv /usr/X11R6/lib/libGL.* . # mv /usr/X11R6/lib/modules/extensions/libGLcore.a . # mv /usr/X11R6/lib/modules/extensions/libglx.a .
Pour être sûr d'avoir fait correctement le ménage, tapez :
# find /usr/X11R6/lib -name '*GL.*' # find /usr/X11R6/lib -name '*GLcore.*' # find /usr/X11R6/lib -name '*glx.*' # find /lib/modules/`uname -r`/ -name 'nvidia*'
Si l'un de ces find renvoie quelque chose, déplacez le « quelque chose » dans /root/nv-bak comme ci-dessus. En cas de problème vous pourrez, toujours revenir à un système saint, en faisant l'opération inverse.

2. Installation

2.1 Configurez votre connexion

Pour installer les drivers Nvidia, vous devrez probablement être connecté internet. Si vous êtes derrière un Proxy, renseignez l'une des variables d'environnement suivantes : FTP_PROXY, SNARF_PROXY ou PROXY. A titre d'exemple, si vous souhaitez utiliser la première, tapez :
export FTP_PROXY=http://IP_du_serveur_proxy:8080/
Ceci suppose que votre Proxy écoute les requêtes ftp sur le port 8080.

2.2 Démarrez l'installation

Imprimez ce didacticiel car vous devez basculer en mode console et vous n'y aurez pas accès. Vous pouvez le mettre en forme pour l'impression en cliquant sur l'icône « imprimante » en haut à droite du document. Pour basculer en mode console, sur la plupart des distributions faîtes [ctrl]+[alt]+[f1] (sur d'autres c'est [ctrl]+[alt]+[f6] peu importe, basculez !). Au prompt le système vous demande un login, connectez-vous en root. Pour ceux que ça intéresse vous pouvez revenir en mode graphique en faisant [ctrl]+[alt]+[f7]. Pour que le driver que vous avez téléchargé soit utilisable, vous devez le rendre exécutable, par :
# cd /où_est_le_driver/ # chmod 555 NVIDIA-Linux-xxx-1.0-xxx.run
Le .run accepte quelques options : Pour lancer l'installateur, tapez ceci en root, dans le répertoire où est situé l'archive :
# sh ./NVIDIA-Linux-xxx-1.0-xxx.run
Une fois lancé, le .run va extraire son contenu et lancer la commande nvidia-installer, le nouvel outil d'Nvidia qui gère tout. L'installation va également installer nvidia-installer qui vous servira à désinstaller/updater le driver. Pour démarrer l'installation, vous devez accepter la licence. L'installateur se connecte à Internet, pour télécharger la version binaire correspondant à votre noyau, s'il n'en trouve pas il utilisera les sources. Si vous obtenez un message d'erreur comme :
ERROR: The kernel header file '/lib/modules/xxx/kernel.h' does not exist ...
Cela signifie probablement que vous n'avez pas installé les paquetages kernel-sources et/ou kernel-header comme indiqué ci-dessus. Faîtes-le et recommencez. Si vous les aviez déjà installés, alors c'est que l'installateur ne les trouve pas. Pour l'aider, indiquez-lui le chemin vers les sources de votre noyau. Chez moi c'est /usr/src/linux, si c'est différent chez vous, adaptez !
# sh ./NVIDIA-Linux-xxx-1.0-xxx.run --kernel-source-path=/usr/src/linux
Si vous aviez, un quelconque problème, il est toujours possible d'installer manuellement le driver par :
# sh ./NVIDIA-Linux-xxx-1.0-xxx.run --extract-only # cd NVIDIA-Linux-xxx-1.0-xxx # make install

2.3 Aller plus loin

# nvidia-installer --latest
Il vous renvoie, l'url de la dernière version disponible, ainsi que la votre. Si la version disponible est plus récente que la votre, tapez alors :
# nvidia-installer --update

3. Après l'installation

3.1 Configuration des fichiers

A ce stade les pilotes nvidia sont installés et même probablement chargés. Pour vérifier qu'ils sont chargés tapez :
# lsmod | grep nvidia
Si vous n'obtenez rien, c'est que les pilotes ne sont pas chargés, pour les charger manuellement tapez :
# /sbin/modprobe nvidia
Vous pouvez revenir en mode graphique par [ctrl]+[alt]+[f7]. Ensuite, éditez /etc/X11/xorg.conf si vous n'en avez pas, éditez /etc/X11/XF86Config-4 et si vous n'en avez pas non plus, éditez /etc/X11/XF86Config : Maintenant vérifiez dans le fichier de chargement automatique des modules de votre distribution, que le module nvidia sera bien chargé à chaque démarrage. Concrètement :

Pour les utilisateurs de Mandriva avant la 10.1

Assurez-vous d'avoir la ligne suivante dans votre /etc/modprobe.conf :
alias char-major-195 nvidia

Pour les utilisateurs de Mandriva 10.1 et plus

Assurez-vous d'avoir la ligne suivante dans votre /etc/modprobe.preload :
nvidia

Pour les utilisateurs de Debian

Assurez-vous d'avoir la ligne suivante dans votre /etc/modules :
nvidia

Pour les utilisateurs de Fedora

Assurez-vous d'avoir la ligne suivante dans votre /etc/modprobe.conf :
alias char-major-195 nvidia
Attention, les Fedora core 3 et plus sont livrées avec udev, ce qui peut poser quelques problèmes. Une solution consiste à taper, en root dans un terminal :
# cp -a /dev/nvidia* /etc/udev/devices/ # chown root.root /etc/udev/devices/nvidia*
Je suppose implicitement que le point d'entrée de vos périphériques udev est /etc/udev/devices/ en remplacement de /dev/. Si vous utilisez udev et que ce n'est pas comme ça chez vous, adaptez !

Pour les utilisateurs de Slackware

Assurez-vous d'avoir la ligne suivante dans votre /etc/rc.d/rc.modules :
/sbin/modprobe nvidia

3.2 Redémarrage

Quand vous êtes prêt, redémarrez le serveur d'affichage par [ctrl]+[alt]+[backspace]. Si ça se passe mal, rendez-vous sur le forum, indiquez les étapes que vous avez suivies et les messages d'erreur. Si tout se passe bien, authentifiez-vous en simple utilisateur (si nécessaire), puis lancez un terminal et tapez :
$ glxinfo | grep direct
Qui devrait vous retourner quelque chose comme :
direct rendering: Yes
Pour tester vos perfs, tapez :
$ glxgears &
Vous pouvez arrêter l'application en pressant [ctrl]+[c]. Si tout se passe bien, à vous Quake 3 !!!

4. Options avancées

Finissons par quelques options avancées :

Problème avec valgrind & co

Certains utilisateurs ne peuvent plus utiliser certains logiciels comme valgrind, depuis l'installation de ces drivers, si c'est votre cas, tapez :
export __GL_FORCE_GENERIC_CPU=1
Pour que ce soit fait à chaque démarrage, rajoutez cette ligne à la fin de votre /etc/profile, pour que ce soit effectif à chaque session.