Dans la configuration par défaut d’un poste de travail OpenSUSE Leap, les cartes graphiques NVidia sont gérées par le pilote libre nouveau
en mode KMS (Kernel Mode Setting), c’est-à-dire que le module en question est chargé très tôt dans le processus de démarrage de la machine. Mes expériences avec ces pilotes n’ont pas été concluantes, et je préfère les remplacer par les pilotes propriétaires fournis par le fabricant.
- Introduction
- Identifier la carte graphique
- Identifier le pilote qui va bien avec la carte
- Rechercher le paquet correspondant
- Installer le pilote
- La technologie CUDA
- Utiliser le pilote
Introduction
Il existe plusieurs manières de gérer l’installation des pilotes propriétaires fournis par NVIDIA. Je ne vais pas être exhaustif, et je vais me contenter de présenter une manière simple de procéder, et qui consiste à installer les pilotes fournis par le dépôt de paquets tiers NVidia. Si vous avez configuré les dépôts en utilisant mon script automatique, vous pouvez continuer sereinement en suivant le guide.
Identifier la carte graphique
Dans un premier temps, nous devons identifier la carte. Sur ma machine de test, je dispose d’une carte NVidia GeForce GT 710.
# lspci | grep -i vga 01:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 710] (rev a1)
Identifier le pilote qui va bien avec la carte
Pour savoir quelle version du pilote correspond à ma carte, je me rends sur le site du constructeur, où je fournis une poignée de renseignements sur ma configuration.
La page des résultats m’affiche la version du pilote adaptée à ma carte, en l’occurrence 410.78. Attention, ce n’est pas la peine de télécharger le pilote ici, vu que nous allons récupérer une version proprement intégrée à la distribution depuis le dépôt de paquets.
Rechercher le paquet correspondant
Une recherche zypper search nvidia
doit m’afficher un certain nombre de résultats relatifs à mon pilote. L’option --details
me renseigne sur la version du pilote en question. Dans notre exemple, le pilote recherché pour ma machine se trouve tout en bas de la liste, c’est le paquet x11-video-nvidiaG05
.
Installer le pilote
L’installation du paquet récupère le pilote ainsi que les dépendances de construction, soit près de 170 Mo de paquets. L’option --auto-agree-with-licenses
m’évite de taper yes
à chaque paquet soumis à l’acceptation explicite d’une licence.
# zypper install --auto-agree-with-licenses x11-video-nvidiaG05
La technologie CUDA
L’installation du pilote a également récupéré le paquet nvidia-computeG05
correspondant, qui fournit l’architecture CUDA (Compute Unified Device Architecture). Selon les infos données par le constructeur, “CUDA est une architecture de traitement parallèle développée par NVIDIA permettant de décupler (sic) les performances de calcul du système en exploitant la puissance des processeurs graphiques (GPU).” Même si je doute fort que la puissance de calcul du modeste Intel Core 2 Duo sur lequel je viens d’installer le pilote sera multipliée par dix. Il n’empêche que c’est toujours bon de savoir que la carte graphique fournit un coup de pouce au processeur lorsqu’elle n’est pas trop occupée à faire autre chose.
Utiliser le pilote
À partir de là, il suffit tout simplement de redémarrer la machine pour utiliser le pilote nvidia
. Vous remarquerez que l’écran de démarrage Plymouth ne s’affiche plus comme avant, mais c’est le prix à payer pour l’utilisation des pilotes propriétaires.
Vérifions si le système utilise bien le pilote que nous venons d’installer.
# grep nvidia /var/log/Xorg.0.log
[51.265] (==) Matched nvidia as autoconfigured driver 0
[51.265] (==) Matched nvidia as autoconfigured driver 3
[51.265] (II) LoadModule: "nvidia"
[51.281] (II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
[51.458] (II) Module nvidia: vendor="NVIDIA Corporation"
...
Notons au passage que l’installation du pilote a blacklisté automatiquement les pilotes libres nouveau
, dont le chargement aurait pu créer un conflit. Ce genre de petit détail plaisant me change du bon vieux temps où je chassais l’ours à mains nues sous Slackware, et où il fallait reconstruire le pilote à chaque mise à jour du noyau, éditer un fichier pour blacklister les modules incompatibles, reconstruire mon initrd à la main, éditer manuellement /etc/X11/xorg.conf
et j’en passe. J’avoue platement que ce genre de confort est assez appréciable.
# lsmod | grep nouveau # cat /etc/modprobe.d/nvidia-default.conf blacklist nouveau
La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse.