====== 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 [[ http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 | 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 [[ http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 | 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 [[ http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 | 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= ...'' * voir [[http://www.nvnews.net/vbulletin/showthread.php?t=143137| le forum nvidia]] * voir aussi //NVIDIA Accelerated Linux Graphics Driver README and Installation Guide//, [[ftp://download.nvidia.com/XFree86/Linux-x86/260.19.21/README/commonproblems.html#nouveau | section 8.1. Interaction with the Nouveau Driver]] ===== 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 [[ ftp://download.nvidia.com/XFree86/Linux-x86/260.19.21/README/commonproblems.html#nouveau| 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 [[http://forums.fedoraforum.org/showthread.php?t=204752| forum fedora]] et comporte quatre étapes ; j'ai suivi la méthode recommandée par l'auteur et ça c'est bien passé : - Mise à jour noyau (venait d'être faite) - 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 ») * yum --nogpgcheck install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm (déjà installés auparavant) * yum install akmod-nvidia xorg-x11-drv-nvidia-libs.i686 - Supprimer //nouveau// du //ramdisk// * mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img * dracut /boot/initramfs-$(uname -r).img $(uname -r) - redemarrer Et ça fonctionne ; reste à voir ce qui se pasera au prochain changement de noyau