Date de publication: le jeudi 26 mai 2011 à 21h29
Dernière modification: par Pascal BOYER le dimanche 29 mai 2011 à 21h49
« Article précédent: APT : gérer les packages debian
» Article suivant: nvidia : compiler et installer le driver nvidia
Table des matières
- nVidia : installation des drivers propriétaires sous Debian squeeze
- xorg.conf & mesa-utils : configuration du serveur X + test accélération 3D OpenGL
- nvidia-settings : Configuration graphique de la résolution de l'écran
- nvidia-kernel-dkms : compilation automatique des drivers
- nvclock : overclocker sa carte graphique
- nVidia : mettre à jour le driver propriétaire sous Debian Squeeze
Depuis le passage à la version stable Debian Squeeze, j'ai rencontré, à l'instar de nombreux utilisateurs, un gros problème de prise en charge de ma carte graphique GeForce 8500 GT [rev 161] par le driver propriétaire nvidia .
Après installation de Debian Squeeze, le noyau 2.6.32-5-amd64 propose (et utilise) le driver libre nouveau, driver qui remplace l'ancien driver libre «nv» pour la gestion des cartes nVidia.
Alors que pendant plus de 5 ans j'avais pris l'habitude de compiler manuellement les drivers NVIDIA-Linux-x86_64-xxx.yy.zz.run, voilà que tout à coup, cette méthode aboutissait à un résultat bancale. À contrario, et hormis l'absence de prise en charge de l'accélération matérielle, le driver «nouveau» installé par défaut fonctionnait tout à fait bien.
Après de nombreuses recherches sur le web et de multiples tentatives d'installations du pilote propriétaire nvidia à la sauce Debian, méthode que de nombreux sites/forums recommandent et qualifient de, désormais, seule et unique méthode à retenir, j'ai fini par réaliser une installation fonctionnelle de ce driver.
La documentation que je vous propose ici n'est donc rien d'autre qu'un effort de regrouper l'ensemble de toutes les informations que j'ai glanées ici et là afin d'en faire un tutoriel que j'espère aussi complet que possible et qui vous guidera sans encombre au succès de la prise en charge de votre carte graphique.
Contexte de départ
Personnellement, j'avais au départ une installation Debian Squeeze toute fraîche avec un driver «nouveau» en parfait état de fonctionnement. Mon écran IIYAMA Prolite B2403WS était donc géré dans sa résolution maxi de 1920x1200 pixels.
Par ailleurs, aucun package autres que ceux de la version Squeeze n'étaient présents sur ma machine.
Suppression des anciens drivers nVidia
Si vous avez déjà procédé à une tentative d'installation du driver propriétaire, vous devez commencer par en éliminer toute trace afin de repartir sur de saines bases.
Cas N°1
Vous avez installé les drivers nvidia par le biais d'un exécutable NVIDIA-Linux-x86_64-xxx.yy.zz.run. Auquel cas, vous procèderez à sa désinstallation avec la commande:
NVIDIA-Linux-x86_64-xxx.yy.zz.run --uninstall
Vous pouvez également vérifier qu'il n'y a plus trace de fichiers *nvivia* dans les modules de vos noyaux et les supprimer le cas échéant:
find /lib/modules/ -name "*nvidia*" -delete
ou pour le noyau courant uniquement:
find /lib/modules/`uname -r` -name "*nvidia*" -delete
Cas N°2
Vous avez installé les drivers nvidia par le biais des packages debian.
Affichez la liste des packages relatifs à nVidia:
dpkg -l |grep nvidia
Puis vous les supprimez avec la commande:
dpkg -P <nom_package_1> <nom_package_2> <nom_package_3> etc...
...jusqu'à ce que la commande dpkg -l |grep nvidia ne renvoie plus rien.
Installation provisoire du driver nouveau
Cette étape ne sert qu'à s'assurer, qu'après avoir supprimé toute trace du driver propriétaire nvidia, vous continuiez à bénéficier de l'accès à votre environnement graphique le temps de finir la procédure en cours.
Pour revenir au driver nouveau, vous devez installer ces trois packages:
- xserver-xorg-video-all
- xserver-xorg-video-nouveau
- libdrm-nouveau1
Puis, dans la section Section "Device" de votre fichier /etc/X11/xorg.conf, modifiez la ligne:
Driver "nvidia"
en
Driver "nouveau"
À présent, vous pouvez, soit redémarrer votre machine, soit vous déconnecter de votre environnement graphique (gnome ou kde par exemple) puis recharger le serveur X à partir du menu disponible sur la page de login/connexion. Reconnectez-vous alors et contrôlez que c'est bien le driver nouveau qui est utilisé:
lsmod |grep nouveau
Vérifiez également qu'il n'y a plus trace du module nvidia:
lsmod |grep nvidia
Si la commande ci-dessus renvoie quelque chose, alors vous devez supprimer le module:
rmmod -f nvidia
Installer le driver nvidia à la sauce Debian
:
Bien que je dispose de la version stable de Debian, ce sont les drivers propriétaires de la version unstable que je vais installer. Mais comme vous allez le voir, cela ce passe en douceur et sans devoir mettre à jour toute la distribution. On peut donc considérer que la cohésion du système est maintenue.
Si je vous propose d'installer la version unstable des drivers nVidia, c'est bien évidemment pour profiter des versions les plus récentes de ces pilotes.
Modifier le fichier sources.list
Pour accéder aux packages de la version unstable de Debian, il est d'abord nécessaire d'ajouter les deux lignes ci-dessous au fichier /etc/apt/sources.list:
deb http://ftp.fr.debian.org/debian/ unstable contrib non-free main deb-src http://ftp.fr.debian.org/debian/ unstable contrib non-free main
Puis on met à jour apt:
apt-get update
Le package gcc-4.3
Pour éviter tout message d'erreur ultérieur, il est préférable d'installer cette version du compilateur:
apt-get install gcc-4.3
Le package nvidia-kernel-common
Indispensable à l'installation ultérieure du package nvidia-kernel-source, c'est la version unstable du package nvidia-kernel-common qu'il va falloir installer. Mais pour une raison inconnue, ce package n'est pas chez moi disponible à partir de apt-get. J'ai donc téléchargé ce package directement sur cette page du site de Debian :
puis on choisit soit la version i386 soit la version amd64 en fonction de son environnement. À l'heure d'écrire ces lignes, la version du package est 20110515+1.
La commande ci-dessous permet d'installer ce package:
dpkg -i /chemin/vers/emplacement/nvidia-kernel-common_20110515+1_amd64.deb
Les sources/en-tête du noyau
Il est maintenant nécessaire d'installer les sources de votre noyau courant.
:
Normalement, la commande m-a prepare (voir plus bas) devrait télécharger automatiquement ce package. Il s'avère que chez moi cela n'est pas le cas. Voici d'ailleurs les premières lignes renvoyées par la commande m-a prepare:
Récupération des sources du noyau de la version : 2.6.32-5-amd64 <======== ICI RECHERCHE DES HEADERS DU NOYAU COURANT En-têtes du noyau disponibles dans /usr/src/linux Création du lien symbolique... Impossible de créer le lien symbolique /usr/src/linux. <===== ERREUR
On fait donc le travail à la main ;-)
Cette première commande affiche les images noyau installées sur votre machine:
dpkg -l |grep linux-image
ii linux-image-2.6-amd64 2.6.32+29 Linux 2.6 for 64-bit PCs (meta-package) ii linux-image-2.6.26-2-amd64 2.6.26-26lenny2 Linux 2.6.26 image on AMD64 ii linux-image-2.6.32-5-amd64 2.6.32-34squeeze1 Linux 2.6.32 for 64-bit PCs ii linux-image-2.6.38-bpo.2-amd64 2.6.38-3~bpo60+1 Linux 2.6.38 for 64-bit PCs
Cette autre commande affiche la version courante du noyau:
uname -r
2.6.32-5-amd64
Rechercher le package des sources:
apt-cache gencaches
apt-cache search linux-headers
linux-headers-2.6-amd64 - Header files for Linux 2.6-amd64 (meta-package) linux-headers-2.6-openvz-amd64 - Header files for Linux 2.6-openvz-amd64 (meta-package) linux-headers-2.6-vserver-amd64 - Header files for Linux 2.6-vserver-amd64 (meta-package) linux-headers-2.6-xen-amd64 - Header files for Linux 2.6-xen-amd64 (meta-package) linux-headers-2.6.32-5-all-amd64 - All header files for Linux 2.6.32 (meta-package) linux-headers-2.6.32-5-all - All header files for Linux 2.6.32 (meta-package) linux-headers-2.6.32-5-amd64 - Header files for Linux 2.6.32-5-amd64 <======== C'EST DONC CELUI-CI QU'IL FAUT INSTALLER linux-headers-2.6.32-5-common-openvz - Common header files for Linux 2.6.32-5-openvz linux-headers-2.6.32-5-common-vserver - Common header files for Linux 2.6.32-5-vserver linux-headers-2.6.32-5-common-xen - Common header files for Linux 2.6.32-5-xen linux-headers-2.6.32-5-common - Common header files for Linux 2.6.32-5 linux-headers-2.6.32-5-openvz-amd64 - Header files for Linux 2.6.32-5-openvz-amd64 linux-headers-2.6.32-5-vserver-amd64 - Header files for Linux 2.6.32-5-vserver-amd64 linux-headers-2.6.32-5-xen-amd64 - Header files for Linux 2.6.32-5-xen-amd64 linux-headers-2.6.38-bpo.2-all-amd64 - All header files for Linux 2.6.38 (meta-package) linux-headers-2.6.38-bpo.2-all - All header files for Linux 2.6.38 (meta-package) linux-headers-2.6.38-bpo.2-amd64 - Header files for Linux 2.6.38-bpo.2-amd64 linux-headers-2.6.38-bpo.2-common - Common header files for Linux 2.6.38-bpo.2
L'installation des sources est réalisée avec la commande:
apt-get install linux-headers-2.6.32-5-amd64
Le package module-assistant
Présentation rapide de ce package:
L'outil module-assitant (aussi connu en tant que m-a) aide les utilisateurs et les mainteneurs dans la gestion des modules externes au noyau et packagés pour Debian. Il permet: - d'automatiser la préparation de l'environnement pour la compilation des modules (eg. détection et installation automatique des sources/en-têtes du noyau) - d'automatiser le téléchargement des sources des modules - de configurer et garder une trace des packages de modules construits en local ou en externe - de semi-automatiser les compilations multiples pour de multiples versions de noyaux
apt-get install module-assistant
Le package build-essential
Ce package est automatiquement installé lors de l'installation du précédent package module-assistant.
Terminer l'installation des drivers nvidia
m-a prepare
m-a clean nvidia-kernel
On installe à présent une version unstable:
apt-get install -t unstable nvidia-kernel-source <====== S'INSTALLE TRÈS BIEN SUR UNE VERSION SQUEEZE
m-a a-i -i nvidia-kernel-source
L'option a-i est la contraction de auto-install et signifie «télécharger les sources du module, les compiler pour le noyau en cours puis installer le module».
On contrôle l'effet de la commande ci-dessus:
find /lib/modules/`uname -r` -type f -name "*nvidia*"
/lib/modules/2.6.32-5-amd64/nvidia/nvidia.ko /lib/modules/2.6.32-5-amd64/kernel/drivers/video/nvidia/nvidiafb.ko /lib/modules/2.6.32-5-amd64/kernel/drivers/video/backlight/mbp_nvidia_bl.ko
Le driver propriétaire nvidia.ko est donc bien présent et n'attend que d'être utilisé !
Le package nvidia-glx
On installe la version unstable du package:
apt-get -t unstable install nvidia-glx <====== S'INSTALLE TRÈS BIEN SUR UNE VERSION SQUEEZE
La commande ci-dessus installe les 7 packages suivants:
- nvidia-installer-cleanup amd64 20110515+1
- libgl1-nvidia-alternatives amd64 270.41.06-1
- libgl1-nvidia-glx amd64 270.41.06-1
- libglx-nvidia-alternatives amd64 270.41.06-1
- nvidia-glx amd64 270.41.06-1
- libvdpau1 amd64 0.4.1-2
- nvidia-vdpau-driver amd64 270.41.06-1
La dernière étape, article suivant, est la création du fichier de configuration du serveur X, à savoir le fichier /etc/X11/xorg.conf
Table des matières
- nVidia : installation des drivers propriétaires sous Debian squeeze
- xorg.conf & mesa-utils : configuration du serveur X + test accélération 3D OpenGL
- nvidia-settings : Configuration graphique de la résolution de l'écran
- nvidia-kernel-dkms : compilation automatique des drivers
- nvclock : overclocker sa carte graphique
- nVidia : mettre à jour le driver propriétaire sous Debian Squeeze














