[Tuto][Debian] Drivers nvidia + Xorg7 [Résolu/Fermé]

Signaler
Messages postés
29732
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 avril 2021
-
 keb -
Hello à tous

Pour les gens qui viennent de passer en Xorg7, qui possèdent une carte nvidia, et qui souhaitent installer le driver propriétaire, il faut prendre quelques précautions :
- le paquet debian actuel semble n'être pas encore corrigé pour prendre en compte le changement d'arborescence de Xorg
- le fichier d'installation du site nvidia non plus.
Ayant eu quelques difficultés à localiser le problème, je me suis dit qu'un petit post ne ferait pas de mal :p

Voici la procédure que j'ai suivi :
1) Aller sur :
https://www.nvidia.fr/object/linux_display_ia32_1.0-8762_fr.html et télécharger :
http://download.nvidia.com/XFree86/Linux-x86/1.0-8762/NVIDIA-Linux-x86-1.0-8762-p...

2) Si vous utilisez un kernel de http://www.kernel.org, vérifiez que le lien /usr/src/linux pointe sur vos sources de noyaux. Si vous utilisez une linux_image, pensez à installer les bons kernel headers même si le script d'installation nvidia est sensé s'en charger.

3) En root :
chmod +x NVIDIA-Linux-x86-1.0-8762-pkg1.run
./NVIDIA-Linux-x86-1.0-8762-pkg1.run


4) 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


5) Il ne reste plus qu'à reconfigurer le serveur X :
dpkg-reconfigure xserver-xorg
nvidia-xconfig

6) On redémarre le serveur X, et normalement c'est bon ;) :
/etc/init.d/kdm restart

7) Pour vérifier que tout est ok (la première commande doit notamment dire "direct rendering: Yes":
glxinfo | more
glxgears

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

@+ et bonne chance

5 réponses

Messages postés
29732
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 avril 2021
7 072
Introduction

Ce que j'ai dit dans le post <1> n'est aujourd'hui plus d'actualité. Ca servait du temps ou le script Nvidia ne prenait pas en compte la nouvelle arborescence de X11, depuis ça a été réglé. Comme il reste cependant quelques soucis (en tout cas moi j'en ai eu :p) je vais donner la démarche sous debian. Les personnes ayant une ubuntu peuvent suivre ce tutoriel, il faudra juste précéder chaque commande à lancer en root d'un sudo.

Voici la configuration que j'ai utilisé pour ce tutoriel (sachant que ça marche chez moi)
- debian lenny,
- carte nvidia 6600GT,
- noyau 2.6.18-4-686,
- driver nvidia NVIDIA-Linux-x86-100.14.11-pkg1.run,
- gcc 4.1.3,
- xserver-xorg 1:7.2-5

Installation

1) Vérifier au préalable que tu as installé les paquets requis pour installer le driver, ie gcc, g++, make les linux headers de ton noyau. En root :
aptitude install linux-headers-`uname -r` make gcc g++

On pourra éventuellement en profiter pour mettre un linux-image (et son linux-header) plus récent.

2) A partir de maintenant il est important de rebooter (si nécessaire) sur le noyau pour lequel les drivers nvidia doivent être installés. Ceci s'adresse aux personnes qui ont décidé de mettre à jour leur linux-image, il est maintenant temps de l'inaugurer.

3) Créer en root un lien /usr/src/linux qui va pointer sur les bons headers
rm /usr/src/linux
ln -s /usr/src/linux-headers-`uname -r` /usr/src/linux

4) Télécharger le driver nvidia (a priori linux x86) sur https://www.nvidia.com/Download/index.aspx?lang=en-us
et noter le répertoire dans lequel on la téléchargé (on va en avoir besoin à l'étape 5).
Si ce n'est pas déjà fait quitter la session graphique. Passer en mode texte (ctrl alt f1), se logguer en root. Eteindre le serveur X
/etc/init.d/kdm stop

Si cette commande ne marche pas c'est sûrement qu'un autre gestionnaire de connexion est utilisé (gdm ou xdm par exemple). Pour voir ce qu'il en est :
ls /etc/init.d/*dm

5) Une fois le serveur X éteint, on peut installer le driver Nvidia.
cd /le/repertoire/du/script/nvidia
chmod +x NVIDIA-Linux-*.run
./NVIDIA-Linux-*.run

6) Le script va tenter de télécharger un driver pour le noyau lancé (et échouer). Vu qu'il ne va pas y arriver il va compiler deux trois trucs (d'où la nécessité d'avoir installé gcc, make) relatifs à notre noyau (d'où la nécessité d'avoir installé les headers). A la fin il devrait dire que tout à marché et qu'il va corriger /etc/X11/xorg.conf (accepter qu'il le corrige).

7) En particulier il faut vérifier dans les logs nvidia que tout s'est bien passé, et que /etc/X11/xorg.conf utilise bien le driver nvidia et pas nv. Exemple chez moi :
...
Section "Device"
        Identifier      "nVidia Corporation NV43 [GeForce 6600 GT]"
        Driver          "nvidia"
        BusID           "PCI:3:0:0"
EndSection
...


8) Il ne reste plus qu'à relancer le serveur X
/etc/init.d/kdm restart

Au besoin, pour repasser en mode graphique (ctrl alt f7).

Vérifier que tout est en ordre

Si le logo nvidia est apparu c'est gagné. De plus le direct rendering doit desormais être actif. Pour vérifier taper en mode graphique (ctrl alt f7) :
(mando@aldur) (~) $ glxinfo | grep -i rendering
direct rendering: Yes


Patcher le script nvidia-glx

9) Si au reboot suivant le serveur X ne se lance pas, pas d'affolement, j'ai eu le problème également. Apparemment le script /etc/init.d/nvidia-glx fait un peu n'importe quoi (enfin c'est mon impression) et nécessite un petit patch. Passer en mode texte (ctrl alt f1) et passer en root. Modifier ce fichier par exemple avec nano ou vim. Au besoin en installer un. En root :
aptitude install nano
nano /etc/init.d/nvidia-glx

10) Corriger dans le bas du fichier la section suivante, en rajoutant des # en début de ligne :
...
case "$1" in
  start|restart|reload|force-reload)
#    if [ "$USE_TLS" = "1" ]
#    then
#      setup_links
#    elif [ "$USE_TLS" = "0" ]
#    then
#      remove_links
#    fi
#    rm -f  /usr/lib/libGL.so || true
#    if [ -L /usr/lib/nvidia/libGL.so.xlibmesa ] && [ -d /usr/share/doc/libgl1-mesa-dev ] ; then
#       ln -s /usr/lib/nvidia/libGL.so.1.2.xlibmesa /usr/lib/libGL.so
#    fi
#    if [ -d /usr/share/doc/nvidia-glx-dev ] ; then
#        ln -s /usr/lib/libGL.so.1.0.8776 /usr/lib/libGL.so
#    fi
   ;;

  stop)
    :
    ;;

  *)
    echo "Usage: /etc/init.d/nvidia-glx {start|stop|restart|reload|force-reload}"
    exit 1
    ;;
esac

exit 0

Il y a peut être plus fin mais chez moi ça marche :p et d'un point de vue personnel je trouve un peu discutable de regarder la présence de fichier de doc pour gérer les librairies (il y a sûrement une bonne raison mais en tout cas je ne vois pas laquelle). Un petit reboot (ctrl alt suppr) et tout devrait rentrer dans l'ordre.

Toute remarque est évidemment la bienvenue.

Bon courage
2
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 853
Salut mamie,

Merchi ;-))

PS. t'aurais pu coller ça dans la base de connaissances de CCM : 373 x window
Messages postés
29732
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 avril 2021
7 072
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 853
Merchi ;-))

PS. Promis, vu la vitesse à laquelle tu as fait ça, je t'appellerai plus jamais "mamie" ;-DDDDDDDDDDDDDDDDDDDDD
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 532 >
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020

Salut,

il faut ajouter dans ton vocabulaire Miss

lami20j
Messages postés
29732
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 avril 2021
7 072
:-)
Salut

Je suis sous debian SID avec un portable HP. J'aimerais utiliser l'acceleration graphique avec ma carte Nvidia GeForce 7600.

J'ai tente pas mal de chose dont l'installation avec le .run de nvidia, et je rencontre le meme soucis.

C'est a dire que juste apres l'installation si je relance X, c'est nickel. Mais si je reboot, ca ne marche plus... J'ai donc essaye de commenter les lignes indiquees dans nvidia-glx, mais ca n'a pas donne le resultat que j'esperait.


Keb