[Debian][HowTo] Xorg7 - installer drivers nvidia
Publié par mamiemando, dernière mise à jour sam. 06 sept. 2008 à 13:45:01 par mamiemando
Xorg7 - installer drivers nvidia
Dans ce tutoriel nous allons aborder comment installer les drivers nvidia sous debian. Tout ce qui dit est valable pour d'autres distributions basées sur debian comme par exemple ubuntu. Toutefois pour cette dernière, on retiendra que la procédure d'installation est spécifique. On pourra se référer directement à la page dédiée :
http://doc.ubuntu-fr.org/nvidia
On va à présent aborder quatre manières différentes manières d'installer le driver nvidia sous debian.
A) On utilise le script dédié disponible sur le site officiel de nvidia. Elle est simple à mettre en oeuvre mais malheureusement à chaque mise à jour il faut recommencer ;
B) On utilise module-assistant. C'est à mon sens la plus propre. En outre elle évite d'avoir de soucis lors des mises à jours xorg et de noyau.
C) On utilise envy
D) On construit le module avec make-kpkg ;
Quelle que soit la méthode utilisée, il faudra reconfigurer le serveur graphique (ou serveur X, ici xorg) pour charger le driver nvidia. Cette procédure est explicitée dans la dernière étape de ce tutoriel. Il va sans dire que la plupart des commandes qui suivent nécessite d'être en root.
A) Installation avec le script nvidia
1) Téléchargement du script
2) Lancement du script
3) Copie des bibliothèques (obsolète)
B) Installation avec module-assistant
1) Installation de module assistant et de nvidia-kernel-common
2) Correction des dépôts
3) Installation du module
4) Vérifications
C) Installation automatique avec envy
D) Installation par make-kpkg
Reconfiguration du serveur X
Correction du fichier de configuration /etc/X11/xorg.conf
Prise en compte des nouveaux drivers
Vérifications
Liens utiles
A) Installation avec le script nvidia
1) Téléchargement du script
Allez sur www.nvidia.fr/object/linux_display_ia32_1.0-8762_fr.html
et télécharger : download.nvidia.com/XFree86/Linux-x86/1.0-8762/NVIDIA-Linux-x86-1.0-8762-p...
Note :
a) Si vous utilisez un noyau que vous avez compilé manuellement (par exemple un noyau téléchargé sur www.kernel.org,), vérifiez que le lien /usr/src/linux pointe sur les sources de noyau correspondantes.
b) Si vous utilisez un noyau fournit par un paquet linux-image (ce qui est le cas en général), pensez à installer les linux-headers correspondants :
aptitude install linux-headers-`uname -r`
2) Lancement du script
Commençons par rendre le script exécutable :
chmod +x NVIDIA-Linux-x86-1.0-8762-pkg1.run
Ensuite il faut couper son serveur X (remplaçer kdm par gdm ou xdm au besoin) :
/etc/init.d/kdm stop
Il faut ensuite vérifier que le compilateur par défaut pointe vers le celui utilisé par défaut. Ce n'est par défaut pas le cas (les linux-images sont compilées avec gcc-4.1 et par défaut on utilise un gcc-4.3).
export CC=gcc-4.1
On peut à présent lancer le script :
./NVIDIA-Linux-x86-1.0-8762-pkg1.run
3) Copie des bibliothèques (obsolète)
Note : cette étape n'est plus nécessaire aujourd'hui. À l'époque le script nvidia ne prenaient pas en compte ce changement d'arborescence. Avec un script nvidia récent on peut donc ignorer cette étape
Jusque là rien de très original, mais le problème c'est que les drivers sont dans /usr/X11R6/lib/modules et les libs dans /usr/X11R6/lib/. Il suffit juste de les recopier dans le bon répertoire (/usr/lib/xorg) :
cp /usr/X11R6/lib/libXvMCNVIDIA* /usr/lib/xorg
cp -R /usr/X11R6/lib/modules* /usr/lib/xorg
B) Installation avec module-assistant
1) Installation de module assistant et de nvidia-kernel-common
On commence par installer module assistant et le récupérer le paquet nvidia :
aptitude install nvidia-kernel-common module-assistant
2) Correction des dépôts
À ce stade si on tente de construire le module, on se prendra très probablement un gros vent (sous lenny). Il dira quelque chose du genre "vérifiez qu'il ne manque pas des dépôts contrib ou free dans sources.list". En effet, pour faire marcher ce paquet sous lenny, il faut pouvoir récupérer certains paquets qui ne sont disponibles qu'en debian sid. Afin de régler le problème on va donc au préalable patcher un peu /etc/apt/sources.list. Voici le contenu du fichier que j'utilise :
deb http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://www.debian-multimedia.org lenny main contrib non-free
deb-src http://www.debian-multimedia.org lenny main contrib non-free
## Dépôts Sid
# priorités spécifiées dans /etc/apt/preferences
deb http://ftp.fr.debian.org/debian/ sid main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ sid main contrib non-free
Ensuite on corrige /etc/apt/preferences pour dire qu'on ne prend les paquets sid que si on ne trouve pas son bonheur dans les paquets lenny (si ce fichier n'existe pas, le créer) :
Package: *
Pin: release o=Debian,a=testing
Pin-priority: 990
Package: *
Pin: release o=Debian,a=unstable
Pin-priority: 90
À présent récupérons et appliquons les mises à jour :
aptitude update
aptitude safe-upgrade
3) Installation du module
Maintenant on amorce l'installation du driver proprement dit :
module-assistant auto-install nvidia
4) Vérifications
Si tout va bien, la commande module-assistant doit se terminer correctement. On peut d'ores et déjà vérifier qu'il se charge correctement :
modprobe nvidia
lsmod | grep nvidia
Au prochain reboot, le module nvidia se chargera automatiquement.
Attention : si le module nvidiafb est chargé, celui-ci peut interférer et empêcher le chargement du module nvidia.
C) Installation automatique avec envy
Le processus d'installation peut être fait automatiquement, voir cette astuce.
D) Installation par make-kpkg
Sous debian, on peut également en profiter pour utiliser make-kpkg. Cette commande permet de construire un paquet debian permettant de déployer un module comme un paquet normal. Cette approche est pertinente si l'on veut par la suite déployer le driver sur d'autres debian utilisant une même version de noyau.
Pour cela :
aptitude install nvidia-kernel-common nvidia-kernel-source
cd /usr/src/linux
make-kpkg modules_image
Cela crée un paquet nvidia-kernel-<VersionDuNoyau>.debdpkg -i nvidia-kernel-<VersionDuNoyau>.deb
aptitude install nvidia-glxAvantages : permet de faire comprendre a debian qu'on a les drivers nvidia installés, ce qui évite l'écrasement de certains fichiers à la mise a jour de xorg par exemple...
Inconvénients : jamais réussi a le faire fonctionner pour une mise a jour des drivers nvidia... : je suis obligé de passer par l'étape précédente : sh NVidia***.run pour une mise a jour
Remarque :Lors d'un changement de noyau, je vous conseille cette dernière méthode, très rapide, et en accord avec la compilation à la sauce debian.
Reconfiguration du serveur X
Correction du fichier de configuration /etc/X11/xorg.conf
On peut utiliser deux méthodes :
1) via nvidia-xconfig
aptitude install nvidia-xconfig
dpkg-reconfigure xserver-xorg
nvidia-xconfig
2) à la main : a priori il suffit de changer dans ce fichier la ligne
Driver "nv"
par :
Driver "nvidia"
Prise en compte des nouveaux drivers
On redémarre le serveur X, et normalement c'est bon ;-) :
/etc/init.d/kdm restart
(Au besoin, remplacer kdm par gdm (gnome) ou xdm).
Vérifications
Pour vérifier que tout est bon, taper avec le profil utilisateur qui a lancé une session graphique les commandes suivantes :
glxinfo | more
glxgears
La première commande doit notamment dire "direct rendering: Yes", et la seconde afficher des roues d'engrenages qui tournent de manière fluide.
Remarque : En cas de souçis on peut toujours utiliser les drivers nv en corrigeant /etc/X11/xorg.conf (remplacer nvidia par nv). Attention alors à bien avoir installé le paquet xserver-xorg-video-nv
Liens utiles
http://wiki.debian.org/...
http://debian-facile.org/forum/viewtopic.php?id=693