[[nvidia.run]]
Piste: » nvidia.run
Installation manuelle des pilotes propriétaires NVIDIA
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 ...
Cette page est faite pour vous si:
- vous disposez d'une version Dapper, Edgy, Feisty ou Gutsy
- 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 drivers disponible dans les dépôts
- vous voulez absolument installer la dernière version des pilotes pour tirer le meilleur de votre carte graphique
Ce tutoriel vous explique comment installer les drivers propriétaires fournis par nVidia sur son site.
Il fonctionne quelle que soit la version des pilotes que vous souhaitez installer (je décris ici la procédure pour la dernière version), et quelle que soit l'architecture (32 bits ou AMD64) ou l'optimisation de votre noyau (386, generic, etc).
Prérequis avant l'installation
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 drivers. Ainsi, le support des vieux GPU (avant GeForce2) s'est arrêté à la version 7xxx de leur drivers et, tout dernièrement, le support des GeForce 3 et 4 vient de s'arrêter dans la nouvelle série 97xx. On ne peut donc plus vraiment parler de pilotes unifiés puisque qu'il existe maintenant 3 types de drivers nvidia (Legacy, Special legacy et les derniers supportant le matériel récent). Suivant les versions de ces 3 types de drivers, il existe donc une grande multitude de drivers, sans compter le nombre de cartes graphiques nvidia différentes (plus d'une centaine). Ceci est donc loin de nous faciliter la tache. Vous allez donc devoir choisir la bonne version des drivers 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 driver 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 driver | Versions supportées | Liste complète du matériel pris en charge (avec PCI ID) |
|---|---|---|---|
| TNT, TNT2, GeForce1, certaines GeForce2 | LEGACY | 1.0-7xxx | http://www.nvidia.com/object/IO_32667.html |
| certaines GeForce2, GeForce 3/4 | Special legacy | 1.0-96xx | http://www.nvidia.com/object/IO_32667.html |
| GeForce FX/6/7/8 | Unifié | 169.12 | http://us.download.nvidia.com/XFree86/Linux-x86/169.12/README/appendix-a.html |
Pour connaître la version actuellement utilisée
glxinfo | grep "OpenGL version"
Télécharger les derniers drivers
Tableau récapitulatif des derniers drivers disponibles selon la version que vous souhaitez installer ainsi que les liens pointant vers les pages de téléchargement.
| Nom du driver | Dernière Version disponible | Architecture x86 | Architecture x86_64 |
|---|---|---|---|
| Legacy | 71.86.01 | NVIDIA-Linux-x86-71.86.01-pkg1.run sur cette page | NVIDIA-Linux-x86_64-71.86.01-pkg2.run sur cette page |
| Special legacy | 96.43.01 | NVIDIA-Linux-x86-96.43.01-pkg1.run sur cette page | NVIDIA-Linux-x86_64-96.43.01-pkg2.run sur cette page |
| Unifié | 169.12 | NVIDIA-Linux-x86-169.12.pkg1.run sur cette page | NVIDIA-Linux-x86_64-169.12-pkg2.run sur cette page |
On prendra sur cette page l'exemple des drivers 169.12 mais la procédure est la même quelle que soit la version :
Télécharger la dernière version stable des drivers pour votre architecture sur le site d'nVidia.
Pour la version 32 bits, télécharger le fichier nommé NVIDIA-Linux-x86-169.12-pkg1.run sur cette page.
Pour la version AMD64, télécharger le fichier NVIDIA-Linux-x86_64-169.12-pkg2.run sur cette page.
Le plus simple est de placer ce fichier dans son répertoire personnel.
Désinstallation d'autres drivers nvidia
- Il est fortement conseillé d'installer ces drivers sur un système propre et sur le noyau optimisé que vous souhaitez utiliser. Installez donc le noyau optimisé pour votre système et bootez dessus (inutile pour les versions supérieure à edgy eft).
- Si une autre version des drivers nvidia est présente sur votre système, il faut en éliminer toute trace sinon, vous risquez d'avoir des conflits entre les différentes versions ou avec des modules déjà existants et/ou chargés dans le système.
- Si vous avez déjà installé une autre version des drivers propriétaires nvidia, désinstallez-les préalablement (voir plus bas la procédure).
- Si vous avez installé les paquets d'Ubuntu en suivant l'autre méthode. Il faut désinstaller tous les paquets contenant du nvidia (
nvidia-glx,nvidia-settings, tout ce qui commence par «nvidia-kernel» et supprimer aussi les «linux-restricted-modules» correspondant au noyau utilisé car il contiennent des morceaux d'nVidia eux aussi). Donc, tapez dans un terminal :
sudo apt-get --purge remove nvidia-glx nvidia-glx-legacy nvidia-settings nvidia-kernel-common linux-restricted-modules-`uname -r` linux-restricted-modules-common sudo rm /etc/init.d/nvidia-*
(Attention : si vous utilisez Synaptic pour la suppression des paquets, faire une suppression complète, sinon vous aurez un problème au démarrage d'X - /sbin/lrm-video -)
Penser à modifier votre fichier /etc/X11/xorg.conf et remettez "nv" à la place de "nvidia" pour ne pas vous retrouver sans interface graphique au démarrage.
A ce stade, il ne devrait rester aucun signe d'un quelconque driver nVidia. Rebootez pour être sûr de charger le driver libre au démarrage.
Note importante
Comme vous l'avez remarqué, cette procédure entraine la désinstallation des linux-restricted-modules du noyau car ce paquet contient des modules pour les drivers nVidia qui entreront en conflit avec la nouvelle version que vous souhaitez installer. Mais, si vous avez absolument besoin des linux-restricted-modules et/ou que vous ne voulez pas les désinstaller (pour faire fonctionner votre carte wifi par exemple), 2 solutions s'offrent à vous :
- soit vous voulez une méthode simple et automatique, alors il vous faut utiliser le script envy qui installera les derniers drivers tout en laissant les restricted-modules
- soit il existe une méthode manuelle pour desactiver les modules nvidia : il vous faut ajouter la ligne
DISABLED_MODULES="nv nvidiafb nvidia_new nvidia_legacy"
au fichier /etc/default/linux-restricted-modules-common (nécessite les droits d'administrateur).
Il peut aussi être utile de supprimer le fichier: /lib/linux-restricted-modules/.nvidia_new_installed ou /lib/restricted-modules/.nvidia_new_installed
Autre méthode
Une autre méthode pour pouvoir utiliser les drivers officiels sans désinstaller les restricted-modules consiste à renommer le nouveau module (par exemple de nvidia en nvidia-new) et à définir un alias pour que ce soit ce module nvidia-new (et pas l'ancien module nvidia) qui soit chargé lors d'un modprobe nvidia. D'abord, créer l'alias en ajoutant cette ligne à /etc/modprobe.d/nvidia-install-script :
alias nvidia nvidia-new
Puis renommer le module nvidia.ko créé par l'installeur :
cd /lib/modules/`uname -r`/kernel/drivers/video sudo mv nvidia.ko nvidia-new.ko sudo depmod -a
Vous pouvez maintenant rebooter, ou tout simplement charger le nouveau module et redémarrer X. En cas de mise à jour des drivers, ces deux dernières opérations (le renommage du module et la reconstruction des dépendances des modules) sont à répéter.
Installer les paquets suivants
Pour réaliser la compilation du driver, 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 du driver
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)
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
Note: la désinstallation du pilote d'origine ayant servi pour ce test préalable sera prise en compte dans ce qui suit.
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.
Note: le cas de deux pilotes 32bits est traité mais la modification est similaire pour les versions 64bits.
- 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".
Ce qui suit est valable 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]
Note: le -a est optionnel. Il permet d'accepter implicitement l'accord de licence nVidia.
Après un redémarrage du système, l'activation est vérifiable grâce à la commande:
cat /proc/driver/nvidia/agp/status
Remarque: le fichier .run peut toujours être utilisé pour une désinstallation. Toutefois, comme décrit par la suite, une nouvelle installation avec ce dernier se fera, bien entendu, sans support AGP FW/SBA.
Compiler le driver
Le système est maintenant prêt pour la compilation du driver. Commençons par se placer dans le répertoire où on a téléchargé le driver 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-169.12-pkg1.run #(pour la version 32bits) sudo sh NVIDIA-Linux-x86_64-169.12-pkg2.run #(pour la version amd64)
Astuce : Lors du "sudo sh NVIDIA..." utilisez la complétion automatique à l'aide de la touche tabulation, cela inscrira automatiquement le nom du fichier correct et peut vous éviter quelques désagréments
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, ne pas installer les librairies OpenGL32bit. (sauf si vous utilisez aussi des aplications 32bit ex : CEDEGA)
- 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-169.12-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 drivers, lire le README fournit par nVidia.
Redémarrer la session graphique
sudo /etc/init.d/gdm start #(ou sudo /etc/init.d/kdm start si vous utilisez KDE)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).
Note importante
En cas de mise-à-jour du serveur X (paquet xserver-xorg-core) et/ou de changement de noyau ou de mise-à-jour de celui-ci (paquet linux-image-xxx), le serveur X plantera. En effet, comme tout logiciel compilé avec les headers, il vous faudra recommencer cette procédure à chaque changement ou mise-à-jour de votre noyau ! N'oubliez pas d'installer les headers du nouveau noyau pour compiler les nouveaux modules nvidia.
Configuration avancée
Une fois l'interface graphique démarrée, vous pouvez effectuer quelques réglages de votre driver grâce à une interface graphique.
Allez dans Applications→Outils Système et cliquez sur "NVIDIA X Server Settings" pour une configuration avancée (vous pouvez aussi taper nvidia-settings dans un terminal pour obtenir la même chose).
Activer l'overcloking via les coolbits
Depuis la sortie des Driver 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
Désinstallation du driver
Pour désinstaller ces drivers officiels, 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_driver_.run sudo sh NVIDIA-Linux-x86-169.12-pkg1.run --uninstall #pour la version 32 bits sudo sh NVIDIA-Linux-x86_64-169.12-pkg2.run --uninstall #pour la version amd64
Liens
Autre méthode : installation automatique par ENVY
Il existe maintenant une page du wiki entièrement dédié à Envy ! Rendez-vous ici.
Drivers Beta
Actuellement, il existe les drivers BETA 173.08 qui ajoutent le support des nouvelles GeForce 9xxx et corrigent quelques bugs.
- Version 32 bits: http://www.nvidia.com/object/linux_display_ia32_173.08.html
Contributeur : Lestat the vampire
