29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don

Luxpopuli / Système / Debian / nVidia : installation des drivers propriétaires sous Debian squeeze





Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

nVidia : installation des drivers propriétaires sous Debian squeeze

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

  1. nVidia : installation des drivers propriétaires sous Debian squeeze
  2. xorg.conf & mesa-utils : configuration du serveur X + test accélération 3D OpenGL
  3. nvidia-settings : Configuration graphique de la résolution de l'écran
  4. nvidia-kernel-dkms : compilation automatique des drivers
  5. nvclock : overclocker sa carte graphique
  6. 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:

  1. xserver-xorg-video-all
  2. xserver-xorg-video-nouveau
  3. 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

  1. nVidia : installation des drivers propriétaires sous Debian squeeze
  2. xorg.conf & mesa-utils : configuration du serveur X + test accélération 3D OpenGL
  3. nvidia-settings : Configuration graphique de la résolution de l'écran
  4. nvidia-kernel-dkms : compilation automatique des drivers
  5. nvclock : overclocker sa carte graphique
  6. nVidia : mettre à jour le driver propriétaire sous Debian Squeeze

Commentaires

  • merci

    Merci !!!

    Je me suis décidé cet après-midi à migré d'Ubuntu à Débian.
    Seulement, impossible d'avoir un affichage correcte, et pas plus d'installer ces foutus drivers Nvidia, malgré la doc du wiki debian.

    Ce document est salvateur !

    Bravo, et encore merci !

    2ème impression

    Bonjour,

    La 2ème impression a confirmé la première : ce document clair et très complet permet d'installer les drivers nvidia avec accélération matérielle sous Debian Squeeze sans problème.

    Une petite remarque : le driver nvidia-glx ne supporte que les cartes graphiques nvidia récentes.

    Si, comme dans mon cas, vous possédez une carte préhistorique (GeForce4 MX 420), vous devez utiliser le driver nvidia-glx-legacy-96xx. (apt-get remove nvidia-glx ; apt-get install nvidia-glx-legacy-96xx)
    Vous devez déterminer sur le site web nvidia (http://www.nvidia.fr/Download/Find.aspx?lang=fr) quel driver supporte votre carte : menu Pilotes - Pilotes bêta et pilotes archivés. Dans mon cas, la ligne "Linux Display Driver Version 96.43.19" m'indique que je dois utiliser le driver nvidia-glx-legacy-96xx.
    Au pire, si vous vous installez un driver inadapté, vous ne pourrez pas lancer X, et le journal /var/log/kern.log vous indiquera quelle version du driver supporte votre carte.

    Un grand merci à l'auteur du tutoriel, et à bientôt pour la sortie de la prochaine distribution Debian stable ;-)

    Lucien

    première impression

    Bonsoir,

    Le moins que l'on puisse dire est que la première impression est bonne !

    Qualité de la rédaction irréprochable, explications complètes, mine d'informations.

    Etant moi-même en train de galérer suite à la mise à jour de Lenny vers Squeeze avec une GeForce4 MX 420, je vais m'empresser d'utiliser ce tutoriel pour me sortir du bourbier dans lequel je me suis fourré.

    A suivre . . .