Ceci est une ancienne révision du document !
Installation manuelle des pilotes propriétaires NVIDIA
Ubuntu 10.04.X
Ubuntu 10.10
C'est le module "nouveau" qui empêcherait l'installation des .run, pour palier à ce problème veuillez :
1) Créez un fichier nommé nvidia-installer-disable-nouveau.conf .
2) Ouvrez le fichier nvidia-installer-disable-nouveau.conf et rajoutez les lignes suivantes :
blacklist nouveau options nouveau modeset=0
3) Déplacez le fichier nvidia-installer-disable-nouveau.conf vers /etc/modprobe.d :
sudo mv /emplacement/du/fichier/nvidia-installer-disable-nouveau.conf /etc/modprobe.d
4) Après avoir installé les headers etc décrit ici bas … redémarrez votre machine et lancez votre NVIDIA-LINUX-X*.run ;) .
Il peut être bon de vérifier que la version présente sur le site de nVidia est effectivement plus récente que celle proposée dans les dépôts avant de se lancer…
MISE A JOUR : les toutes dernières versions des drivers Nvidia proposent, automatiquement et si nécessaire, de créer ce fichier de conf pour le blocage du chargement du module nouveau ! Du coup, la procédure décrite ci-dessus devient obsolète.
Cette page est faite pour vous si :
- vous disposez d'une version 6.06 LTS, 7.10, 8.04 LTS ou 8.10 ;
- vous avez des bogues avec la version des pilotes disponible dans les dépôts ;
- vous disposez d'une carte très récente qui n'est pas prise en charge par la version des pilotes disponible dans les dépôts ;
- vous voulez absolument installer la dernière version des pilotes pour tirer le meilleur de votre carte graphique ou tester les derniers pilotes en version bêta.
Ce tutoriel vous explique comment installer les pilotes propriétaires fournis par nVidia sur son site.
Il fonctionne quelle que soit la version des pilotes que vous souhaitez installer (est décrite ici la procédure pour la dernière version), et quelle que soit l'architecture (32 ou 64 bits) ou l'optimisation de votre noyau (386, generic, etc.).
Pré-requis
Nettoyage de toute trace d'anciens pilotes nVidia installés précédemment, avec les dépôts ou non (sous peine de conflit avec l'installation des nouveaux) :
sudo apt-get remove --purge nvidia*
Cette suppression va induire la suppression du répertoire « /usr/lib/nvidia ». Or la version 64 bits du pilote requiert sa présence pour installer les bibliothèques OpenGL 32 bits. Le programme d'installation et de compilation du pilote signale une erreur s'il n'est pas présent (v.190.18), sans pour autant interrompre l'installation. Pour créer ce répertoire :
sudo mkdir /usr/lib/nvidia
Il existe une alternative pour éviter la suppression des linux-restricted-modules
(utile dans certain cas), cf. §
« Désactivation des pilotes nvidia fourni avec Ubuntu ».
Vérifier et connaître exactement son matériel
Il vous faut déjà vérifier que vous disposez bien d'une carte graphique contenant un GPU nVidia. La procédure est expliquée sur cette page.
Choisir la bonne version des pilotes à installer en fonction de son matériel
Historiquement, nVidia a toujours utilisé des pilotes unifiés pour l'ensemble de ses GPU. Le gros problème vient du fait qu'nVidia arrête le support d'anciens GPU au fur et à mesure de la sortie de nouvelles versions de ses pilotes. Ainsi, le support des vieux GPU (avant GeForce2) s'est arrêté à la version 71.xx de leur pilotes. Ensuite, le support des GeForce 3 et 4 s'est arrêté à la série 96.xx. Et, tout dernièrement, les GeForce FX (de 5e génération) ne sont plus prises en charge dans les pilotes les plus récents.
On ne peut donc plus vraiment parler de pilotes unifiés puisqu'il existe maintenant 4 types de pilotes nvidia (3 pilotes legacy et les derniers supportant le matériel récent). Suivant les versions de ces 4 types de pilotes, il existe donc une grande multitude de pilotes, sans compter le nombre de cartes graphiques nvidia différentes (plus d'une centaine). Ceci est donc loin de nous faciliter la tâche. Vous allez donc devoir choisir la bonne version des pilotes que vous souhaitez installer en fonction de votre matériel.
Le tableau suivant essaie de résumer le plus simplement la situation, surtout vérifiez que votre carte est bien supportée par le pilote que vous souhaitez installer en cliquant sur le lien proposé. Servez-vous aussi du PCI ID de votre carte pour vous y retrouver :
GPU NVIDIA | Nom du pilote | Versions supportées | Liste complète du matériel pris en charge (avec PCI ID) |
---|---|---|---|
TNT, TNT2, GeForce1, certaines GeForce2 | LEGACY | 71.86.xx | http://www.nvidia.com/object/IO_32667.html |
certaines GeForce2, GeForce 3/4 | Special legacy | 96.43.xx | http://www.nvidia.com/object/IO_32667.html |
GeForce FX | Legacy? | 173.14.xx | http://us.download.nvidia.com/XFree86/Linux-x86/173.14.25/README/appendix-a.html |
GeForce 6/7/8/9/GTX | Unifié | 19x.xx | |
GeForce 500, 500M, 400, 400M, 300, 300M, 200, 200M, 100, 100M, 9, 9M, 8, 8M, 7, Go, 7, 6 | 270.41.06 | http://www.nvidia.com/object/linux-display-ia32-270.41.06-driver.html | |
NVS, Quadro, Quadro FX, Quadro Notebook, Quadro FX Notebook, Quadro NVS, Quadro NVS Notebook, Quadro Plex, Quadro G-Sync, Quadro SDI, 1U System, ION, GPU Computing Processor | 270.41.06 | http://www.nvidia.com/object/linux-display-ia32-270.41.06-driver.html |
Pour connaître la version actuellement utilisée :
glxinfo | grep "OpenGL version"
Télécharger les derniers pilotes
Tableau récapitulatif des derniers pilotes disponibles selon la version que vous souhaitez installer ainsi que les liens pointant vers les pages de téléchargement.
Nom du pilote | Dernière Version disponible | Architecture x86 | Architecture x86_64 |
---|---|---|---|
Legacy | 71.86.13 | NVIDIA-Linux-x86-71.86.13-pkg1.run sur cette page | NVIDIA-Linux-x86_64-71.86.13-pkg2.run sur cette page |
Special legacy | 96.43.16 | NVIDIA-Linux-x86-96.43.16-pkg1.run sur cette page | NVIDIA-Linux-x86_64-96.43.16-pkg2.run sur cette page |
Legacy? | 173.14.25 | NVIDIA-Linux-x86-173.14.25.pkg1.run sur cette page | NVIDIA-Linux-x86_64-173.14.25-pkg2.run sur cette page |
Unifié | 195.36.15 | NVIDIA-Linux-x86-195.36.15.pkg1.run sur cette page | NVIDIA-Linux-x86_64-195.36.15-pkg2.run sur cette page |
?? | 270.41.06 | NVIDIA-Linux-x86-270.41.06.run sur cette page | NVIDIA-Linux-x86_64-270.41.06.run sur cette page |
Toutes les version Linux et Unix | Toutes les versions et archives | http://www.nvidia.com/object/unix.html |
On prendra sur cette page l'exemple des pilotes 195.36.15 mais la procédure est la même quelle que soit la version :
Télécharger la dernière version stable des pilotes pour votre architecture sur le site d'nVidia.
Le plus simple est de placer ce fichier dans son répertoire personnel.
Installer les paquets suivants
Pour réaliser la compilation du pilote, il nous faut installer les paquets build-essential, les linux-headers correspondant strictement au noyau utilisé et enfin xserver-xorg-dev.
Donc, taper dans un terminal :
sudo apt-get install build-essential linux-headers-`uname -r` xserver-xorg-dev
Sauvegarde du fichier de configuration du serveur X
Si votre affichage graphique fonctionne correctement à ce stade, je vous conseille donc de sauvegarder le fichier xorg.conf, de manière à pouvoir le restaurer si jamais l'installation échoue par la suite.
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
(Pour restaurer l'ancien fichier en cas de plantage, tapez la commande inverse : sudo cp /etc/X11/xorg.conf.backup /etc/X11/xorg.conf
)
Installation
Passer en mode console sans interface graphique
Fermer votre session. Une fois la session fermée, appuyer sur Ctrl-Alt-F1 pour basculer en mode console plein écran, se loguer, et entrer :
sudo /etc/init.d/gdm stop #(ou sudo /etc/init.d/kdm stop si vous utilisez KDE)
sudo service gdm stop #(ou sudo service kdm stop pour KDE)
si la manipulation ci-dessus ne fonctionne pas pour stopper le serveur x faite :
sudo killall gdm (pour Gnome) # ou sudo killall kdm (pour KDE)
Pour Ubuntu 9.10 Karmic Koala (pour ceux qui rencontrent des problèmes) : redémarrez votre ordinateur et sélectionner le "recovery mode" au menu du grub. Après quelques instants, une boite de dialogue apparaitra : choisissez la ligne de commande en Root (avec ou sans le réseau) et tapez :
telinit 3
avec cette solution le système sera lancé sans gdm ou kdm.
Compiler le pilote
Commençons par se placer dans le répertoire où on a téléchargé le pilote puis il ne reste plus qu'à lancer l'installateur fourni par nvidia qui fera tout le boulot :
cd répertoire_où_se_trouve_le_fichier_téléchargé sudo sh NVIDIA-Linux-x86-195.36.15.pkg1.run #(pour la version 32bits) sudo sh NVIDIA-Linux-x86_64-195.36.15-pkg2.run #(pour la version amd64)
Le programme va vous poser certaines questions :
- Ne pas télécharger un module précompilé sur le ftp de nVidia (de toute façon, il n'en trouvera pas !), l'installateur décidera donc de compiler le module lui-même (ça tombe bien, c'est ce qu'on veut !).
- Sur une version 64 bits, vous pouvez installer les librairies OpenGL32bit si vous utilisez aussi des applications 32bit (ex : CEDEGA)
- Si vous choisissez d'installer les librairies OpenGL 32 bits, il se peut que vous ayez un message d'erreur (non bloquant). Assurez-vous dans ce cas d'avoir installé le paquet ia32-libs.
- Enfin, une fois la compilation terminée, l'installateur nous demande s'il peut configurer automatiquement le serveur X (c'est en fait l'utilitaire nvidia-xconfig), je vous conseille fortement de répondre "oui" à moins de savoir exactement ce que vous faites !! Si vous répondez "non", vous devrez alors configurer manuellement votre fichier xorg.conf (voir le paragraphe suivant).
Pour les plus experts : vous pouvez afficher les nombreuses options de l'installateur en tapant :
sh NVIDIA-Linux-x86-195.36.15.pkg1.run --advanced-options
Configurer le fichier xorg.conf manuellement
(Passez cette étape si vous avez répondu "oui" à la configuration automatique du serveur X, vous pouvez quand même vérifier ce qui suit)
sudo nano /etc/X11/xorg.conf
Dans la Section « Module » : Commenter les lignes Load "dri" et Load "Glcore" si elles existent et ajouter la ligne Load "glx" si elle n'existe pas. On doit avoir un fichier qui doit ressembler à ceci (c'est un extrait de mon fichier, le vôtre peut être légèrement différent) :
Section "Module" Load "bitmap" Load "dbe" Load "ddc" #Load "dri" #Load "GLcore" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "record" Load "type1" Load "vbe"
Vous pouvez aussi supprimer la section "DRI" qui ne sera plus utilisée.
Dans la Section « Device » : Remplacer la ligne Driver "nv" par Driver "nvidia".
Section "Device" Identifier "Le_nom_de_votre_carte_graphique_nvidia" Driver "nvidia" BusID "le_busid_de_votre_carte" EndSection
Faire Ctrl+O pour sauvegarder et Ctrl+X pour quitter.
Pour plus d'informations ou pour activer d'autres options pour les pilotes, lire le README fourni par nVidia.
Désactivation des pilotes NVIDIA fournis avec Ubuntu
- Ubuntu inclut des morceaux du pilote Nvidia qui entrent en conflit avec le pilote à installer. Il est nécessaire de les supprimer. Desinstallez les paquet contenant du nvidia (
nvidia-glx
ounvidia-glx-legacy
ounvidia-glx-new
,nvidia-settings
). - Il faudrait ensuite désinstaller le paquet
nvidia-kernel-common
mais le paquetlinux-restricted-modules
est dépendant de celui-ci (car ce paquet contient des modules pour les pilotes nVidia qui entreront en conflit avec la nouvelle version que vous souhaitez installer). Or le paquetlinux-restricted-modules
contient aussi des modules pour certaines carte wifi ou carte TNT par exemple donc il est souhaitable de le garder.
Il vous faut ajouter la ligneDISABLED_MODULES="nv"
au fichier /etc/default/linux-restricted-modules-common (nécessite les droits d'administrateur). Les explications : il faut empêcher le lrm-manager (gestionnaire linux-restricted-module lancé à chaque démarrage) de créer un module (volatile) qui sera chargé à la place du nouveau module souhaité (/lib/modules/`uname -r`/volatile/nvidia.ko serait chargé à la place de /lib/modules/`uname -r`/kernel/drivers/video/nvidia.ko).
Redémarrer la session graphique
sudo /etc/init.d/gdm start #(ou sudo /etc/init.d/kdm start si vous utilisez KDE)
sudo service gdm start
Le logo nVidia doit apparaître au démarrage de X (il est souvent nécessaire de redémarrer la machine pour faire apparaître ce fameux logo).
En cas de plantage de X au démarrage, vous pouvez toujours revenir à votre précédente configuration car vous avez sauvegardé votre fichier de configuration (voir plus haut).
Nota : Pour éviter des problèmes lors d'un changement de noyau, vous pouvez automatiser la procédure de recompilation : Compilation automatique des pilotes nvidia.run lors des mises a jour de noyau (kernel Linux)
Autre méthode : installation automatique par ENVY
Il existe maintenant une page du wiki entièrement dédié à Envy ! Rendez-vous ici.
Pilote BÊTA
Il existe actuellement les pilotes Bêta 195.30 qui ajoutent le support de CUDA 2.3, et des corrections du système VDPAU pour ceux que ça intéresse !
Rendez-vous ici pour les pilotes 32 bits et là pour la version amd64.
Configuration
Configuration avancée
Une fois l'interface graphique démarrée, vous pouvez effectuer quelques réglages de votre pilote grâce à une interface graphique.
Allez dans Applications → Outils Système et cliquez sur « NVIDIA X Server Settings » pour une configuration avancée.
Si vos paramètres ne sont pas enregistrés, dans un terminal, tapez :
gksudo nvidia-settings # gnome ou xfce
kdesudo nvidia-settings # KDE
Activer l'overcloking via les coolbits.
Depuis la sortie des pilotes 1.0-7664, nvidia a intégré l'overcloking coolbits qui permettent ainsi de modifier dans nvidia-setting la fréquence de la ram et du cpu
pour l'activer c'est très simple
rendez vous dans le fichier xorg.conf puis dans la section qui concerne la carte graphique , ajouter :
Option "Coolbits" "1"
et c'est tout , redémarrez le serveur X et vous trouverez une nouvelle option dans nvidia-setting
Configuration SLI
Il semblerai que depuis Ubuntu 8.10 la détection des cartes lors de l'installation du pilote échoue
Une page est dédié à ce problème : Nvidia et SLI
Options d'optimisation
La mise en place de ces éléments est totalement optionnelle.
Activation du AGP FW et SBA
Il est utile de vérifier dans le BIOS du PC si il y a une référence aux AGP FW/SBA activables pour le chipset.
Pour des raisons évidentes de stabilité, nVidia a désactivé le support du Fast Writes (FW) et du Side Band Addressing (SBA) dans son pilote. De plus, le gain en performance n'est pas garanti et dépend d'un système à l'autre.
En cas de doute, il est possible, a posteriori, de connaître la compatibilité de votre système. Il faut d'abord installer le pilote normalement, comme indiqué plus bas.
Ensuite, la compatibilité de la carte est révélée par la commande :
cat /proc/driver/nvidia/agp/card
La compatibilité du chipset est indiquée par:
cat /proc/driver/nvidia/agp/host-bridge
Si votre chipset est compatible, il est possible d'activer définitivement ce support dans le module (hard-coded).
Il faut pour cela décompresser l'archive du pilote afin de modifier un fichier source.
NVIDIA-Linux-x86-100.14.19-pkg1
sh NVIDIA-Linux-x86-100.14.19-pkg1.run --extract-only cd NVIDIA-Linux-x86-100.14.19-pkg1
Ouvrir le fichier "os-registry.c"
nano usr/src/nv/os-registry.c
Chercher et modifier (selon le support de votre chipset) les lignes contenant les chaînes suivantes :
static int NVreg_EnableAGPSBA = 0; static int NVreg_EnableAGPFW = 0;
Pour activer, il suffit de changer le (ou les) « 0 » en « 1 ». Sauvegarder le fichier.
NVIDIA-Linux-x86-169.07-pkg1
sh NVIDIA-Linux-x86-169.07-pkg1.run --extract-only cd NVIDIA-Linux-x86-169.07-pkg1
Ouvrir le fichier "nv-reg.h"
nano usr/src/nv/nv-reg.h
Chercher et modifier (selon le support de votre chipset) les lignes contenant les chaînes suivantes :
NV_DEFINE_REG_ENTRY(__NV_ENABLE_AGPSBA, 0); NV_DEFINE_REG_ENTRY(__NV_ENABLE_AGPFW, 0);
Pour activer, il suffit de changer le (ou les) « 0 » en « 1 ».
pour les deux versions
Optionnel : Vérification de la présence d'une version antérieure du pilote nVidia :
sudo ./nvidia-installer -i
Si c'est le cas, on désinstalle avec :
sudo ./nvidia-installer --uninstall
On compile et installe ensuite avec :
sudo ./nvidia-installer [-a]
Après un redémarrage du système, l'activation est vérifiable grâce à la commande:
cat /proc/driver/nvidia/agp/status
Désinstallation du pilote
Pour désinstaller ces pilotes propriétaires, repassez en mode console plein écran et stoppez gdm comme expliqué plus haut puis placez-vous dans le répertoire où est téléchargé le fichier et taper :
cd répertoire_où_est_le_pilote_.run sudo sh NVIDIA-Linux-x86-195.36.15.pkg1.run --uninstall #pour la version 32 bits sudo sh NVIDIA-Linux-x86_64-195.36.15-pkg2.run --uninstall #pour la version amd64
Liens
Contributeurs principaux : Lestat the vampire, Id2ndR (Désactivation des pilotes NVIDIA fourni avec Ubuntu), Chester, BeAvEr