Nvidia adopte enfin l'open source. En effet, ces deux dernières décennies, Nvidia a offert un excellent support des pilotes Linux avec sa pile de pilotes propriétaires. Mais avec le succès de l'effort d'AMD en matière de pilotes open source qui dure depuis plus d'une décennie, beaucoup ont demandé à Nvidia d'ouvrir le code source de ses pilotes. Leur logiciel d'espace utilisateur reste fermé, mais depuis ce mercredi 11 mai, ils ont officiellement ouvert le code source de leurs modules de noyau de GPU Linux. Dans un billet de blogue publié hier, la société a annoncé qu'elle ouvrait le code source à partir de la version du pilote R515.
Nvidia a déclaré que le code est actuellement prêt à être utilisé pour les GPU des centres de données des familles Turing et Ampere, pour donner suite au déploiement progressif de l'architecture du pilote GSP au cours de l'année dernière. Il a été testé sur une grande variété de charges de travail afin d'assurer la parité des fonctionnalités et des performances avec le pilote propriétaire en mode noyau, mais il apporte également de nouvelles fonctionnalités, telles que le cadre DMA-BUF pour le partage des tampons entre les périphériques et les sous-systèmes, qui prendra tout son sens avec l'architecture Hopper.
Toute personne utilisant des GPU avec une architecture antérieure à Turing devra continuer à utiliser les anciens pilotes propriétaires. Il est clair que l'un des principaux objectifs de Nvidia en ouvrant le code source de ces pilotes est d'améliorer le support des GPU et la fonctionnalité pour les superordinateurs et les grandes installations de centres de données. Tous les grands superordinateurs fonctionnent sous une version de Linux, ou presque, et le fait d'avoir des pilotes à code source fermé n'est probablement pas du goût des personnes responsables de ces installations.
Pour les particuliers, le tableau n'est pas aussi rose pour le moment, car seul le module noyau monolithique propriétaire et déprécié est considéré comme n'étant pas de qualité Alpha. Selon Nvidia, des améliorations sont prévues tout au long de l'année. Le nouveau pilote open source fonctionne avec le même micrologiciel que le pilote précédent, et les mêmes piles en mode utilisateur telles que CUDA, OpenGL et Vulkan. En outre, la société a déclaré que les correctifs soumis par la communauté seront pris en compte pour être intégrés dans les futures versions du pilote.
Grâce à la disponibilité de paquets entièrement construits et du code source, les gestionnaires de distributions pourront plus facilement inclure les pilotes dans leurs dépôts de logiciels. Canonical (fabricant d'Ubuntu) et SUSE sont cités parmi les développeurs qui peuvent désormais intégrer les modules ouverts du noyau dans leurs distributions. « Les nouveaux modules GPU open source de Nvidia simplifieront les installations et renforceront la sécurité des utilisateurs d'Ubuntu, qu'il s'agisse de développeurs AI/ML, de joueurs ou d'utilisateurs de cloud computing », a déclaré Cindy Goldberg, VP Silicon alliances chez Canonical.
Les nouveaux pilotes devraient faire leur chemin dans Ubuntu 22.04 LTS de Canonical dans les prochains mois. Nvidia a travaillé avec Canonical et SUSE, ainsi qu'avec Red Hat, pour améliorer le déploiement des paquets et créer de meilleurs modèles de support pour les clients. Fournissant plus de contexte, le directeur de Red Hat, Christian Schaller, a déclaré dans un billet de blogue que les mainteneurs du pilote Nouveau (un projet visant à produire des pilotes libres pour les cartes graphiques Nvidia par rétro-ingénierie) et du noyau avaient rencontré Nvidia au cours du dernier mois.
« Il ne s'agit que de la partie noyau, une grande partie d'un pilote graphique moderne se trouve dans le micrologiciel et les composants de l'espace utilisateur et ceux-ci sont toujours fermés. Mais cela signifie que nous avons maintenant un pilote de noyau Nvidia qui va commencer à être capable de consommer les API sous licence GPL uniquement dans le noyau Linux, bien que cette version initiale ne consomme aucune API que l'ancien pilote n'utilisait pas déjà », a écrit Schaller. Ce dernier a ajouté que le binaire Nvidia existant et le pilote Nouveau resteraient en place, même lorsque le nouveau pilote open source sera développé.
« Dans l'immédiat, à court terme, cela n'aura pas un impact majeur. Mais au fil du temps, il offre un moyen de simplifier radicalement la prise en charge du matériel Nvidia. À long terme, nous espérons être en mesure d'obtenir une expérience similaire avec le matériel Nvidia à celle que nous pouvons offrir aujourd'hui avec le matériel Intel et AMD, en matière de fonctionnalités prêtes à l'emploi. Cela signifie un support au jour le jour pour les nouveaux chipsets, un pilote Mesa open source de haute performance pur Nvidia et cela nous permettra de signer le pilote Nvidia avec le reste du noyau pour permettre des choses comme le support de secureboot », a déclaré Schaller.
L'état du support Nvidia pour Linux est un problème de longue date. En 2012, Linus Torvalds, créateur du noyau Linux, a déclaré que Nvidia était « la pire entreprise avec laquelle nous ayons jamais traité », avant de lui faire un doigt d'honneur. Pour l'instant, ce changement ne concerne que Linux, au moins à partir de la branche R515. En ce qui concerne le support de FreeBSD, rien n'a été annoncé. Rappelons que Nvidia supporte depuis longtemps les systèmes BSD avec son pilote propriétaire et que ce code open source est suffisamment portable pour fonctionner sur tous les BSD.
En somme, c'est l'étape actuelle des efforts de Nvidia en matière de pilote de noyau open source. Cependant, plusieurs sources rapportent que Nvidia a laissé entendre mercredi : « ces modules de noyau ouverts hors arbre ne sont qu'une étape vers un meilleur support de Linux ».
Sources : référentiel GitHub NVIDIA Open GPU Kernel Modules, Nvidia, Christian Schaller
Et vous ?
Quel est votre avis sur le sujet ?
Que pensez-vous de l'initiative de Nvidia d'ouvrir ses pilote en open source ?
Selon vous, en quoi cela pourrait impacter l'avenir des pilotes de cartes graphiques sur Linux ?
Voir aussi
Le limiteur Nvidia LHR officiellement craqué, apportant la pleine vitesse aux opérations de minage sur Windows et Linux
Nouveau, le pilote NVIDIA libre pour Linux, s’ouvre à CUDA
Nvidia et Valve apportent le DLSS, cette technologie permet aux gamers d'obtenir plus de performances sous Linux, Nvidia contre AMD sous Linux pour le bien de la communauté