Pilotes NVIDIA intégrés à Ubuntu 19.10 : quels changements ?

Développeurs et joueurs en ligne de mire 21
Accès libre
image dediée
OS TEST
David Legrand

Ubuntu 19.10 est disponible depuis quelques jours. Parmi les nouveautés de cette mouture de fin d'année, il en est une qui a fait réagir la communauté, mais qui va simplifier la vie de nombreux utilisateurs : l'intégration des pilotes NVIDIA. Mais dans la pratique, qu'y a-t-il de nouveau ?

La décision de Canonical et des développeurs d'Ubuntu d'intégrer nativement les pilotes NVIDIA au processus d'installation suit la tendance. Mint a renforcé sa position sur le sujet dès sa version 19.04, d'autres ayant déjà fait de même.

L'intégration des pilotes graphiques, un enjeu pour plaire aux développeurs

On pense notamment à Pop!_OS qui propose une ISO spécifique pour ceux qui disposent d'une GeForce/Quadro, allant même jusqu'à proposer un dépôt contenant une base nécessaire aux développeurs adeptes de CUDA, et des outils comme TensorMan. Car l'enjeu est là, au-delà des amateurs de jeu vidéo sous Linux.

Ces distributions sont en effet très utilisées par les chercheurs et développeurs qui peuvent vite passer un (trop) long moment à paramétrer des environnements de développement lorsqu'ils utilisent des cartes graphiques pour leurs calculs ou même des processeurs dédiés comme les NPU. L'objectif est donc de leur simplifier la vie.

Un besoin qu'Intel a déjà très bien identifié. Le géant de Santa Clara mise ainsi sur une distribution orientée performances, intégrant des mécaniques de compilation tirant parti de ses dernières fonctionnalités, un noyau optimisé, fournissant des outils récents. C'est ainsi que Clear Linux est né, avec son Store dédié et ses « Stacks ».

De son côté, NVIDIA propose une solution clé en main avec ses « Data Science Workstations » lancées en juin. Vendues par des partenaires tiers, elles sont livrées sous Ubuntu, préconfigurées pour profiter des outils de développement maison.

Ubuntu et NVIDIA, déjà une histoire d'amour (à quelques bugs près)

Ubuntu veut aller dans le même sens, mais avance à (très) petits pas. Il faut dire qu'elle est très utilisée par les développeurs, notamment ceux qui exploitent un GPU. Elle reste d'ailleurs le principal OS recommandé par NVIDIA dans ses guides, utilisée également comme base pour l'OS fourni dans les kits de développement Jetson.

La distribution est également connue pour faire des choix différents de ceux de « puristes » de l'open source. C'est même l'une de ses différences avec Debian, proposant par exemple d'intégrer d'un clic certains pilotes et codecs propriétaires pour que l'utilisateur puisse facilement profiter de sa machine dans un cadre multimédia dès l'installation.

Même chose pour les pilotes NVIDIA. Une méthode intéressante, mais dépendante de la présence d'une connexion internet, nécessitant un téléchargement pour chaque machine. L'idée a donc été de simplifier un peu plus la vie des utilisateurs en intégrant la dernière version en date de ce « blob propriétaire » à l'ISO.

Une étape logique, même si on continue de regretter que le constructeur n'ait toujours pas ouvert les sources de ses pilotes, en dépit de son utilisation croissante d'outils dont le code est libéré. Il communique depuis peu des éléments de ses architectures afin de faciliter la vie des développeurs tiers, comme ceux des pilotes « nouveau ».

Quels changements en pratique ?

Comme nous l'expliquions dans un précédent guide, l'installation et la gestion des pilotes NVIDIA avait déjà été grandement facilitée au sein d'Ubuntu dans ses versions récentes, notamment à travers la section consacrée aux pilotes additionnels de Logiciels et Mises à jour. Elle permet une mise en place en un clic de pilotes plus ou moins récents.

Cela passait par quelques lignes de commandes si vous n'aviez pas accès à une interface graphique. Un Personal Package Archive (PPA) maintenu par la fondation X.Org est également disponible avec des pilotes plus récents :

sudo add-apt-repository ppa:graphics-drivers/ppa

Mais pour savoir ce qui a changé concrètement, nous avons effectué une série d'essais avec Ubuntu 18.04.3 LTS, 19.04 et 19.10. Nous les avons installés sur une machine équipée d'une GeForce GTX 980 (sortie en 2014) puis d'une GeForce RTX 2080 (datant de fin 2018), en installant les dernières mises à jour via Internet ou non.

Nous avons systématiquement coché la case « Installer un logiciel tiers pour le matériel graphique et Wi-Fi et des formats de média supplémentaires », permettant de récupérer des pilotes NVIDIA lorsqu'ils sont disponibles. Sinon, c'est la version open source « nouveau » qui est utilisée. Nous avons à chaque fois relevé la version configurée sur le système.

Pour rappel, la commande nvidia-smi ne répond que si les pilotes NVIDIA sont en place, affichant le statut de la carte graphique et détaillant la couche logicielle en place. Sinon vous pouvez utiliser la commande suivante :

lshw -class video

Voici nos résultats :

Ubuntu NVIDIA Pilotes Intégration

Comme on pouvait s'y attendre, dans les versions précédentes d'Ubuntu, le pilote NVIDIA n'est installé que si la connexion internet est active. Avec l'intégration à l'ISO, ce n'est plus nécessaire.

C'est un avantage dans les cas où « nouveau » pose problème, comme on peut le voir avec la GeForce RTX 2080 pour Ubuntu 18.04/19.04. Sur la fenêtre de connexion, les réactions du système à la souris ou au clavier sont lentes, ce que résoud l'utilisation du pilote propriétaire (ou d'Ubuntu 19.10).

Pire dans le cas d'Ubuntu 18.04.3 LTS, on se retrouve face à une boucle de connexion, empêchant l'utilisation du système tant que le pilote NVIDIA n'est pas installé. Un phénomène qui ne se rencontre étrangement que si les éléments non open source sont installés et les mises à jour effectuées dans le processus d'installation.

On note au passage qu'Ubuntu 19.04 avait déjà changé la donne, tant pour la GTX 980 que la RTX 2080 puisque le pilote NVIDIA est téléchargé pendant la phase d'installation si on le demande. Il utilise cependant la dernière version de la branche 418, qui n'est pas de toute fraîcheur.

On regrette également quelques points dans cette façon de faire. Tout d'abord, il n'y a pas de granularité dans l'acceptation des éléments non libres. Si l'on veut les codecs multimédia, mais pas les pilotes NVIDIA, c'est impossible à préciser dans le processus d'installation actuel. Dommage.

D'autant que certaines combinaisons sont malheureuses. Par exemple, Wayland ne supporte pas la connexion automatique avec le pilote NVIDIA installé. Si vous faites ce choix, vous aurez là encore droit à une boucle infinie de connexion, avec comme seule possibilité de désactiver la connexion automatique ou de repasser sur les pilotes « nouveau ».

De même, il existe souvent différentes versions des pilotes NVIDIA : la dernière en date des dépôts et la précédente. On ne peut pas choisir laquelle installer. On apprécierait aussi de pouvoir activer plus simplement le PPA de la fondation X.Org contenant les derniers en date, que ce soit via une fenêtre ou une option dans la gestion des pilotes additionnels.

Il est possible d'aller plus loin

Si Ubuntu se présente régulièrement comme une distribution pour les développeurs, nouant des partenariats autour de cette image, notamment avec Dell (et ses XPS Developer Edition), son équipe doit veiller à ce que cela reste le cas.

Des initiatives comme Clear Linux, Pop!_OS ou les Data Science Workstations de NVIDIA montrent bien que les besoins de ce public vont au-delà de l'installation, avec la facilité à mettre en place les ensembles de logiciels et les optimisations qui leurs sont nécessaires. Or, il manque clairement des dépôts ou des fonctionnalités allant dans ce sens.

Si la volonté est également de faciliter la vie des joueurs, on peut faire des remarques similaires. Proposer la mise en place d'outils comme Steam, Lutris ou Play On Linux dès l'installation, via une meilleure intégration, ou même favoriser la création d'une variante spécifique pourrait être bénéfique. 


chargement
Chargement des commentaires...