Après des années de Allusion, Nvidia a annoncé hier qu’il serait partie open-source de son pilote GPU Linux, comme Intel et AMD le font depuis des années maintenant. Auparavant, les utilisateurs de Linux qui voulaient éviter le pilote propriétaire de Nvidia devaient s’appuyer sur des logiciels d’ingénierie inverse tels que le projet Nouveau, qui fonctionnait mieux sur du matériel plus ancien et offrait au mieux un support incomplet pour toutes les fonctionnalités GPU de Nvidia.
« Cette version est une étape importante vers l’amélioration de l’expérience d’utilisation des GPU NVIDIA sous Linux, pour une intégration plus étroite avec le système d’exploitation et pour que les développeurs puissent déboguer, intégrer et contribuer en retour », déclare un article de blog attribué à plusieurs employés de Nvidia. « Pour les fournisseurs de distribution Linux, les modules open source augmentent la facilité d’utilisation. Ils améliorent également l’expérience utilisateur prête à l’emploi pour signer et distribuer le pilote GPU NVIDIA. Canonical et SUSE sont capables d’empaqueter immédiatement les modules du noyau ouvert avec Ubuntu et SUSE Linux Enterprise Distributions.
Nvidia publie spécifiquement un pilote de noyau open source sous une double licence MIT / GPL et est non actuellement des parties open source du pilote qui s’exécutent dans l’espace utilisateur. Cela inclut les pilotes pour OpenGL, Vulkan, OpenCL et CUDA, qui sont toujours à source fermée, en plus du micrologiciel pour le processeur système GPU (GSP). Nvidia dit que ces pilotes « resteront à source fermée et publiés avec des binaires pré-construits », il ne semble donc pas qu’il y ait des plans immédiats pour publier des versions open source.
Nvidia est toujours derrière Intel et AMD en ce qui concerne les pilotes GPU open source – les deux sociétés maintiennent des pilotes de noyau et d’espace utilisateur open source, ainsi que des micrologiciels à code source fermé. Mais c’est un premier pas vers la parité open source pour les paquets de pilotes Linux de Nvidia.
Les pilotes open source de Nvidia ne prennent en charge que les GPU turing de la société et les plus récents, y compris la série GeForce GTX 1600, les séries RTX 2000 et 3000 et les GPU de station de travail Quadro basés sur la même architecture. Les pilotes propriétaires de la société remontent à l’architecture Kepler de 2012.
Les pilotes open source ne seront pas non plus encore intégrés en amont dans le noyau Linux, puisque, comme le rapporte Phoronix, l’API, l’ABI et l’interface entre le pilote du noyau et l’interface du microprogramme GSP n’ont pas été finalisés. Cela signifie que tout, du firmware au pilote du noyau en passant par les pilotes de l’espace utilisateur, doit correspondre aux versions pour fonctionner correctement (la version d’aujourd’hui est la version R515.43.04). Une fois ces interfaces finalisées, le pilote peut être en amont dans le noyau, et différentes versions du firmware, du pilote du noyau et des pilotes d’espace utilisateur doivent pouvoir interagir.
Nvidia dit que la prise en charge de ses GPU de centre de données dans les pilotes actuels est « prête pour la production » dans cette version initiale, mais que la prise en charge de GeForce, Quadro et d’autres GPU grand public est de « qualité alpha » – ce n’est pas un logiciel que vous voudrez vous précipiter pour installer à moins que vous ne vouliez botter ses pneus sur un système de banc d’essai ou contribuer au code vous-même.
Hector Martin, l’un des développeurs derrière le Asahi Linux distribution Critiqué Nvidia pour déplacer de nombreuses fonctions dans son firmware à source fermée, que le pilote open source appelle ensuite. Martin Appels le pilote open source « une victoire nette à des fins pratiques » puisque le blob de code propriétaire peut être mis en bac à sable plus facilement. « Mais aucune liberté n’a été gagnée, pour les gens qui s’en soucient », écrit-il. « [About] la même quantité de code est fermée [as before]. »