L'installation des pilotes NVIDIA sur une distribution Linux n'est pas toujours aisée, surtout pour un utilisateur débutant. Certaines distributions cherchent à simplifier le processus, malgré la mauvaise volonté du constructeur.
Ces dernières années, AMD et NVIDIA ont fait des choix radicalement différents vis-à-vis de l'écosystème open source, surtout pour leurs pilotes graphiques.
Si tous deux proposent une version propriétaire, le père des Radeon s'implique activement dans AMDGPU pour assurer le support natif de ses puces (génération GCN 1.2+), permettant d'obtenir de très bonnes performances sans aucun effort. Une approche identique à celle adoptée historiquement par Intel, mais pour des GPU performants.
NVIDIA, qui mise de manière croissante sur des codes ouverts et l'écosystème Linux là où ça l'arrange, n'a par contre toujours pas sauté le pas. Si le projet nouveau existe, il n'est pas soutenu outre mesure par le constructeur et son support limité, notamment lorsque l'on veut utiliser les fonctionnalités spécifiques comme CUDA.
Il faut donc passer par des procédures d'installation et de mise à jour manuelles qui n'ont rien de pratique. Heureusement, certains font le job, simplifiant la vie des utilisateurs.
Ubuntu-drivers et PPA
Pour les adeptes d'Ubuntu, l'application Logiciels & mises à jour intègre depuis un moment une section Pilotes additionnels où il est possible de trouver des versions plus ou moins récentes des pilotes propriétaires de NVIDIA.
Dans Ubuntu 19.04, avec une GeForce GTX 1050 Ti, nous obtenons le résultat suivant :
On peut ainsi choisir entre le pilote libre (nouveau) ou les branches propriétaires 390 et 418 d'un simple clic, la 430 n'ayant pas encore été testée et intégrée. Il est également possible de passer par la ligne de commandes via ubuntu-drivers
, présent par défaut. On peut lister simplement les pilotes disponibles et les composants concernés :
ubuntu-drivers devices
ubuntu-drivers list
L'installation peut utiliser la branche recommandée ou celle de votre choix parmi celles proposées :
sudo ubuntu-drivers install
sudo apt install nvidia-driver-390
En cas de problème ou si vous voulez disposer d'une version plus récente, il existe un Personal Package Archive (PPA) maintenu à jour par la fondation X.Org. Pour le mettre en place il suffit de taper :
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
Pour vérifier la présence des pilotes propriétaire et le statut de la carte graphique :
nvidia-smi
L'intégration à l'installation d'Ubuntu MATE
Pour la version 19.04 d'Ubuntu MATE, l'équipe a travaillé sur une intégration encore plus poussée, prenant place dès la phase d'installation. Pour en profiter, il suffit de cocher la case « Installer un logiciel tiers pour le matériel graphique et Wi-Fi et des formats de médias supplémentaires ».
Contrairement à la version classique de la distribution, cela activera le pilote propriétaire par défaut sans autre action nécessaire, avec le support d'Optimus pour les PC portables compatibles.
Le précédent de Pop!_OS
Mais une telle initiative n'est pas une nouveauté. L'intégrateur System76 a déjà opté pour une solution similaire pour son Pop!_OS. Un autre dérivé d'Ubuntu visant une installation et une utilisation encore plus simples et plus graphiques, où le chiffrement est proposé par défaut plutôt que l'inverse.
Il y a néanmoins une petite différence entre les deux approches : ici, pas de case à cocher mais un système proposé en deux versions. L'une pour les machines avec une partie graphique AMD/Intel, l'autre si un GPU NVIDIA est utilisé.
La société semblant particulièrement s'intéresser aux développeurs, elle leur facilite aussi l'installation du trio lié aux usages de type Deep Learning : CUDA, cuDNN et TensorFlow, qui passe par APT depuis la version 18.10.
sudo apt install tensorflow-cuda-latest
Quid de Debian, Fedora ou Manjaro ?
Qu'en est-il pour des distributions grand public qui ne sont pas dérivées d'Ubuntu ?
- Manjaro
Du côté de Manjaro, on retrouve un peu les différentes situations évoquées précédemment. L'outil d'installation permet de choisir entre deux sources de pilotes : free
et non-free
si vous souhaitez utiliser des versions propriétaires.
Si vous faites ce choix, la carte graphique NVIDIA sera active dès la fin du processus sans autre modification. Sinon, il faudra passer par une installation manuelle, via l'interface graphique et le Gestionnaire de paramètres ou la ligne de commandes via mhwd
:
mhwd -l
mhwd -l -d
sudo mhwd -i pci video-nvidia
- Fedora
Même si Fedora mise depuis longtemps sur des outils simplifiant la vie des utilisateurs, la gestion des pilotes de NVIDIA ne semble pas être une priorité. Ainsi, la seule solution proposée dans la version 29, outre l'installation manuelle, est d'ajouter le dépôt RPM Fusion non-free
permettant ensuite une installation des pilotes.
Cela peut passer par l'application Logiciels et ses paramètres de dépôts tiers où il est possible d'en activer un spécifique aux pilotes NVIDIA, ou les lignes de commandes suivantes. Rien de plus, notamment à l'installation. Cela ne semble pas changer avec Fedora 30 qui arrive d'ici quelques jours.
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
- Debian
Terminons par Debian, qui propose de son côté une intégration plus ou moins récente via ses dépôts non libres là aussi. Pour l'installer, vous pouvez, comme pour Fedora, passer par la gestion des sources de dépôts dans l'application Logiciels ou remplacer « main » par la mention suivante à la fin des dépôts Debian officiels dans le fichier /etc/apt/sources.list
:
main contrib non-free
Il faudra par contre passer par la ligne de commandes pour l'installation :
sudo apt update
sudo apt install nvidia-driver
Debian oblige, on est pour le moment limité à la branche 390.xx des pilotes. Vous pouvez également opter pour la version issue des backports, plus récente (lorsque disponible) en ajoutant plutôt la ligne suivante :
deb http://ftp.fr.debian.org/debian stretch-backports main contrib non-free
Puis en tapant ces commandes :
sudo apt update
sudo apt install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//')
sudo install -t stretch-backports nvidia-driver