Bien que le nouveau dont nous venons de parler commence à débarquer le support open source GeForce RTX 30″Ampere”est passionnant, comme mentionné, il reste encore des obstacles à surmonter pour avoir de bonnes performances de pilote NVIDIA open source sur les GPU modernes. Une nouvelle tout aussi excitante est que Nouveau a commencé à adapter une partie de son code dans une bibliothèque autonome afin qu’il puisse être utilisé à l’avenir par d’autres nouveaux pilotes.
Ces derniers jours, des travaux ont commencé sur la restructuration du code du pilote Nouveau Mesa autour de la génération de code afin qu’il puisse vivre dans une bibliothèque autonome.
Ceci est simplement résumé à ce moment par David Airlie de Red Hat comme suit :”Cela ne fait que déplacer la construction du codegen dans une bibliothèque distincte, il s’agit simplement d’un travail de préparation pour un avenir où un autre pilote voudra réutiliser ce code. ce n’est pas parfait pour brancher un pilote vulkan, mais cela nécessite une intervention chirurgicale plus approfondie.”
Fondamentalement, cet effort actuel consiste à déplacer la génération de code du pilote dans une bibliothèque autonome à l’intérieur de Mesa afin qu’elle puisse être facilement réutilisée par d’autres futurs codes en dehors du Nouveau Gallium3D. Parmi les utilisations les plus probables avec cette bibliothèque autonome, citons :
-Travailler sur un pilote Nouveau Vulkan tout en partageant la génération de code du compilateur de shader entre les pilotes… Outre les performances, l’absence d’un pilote NVIDIA Vulkan open source a été l’une des les gros points sensibles de l’effort Nouveau en 2022 avec la plupart des jeux Linux, soit nativement, soit via Steam Play, capables d’utiliser l’API Vulkan.
– Travailler sur un nouveau pilote Mesa pour utiliser le pilote de noyau récemment open source de NVIDIA. C’est très probable aussi. Fondamentalement, avec toutes les interfaces de noyau modifiées lors de la comparaison du pilote Nouveau DRM/KMS avec le nouveau pilote de noyau de NVIDIA sur lequel ils ont travaillé, il peut être plus facile de partir d’une ardoise plus propre/de transformer le code du pilote Nouveau en un nouveau pilote distinct qui explicitement cible ce nouveau pilote de noyau. Ce nouveau pilote serait également en mesure de se concentrer uniquement sur les nouveaux GPU Turing et au-delà pris en charge par ce pilote de noyau et d’éliminer tout le support ancien/hérité et d’autres crufts qui se sont accumulés dans le code Nouveau Mesa au fil des ans.
Ou très probablement, les deux scénarios.
Comme indiqué dans les précédents articles open source de NVIDIA, si NVIDIA souhaite que son nouveau pilote de noyau open source soit finalement intégré au noyau Linux en amont, il aura besoin d’un pilote d’espace utilisateur open source qui exerce toutes les interfaces de noyau exposées… Avec cela, il est peu probable que NVIDIA ouvre ses pilotes open source OpenGL ou Vulkan, via les ingénieurs NVIDIA et leurs partenaires Red Hat, ils devraient proposer l’utilisation du pilote Mesa de ce nouveau pilote de noyau-soit en adaptant leur code Nouveau Gallium3D existant pour prendre en charge ce pilote de noyau, soit à en juger par la restructuration de ce code Mesa, il pourrait prendre la forme d’un nouveau pilote Mesa.
Dans tous les cas, le changement en attente pour déplacer Nouveau’s la génération de code dans une bibliothèque autonome n’est qu’une petite étape initiale de l’effort beaucoup plus important de mise en place de tout nouveau pilote NVIDIA open source au sein de Mesa. Dans l’état actuel des choses, ce code en attente n’a pas d’impact immédiat sur les utilisateurs finaux. Au moins, cela se produit et Red Hat continue d’être partenaire de NVIDIA dans le cadre de cet effort pluriannuel de pilotes open source.
En attendant, en ce qui concerne le pilote du noyau DRM/KMS en amont de Nouveau, il n’y a pas eu de travail majeur à signaler ces derniers temps. Plus que probablement, nous verrons ce pilote stagner davantage et rester pour ceux qui utilisent des GPU pré-Turing souhaitant utiliser le pilote open-source… Pour rappel, ce pilote n’est vraiment pratique et performant que pour GeForce GTX 600/700 GPU”Kepler”et matériel GTX 750″Maxwell1″où le re-clocking peut être réalisé pour atteindre les meilleurs états de performance. Les ingénieurs de Red Hat sont le principal contributeur au pilote du noyau Nouveau au cours des dernières années et s’ils concentrent toutes leurs ressources sur ce pilote de noyau open source NVIDIA moderne, ne vous attendez pas à ce que beaucoup d’activités de code futures se produisent pour ce pilote open-source. source, pilote de noyau rétro-conçu.
Restez à l’écoute de Phoronix au fur et à mesure de l’évolution de cet effort de pilote open source NVIDIA moderne : il faudra probablement encore plusieurs mois avant que le pilote de noyau open source NVIDIA ne soit candidat à l’intégration dans le noyau.