Pas Tout A Fait

Aller au contenu | Aller au menu | Aller à la recherche

Installer les drivers NVIDIA manuellement sous Ubuntu

Dernière mise à jour le 30 août 2011

Les pilotes propriétaires s'installent très facilement sous Ubuntu, mais il est pourtant parfois nécessaire de mettre les mains dans le cambouis pour disposer d'une version spécifique ou plus récente. Voici la procédure pour les pilotes NVIDIA de cartes graphiques.

Mise à jour du 30/08/2011 : Cette procédure est toujours valable sur Ubuntu 11.04 « The Natty Narwhal ».

Le logiciel jockey, plus connu sous son label "Pilotes de périphériques" dans le menu Gnome, se charge de vérifier la disponibilité de pilotes pour divers matériels de l'ordinateur, et va les chercher et les installer presque automatiquement, offrant un grand confort à l'utilisateur.

Pour autant, principalement dans le cas des pilotes graphiques, il peut être utile d'aller installer "à la main" les derniers pilotes disponibles sur le site du constructeur de la carte, les pilotes en versions bêta notamment. Voici donc une présentation pas-à-pas de l'installation du pilote NVIDIA 185.19 Beta sur une Ubuntu 9.04.

Ce billet traite uniquement de l'installation sur une Ubuntu 9.04 de la dernière version des drivers NVIDIA bêta. Si votre système fonctionne correctement, il n'est pas recommandé d'installer les drivers en versions bêta. De plus, si vous n'êtes pas à l'aise avec la ligne de commande, et si vous retrouvez sans interface graphique au cours de la procédure est un problème insoluble, réfléchissez bien avant de vous lancer dans la transition vers une version bêta des drivers propriétaires de votre carte graphique NVIDIA.

Même s'il s'agit ici de faire cette installation sur une Ubuntu 9.04, la procédure sur la version 8.10 de cette distribution, ainsi que sur tout OS basé sur Debian est sensiblement similaire, et ne devrait pas demander de grosses adaptations pour être efficace.

C'est parti !

Nvidia-8800-GTS-GTX.jpg


Prendre des précautions

La première chose à faire avant de toucher au serveur graphique est de réaliser une copie de sauvegarde du fichier de configuration xorg.conf. Cette sauvegarde permettra de revenir en arrière en cas de gros pépins sur la route, mais également d'avoir un fichier de référence pour les utilisateurs qui doivent faire des modifications plus subtiles dans le fichier de configuration, en cas de "dual-screen" par exemple.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.old

Ensuite on reconfigure X pour retourner à la configuration de base, sans les pilotes NVIDIA installés par jockey :

sudo dpkg-reconfigure -phigh xserver-xorg

Quitter la session puis ouvrir une nouvelle session peut être utile à cette étape, mais ça n'est pas indispensable. Notez que lors de l'ouverture de la nouvelle session, vous utiliserez les drivers par défaut VESA, et que compiz-fusion ne sera pas actif avec ces drivers. Pas de panique donc.

Si l'ouverture d'une nouvelle session ne fonctionne pas (personnellement j'ai eu droit à un écran noir...), il suffit de remettre le xorg.conf.old en place via une console (CTRL+ALT+F1-F2-...-F6 pour ouvrir une console), de réouvrir une session, de relancer la commande sudo dpkg-reconfigure -phigh xserver-xorg et de ne pas quitter la session avant de poursuivre la procédure.


S'assurer de pouvoir compiler le module du pilote

Pour compiler, il faut disposer des paquets build-essential et des headers du kernel utilisé :

sudo apt-get install build-essential linux-headers-`uname -r`

N'oubliez pas cette étape, sous peine de ne pas pouvoir compiler le module pour votre kernel.


Supprimer les drivers propriétaires installés par jockey

Avec une carte NVIDIA sous Ubuntu, il est fort probable que les drivers propriétaires soient installés lors de la première session X lancée sur la machine. C'est jockey qui s'en charge, avec ce petit message "Nouveaux drivers propriétaires disponibles" qui vous propose d'activer les drivers.

Il faut absolument les désinstaller totalement avant d'aller plus loin, pour éviter les risques de conflits par la suite entre les versions de drivers, conflits qui empêcheront à coup sûr le serveur X de démarrer. Pour faire le ménage :

sudo apt-get --purge remove $(dpkg -l | grep nvidia | awk '{print $2}')
sudo apt-get --purge remove $(dpkg -l | grep xorg | grep nv | awk '{print $2}')

La deuxième ligne de commande enlève les drivers xorg-nv, qui peuvent poser problème sur certaine configuration lors de l'installation des drivers manuellement.


Récupérer les drivers

Pour trouver les pilotes les plus à jour, la page des téléchargements sur le site de NVidia est parfaite.

Il faut maintenant télécharger les drivers pour votre matériel. Il s'agit ici de ne pas se tromper de paquets.

Si votre kernel est de version 2.6.28[1], voici les paquets à télécharger :

  • Pour les systèmes 32 bits :
wget ftp://download.nvidia.com/XFree86/Linux-x86/185.19/NVIDIA-Linux-x86-185.19-pkg1.run -O NVIDIA-Linux-185.pkg.run
  • Pour les systèmes 64 bits :
wget ftp://download.nvidia.com/XFree86/Linux-x86_64/185.19/NVIDIA-Linux-x86_64-185.19-pkg2.run -O NVIDIA-Linux-185.pkg.run

Si vous utilisez un noyau 2.6.29 compilé par vos soin, je pense que vous saurez trouver le bon paquet. ;-)

Maintenant déplacez le paquet dans le répertoire /usr/src, et créez un lien vers celui, qui sera utile par la suite :

sudo install NVIDIA-Linux-185.pkg.run /usr/src
sudo ln -s /usr/src/NVIDIA-Linux-185.pkg.run /usr/src/nvidia-driver

L'installation des drivers

Il faut maintenant quitter la session graphique, ouvrir une console (accessible avec la combinaison CTRL+ALT+F1-F2-...-F6), puis arrêter GDM (ou KDM sous KUbuntu) via cette console avec la commande suivante :

sudo /etc/init.d/gdm stop

Cette dernière action peut demander quelques secondes avant de s'accomplir. Si pour une raison quelconque X ne s'arrête pas, il faut forcer un peu, mais c'est rarement nécessaire. Si besoin de forcer :

sudo killall Xorg

Maintenant que X est arrêter, il est temps d'installer les pilotes :

sudo sh /usr/src/nvidia-driver

Laissez le script compiler les drivers, puis s'offre à vous un choix :

  • Laisser le script reconfigurer le fichier xorg.conf dès maintenant.
  • Ou non, et dans ce cas le reconfigurer soi-même après avoir fait un reboot.

Personnellement j'ai choisi de reconfigurer immédiatement sans rencontrer de problème par la suite, mais ça n'est généralement pas recommandé.

Dans tout les cas, la prochaine étape est simple :

sudo reboot

:-)


Alors, ça marche !?

Retour sous X, ouvrez une session :

  • Si vous avez choisi de reconfigurer votre xorg.conf lors de l'installation des drivers, c'est terminé.
  • Sinon, il faut encore lancer la reconfiguration, puisque la session actuelle utilise les drivers VESA. Pour cela :
sudo nvidia-xconfig

Puis fermez et ouvrer une nouvelle session.

Et voilà, vous devriez utiliser vos nouveaux drivers graphiques. Il est possible que la transition ne se passe pas aussi simplement, et que de petits problèmes apparaissent lors de la première ouverture de session sous les nouveaux drivers.


Mettre à jour automatiquement les modules lors d'un changement de kernel

Lors d'une mise à jour du kernel, les modules compilés lors du l'installation du drivers ne seront plus utilisables par le nouveau kernel, il faudra les recompiler, ce qui peut-être pénible à la longue...

Il est heureusement possible d'automatiser la compilation en cas de mise à jour, et très simplement en plus ! Il faut tout d'abord créer et éditer un nouveau fichier intitulé update-nvidia :

gedit update-nvidia

Copiez dans ce nouveau fichier le script suivant :

#!/bin/bash
#

# Set this to the exact path of the nvidia driver you plan to use
# It is recommended to use a symlink here so that this script doesn't
# have to be modified when you change driver versions.
DRIVER=/usr/src/nvidia-driver


# Build new driver if it doesn't exist
if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then
    echo "NVIDIA driver already exists for this kernel." >&2
else
    echo "Building NVIDIA driver for kernel $1" >&2
    sh $DRIVER -K -k $1 -s -n 2>1 > /dev/null

    if [ -e /lib/modules/$1/kernel/drivers/video/nvidia.ko ] ; then
        echo "   SUCCESS: Driver installed for kernel $1" >&2
    else
        echo "   FAILURE: See /var/log/nvidia-installer.log" >&2
    fi
fi

exit 0

Celui-ci se charge de vérifier la présence ou l'absence des modules du drivers pour votre noyau, et de les compiler s'ils sont absents. Une fois le fichier enregistré, il suffit de lancer les deux commandes suivantes :

sudo mkdir -p /etc/kernel/postinst.d
sudo install update-nvidia /etc/kernel/postinst.d

Et c'est tout, lors du prochain boot après une mise à jour du kernel, les modules seront compilés lors du boot. :-)

790i_SLI_9800_GX2.jpg


Revenir aux drivers de jockey

Pour totalement supprimer l'installation de ces pilotes "à la main", une simple séquence de commande suffit :

sudo nvidia-uninstall
sudo dpkg-reconfigure -phigh xserver-xorg
sudo apt-get install xserver-xorg-video-all
sudo rm /usr/src/nvidia-driver /usr/src/NVIDIA-Linux-185.pkg.run /etc/kernel/postinst.d/update-nvidia

Après avoir lancé ces commandes, jockey proposera à nouveau d'installer les drivers propriétaires une fois que vous aurez relancé X.


Ce billet est une traduction libre des messages suivants sur ubuntuforums.org :

Notes

[1] Pour connaitre la version du kernel, utilisez la commande : "uname -r"

Matthieu Patout

Auteur: Matthieu Patout

Restez au courant de l'actualité et abonnez-vous au Flux RSS

degraff degraff ·  17 décembre 2009, 23:42

Très bon tuto. Merci, çà a marché avec ma GTS250.

Chiassar Chiassar ·  13 février 2010, 01:03

faut pas dire que c'est très simple, si c'est un gros bordel de 12km...

Matthieu Patout Matthieu Patout ·  13 février 2010, 07:27

@Chiassar : Merci à toi, et bon courage pour la suite. ;-)

Gilles Gilles ·  14 août 2010, 15:34

Est-il possible d'installer un driver sans rebooter?

marc marc ·  19 août 2010, 20:50

Hello,

Moi je trouve sincèrement que les tutos sont super ca aide les débutant comme moi qui débute sur Ubuntu par exemple faut le dire le terminal me semble si ....... hostile.
Néanmoins sur le coup j'ai carrément les nerf a vif avec tout ce merdier de pilote a la noix sur un système qui est très intéressant mais si ...... capricieux que la je me décourage d'envoyer sans cesse des kilomètre et des kilomètre de ligne dans le terminal pour au final ne pas parvenir a utiliser ma carte.

Pour info,
Je dispose d'unbuntu 10.04 lts en 64 bit étant donné que je dispose de 4go de mémoire vive.
Je dispose d'une carte Nvidia gtx 280.

Il est pour moi totalement impossible d'installer les pilotes, c'est carrément incroyable.

La méthode par dépôt c'est fichu.
La méthode par envy c'est fichu.
La méthode par .run en installation manuel c'est également fichu.
tuto utiliser sont ici http://doc.ubuntu-fr.org/materiel

Pourtant j'ai suivi les tuto a la lettre plus d'une dizaine de fois chacun j'ai egalement suivi le votre. J'ai même formater le disque dur et recommencer a re suivre les tuto.

Ca reste de la sorcellerie je vous dis dans mon cas je n'ai aucun pilote que ce soit nouveau vesa sauf le nvidia par . run si le xorg est present gel au demarage même avec les astuce pour la résolution de plymouth et si le xorg est absent bas il demare dans la résolution maximum et lorsque je vais pour changer la résolution cela ouvre nvidia settings hourra qui me dis de stopper le server x et de recommencer.

Vous tous qui dites merci super tuto ca marche on dirait mais bordel c'est quoi le secret non de dieux.

Merci a l'auteur du tuto qui en as aidé quelque un ;)

Ajouter un commentaire Fil des commentaires de ce billet

aucune annexe



Voir Aussi

logo-debian.png

Mise à jour automatique avec Cron-APT

Maintenir à jour les logiciels d'un serveur est la première étape d'une bonne politique de sécurité....

Lire la suite

Présentation de Seeks et installation sous Debian Lenny

La recherche sur internet est l'affaire aujourd'hui de quelques grands groupes commerciaux, dominés...

Lire la suite


Découvrez le Nouveau « Pack Liberté »