Fourre Tout

C'est mon pense-bête

Outils pour utilisateurs

Outils du site


linux:fedora:installer_pilote_nvidia

Installation manuelle d'un nouveau pilote Nvidia

Lors de la mise à jour de ma fedora de la version 8 à la version 9, le pilote graphique nvidia a refusé de démarrer.

Le guide de mise-à-jour de fedora que j'ai suivi m'a entrainé vers le forum NVIDIA pour Linux qui recommandait d'installer un nouveau pilote, et donnait un lien vers une version du pilote (que j'ai cru être la plus récente) ainsi que des instructions d'installation… que j'ai suivies.

J'ai eu des messages d'erreur à différents niveaux du processus :

  • lors de la compilation du pilote
  • en fin d'installation
  • au démarrage du serveur X ⇒ /var/log/Xorg.log
X.Org X Server 1.5.0
(EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
(EE) NVIDIA(0):     log file that the GLX module has been loaded in your X
(EE) NVIDIA(0):     server, and that the module is the NVIDIA GLX module.  If
(EE) NVIDIA(0):     you continue to encounter problems, Please try
(EE) NVIDIA(0):     reinstalling the NVIDIA driver.

(EE) NVIDIA(0): This video driver ABI is not supported.
(EE) NVIDIA(0): Use the -ignoreABI option to override this check.

En gros : la version du pilote était incompatible avec celle du serveur X (trop récent :)).

Sur le forum NVIDIA j'ai trouvé que la version du pilote nvidia n'était compatible qu'avec la version 1.4.99.901 du serveur X.

  • J'ai donc rétrogradé la version du serveur X à la version 1.4.99.901 (!).
  • puis ré-installé le pilote NVIDIA avec le script NVIDIA-Linux-x86-173.08-pkg1.run téléchargé chez nvidia

Je me suis ensuite aperçu que le pilote NVIDIA le plus récent est le 180.44 : je l'ai installé à la place du 173.08, puis j'ai remis le serveur X le plus récent (1.5.2)

⇒ ça fonctionne (il a néanmoins fallu que je fasse 2 fois l'installation du pilote NVIDIA, car ce n'était pas le bon module glx qui se chargeait…)

J'ai ensuite installé un nouveau noyau, il m'a fallu réinstaller le pilote…

et pour finir, le lendemain, j'ai appris (sur le même forum) qu'un nouveau pilote le plus récent était disponible (180.51) ; je l'ai installé à son tour et il semble plus stable que le précédent (180.44) qui avait réussi à planter ma bécane plusieurs fois de suite.

Installation automatique du pilote

En passant de fedora 9 à fedora 10, j'en ai profité pour installer (sans difficulté particulière) la version 190.42.

Par ailleurs, je me suis aperçu que l'atelier avait placé une version de pilote NVIDIA dans le répertoire /usr/src/addon : je suppose que le but est d'installer automatiquement ce pilote chaque fois que la version de noyau change ; j'ai donc remplacé la vieille version de l'atelier par la 190.42 pour voir ce qui se passe au prochain changement de noyau.

Bilan

Effectivement, lors de l'installation d'un nouveau noyau, le pilote est automagiquement recompilé et installé, grâce au script /usr/src/modulescripts/addon/build.sh

⇒ il me suffira donc de placer chaque nouvelle version du pilote dans ce répertoire…

Nouveauté

Lors de la regénération de ma machine, l'atelier a installé la fedora 12 : le pilote X démarré par défaut est nouveau (qui remplace (?) nv ; de plus, ce pilote semble être chargé par le noyau ; il y a donc conflit avec le pilote nvidia.

Pour utiliser le pilote nvidia à la place du pilote nouveau, il faut intervenir en deux endroits :

  • créer le fichier /etc/modprobe.d/blacklist-nouveau.conf avec les lignes :
    • blacklist nouveau
    • options nouveau modeset=0
  • /boot/grub/grub.conf : ajouter rdblacklist=nouveau à la fin de la ligne kernel … root= …

pilote nouveau

Gère correctement les deux écrans (sans fichier de configuration !) ; par contre, pour la vidéo-projection, c'est un peu merdique : iul faut passer par gnome et l'utilitaire de configuration du menu.

pilote nvidia

Gère les deux écrans, mais pas sans fichier de configuration !

Nvidia sur fedora 15 64 bits

Historique

Installation initiale

  • Fedora 15 64 bits sur nouvelle machine
  • pilote NVIDIA récupéré directement chez Nvidia, installé avec le script fourni

Pas de problème particulier.

Mise à jour du noyau

Bien entendu, le pilote n'est pas recompilé automatiquement pour le nouveau noyau et, bien plus gênant, le pilote nouveau est démarré, mais la session X ne fonctionne pas correctement.

NB : voir si le script de l'atelier irisa utilisé sur ma précédente machine pour recompiler automatiquement le pilote lors d'un changement de noyau pourrait faire l'affaire.

Dans tous les cas, il faut …

Se débarrasser du pilote nouveau

Il est difficile de se débarasser du pilote nouveau, qui est bien enraciné à tous les niveaux : il est incorporé dans le disque mémoire initial (initramdisk), chargé très tôt au démarrage de la machine : la directive d'exclusion (blacklist nouveau, voir ci-dessus) ne suffit pas, car ce ramdisk est chargé bien avant que le noyau lise les fichiers de /etc/modprobe.d. Et même la solution qui consiste à ajouter la directive blacklist lors du chargement du noyau (fichier grub.conf) ne suffit pas !!

Le problème (mais pas sa solution) est bien décrit sur le site de nvidia

Même en démarrant en mode mono-utilisateur, le pilote nouveau est démarré et il est impossible de le désactiver par rmmod.

La solution est décrite sur le forum fedora et comporte quatre étapes ; j'ai suivi la méthode recommandée par l'auteur et ça c'est bien passé :

  1. Mise à jour noyau (venait d'être faite)
  2. Installation pilote nvidia avec akmod (je cite : « This is the best option in my opinion as you don't get any problems when a new kernel is released »)
  3. Supprimer nouveau du ramdisk
    • mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
    • dracut /boot/initramfs-$(uname -r).img $(uname -r)
  4. redemarrer

Et ça fonctionne ; reste à voir ce qui se pasera au prochain changement de noyau

linux/fedora/installer_pilote_nvidia.txt · Dernière modification: 2021/04/11 13:50 (modification externe)