Carte NVidia GeForce 210 et RHEL/CentOS 7.5

NVidiaRed Hat Enterprise Linux 7.5 a été publié récemment, et les paquets CentOS correspondants sont déjà disponibles dans les dépôts CR (Continuous Release). J’ai donc lancé une mise à jour sur ma station de travail, qui m’a récupéré pas moins d’un gigaoctet de paquets.

Au redémarrage, j’ai eu la mauvaise surprise de me retrouver avec un système qui bloque au moment de lancer DKMS. Ce qui signifie très probablement qu’un de mes drivers pose problème avec le nouveau kernel.

J’ouvre une console avec [Ctrl]+[Alt]+[F6], je me connecte et je jette un oeil dans /var/log/Xorg.0.log. Effectivement, j’ai un No screens found, qui m’indique que mon driver nvidia ne fonctionne pas correctement.

Avant toute chose, je m’assure de démarrer en mode console par défaut.

# systemctl set-default multi-user.target

Je supprime les deux paquets kmod-nvidia-340xx et nvidia-x11-drv-340xx en provenance du dépôt ELRepo, et je télécharge manuellement le driver NVIDIA-Linux-x86_64-340.106.run sur le site du constructeur. Je lance la construction du driver, qui se solde par un échec.

Ma prochaine intuition me dit que le driver de chez NVidia fonctionnera peut-être avec un kernel plus récent. Dans un premier temps, j’installe donc le dernier noyau LTS de chez ELRepo.

# yum --enablerepo=elrepo-kernel install kernel-lt

Une fois ce kernel installé, je redémarre dessus. Attention, les noyaux en provenance de chez ELRepo ne sont jamais prioritaires dans GRUB, il faut donc les sélectionner explicitement au démarrage du système.

Une fois que je tourne sur mon nouveau noyau, je fais d’abord l’inventaire de tous les paquets relatifs au kernel dont je dispose sur mon système.

# rpm -qa | grep kernel

Je désinstalle soigneusement tous les paquets relatifs au noyau 3.10.0, notamment kernel-devel, kernel-headers, kernel-tools et kernel-tools-libs, sans oublier kernel tout court.

Le driver nvidia entre potentiellement en conflit avec le driver libre nouveau, je prends donc soin de le blacklister dans /etc/modprobe.d/blacklist.conf. Il est également utile d’ajouter une option comme nomodeset dans /etc/default/grub.

Notons qu’à partir de là, je redémarre automatiquement sur le bon kernel , étant donné que c’est le seul qui est installé sur ma machine.

La prochaine étape consiste à récupérer tous les paquets qui vont bien avec mon nouveau kernel.

# yum --enablerepo=elrepo-kernel install kernel-lt-devel \
  kernel-lt-headers gcc dkms

Je retente la construction du driver.

# ./NVIDIA-Linux-x86_64-340.106.run

À partir du moment où DKMS est présent sur le système, l’installateur NVidia propose d’enregistrer le module auprès du service, ce qui évite d’avoir à le reconstruire lors d’une mise à jour du noyau.

Je vérifie mon fichier /etc/X11/xorg.conf, qui doit ressembler à ceci.

Section "Device"
        Identifier  "Videocard0"
        Driver      "nvidia"
EndSection

Je redémarre et je croise les doigts.

# systemctl isolate graphical.target

Le logo de NVidia s’affiche sur mes deux moniteurs, suivi du gestionnaire de connexion GDM. Tout est donc rentré dans l’ordre.

Qui a dit que Linux n’était pas user-friendly ? :o)

Ce contenu a été publié dans CentOS, Documentation Microlinux, avec comme mot(s)-clé(s) , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *