NVK, un pilote Vulkan open source pour les cartes graphiques NVIDIA, a été dévoilé

Collabora a publié NVK, un nouveau pilote open source pour Mesa implémentant l'API graphique Vulkan pour les cartes graphiques NVIDIA. Le pilote est écrit à partir de zéro à l'aide de fichiers d'en-tête officiels et de modules de noyau ouvert publiés par NVIDIA. Le code du pilote est open source sous licence MIT. Le pilote ne prend en charge que les GPU basés sur les microarchitectures Turing et Ampere publiées depuis septembre 2018.

Le projet est développé par une équipe qui comprend Karol Herbst, développeur Nouveau chez Red Hat, David Airlie, responsable du sous-système DRM chez Red Hat et Jason Ekstrand, développeur Mesa actif chez Collabora. Lors du développement d'un nouveau pilote, les composants de base du pilote Nouveau OpenGL sont utilisés par endroits, mais en raison des différences dans les noms des fichiers d'en-tête NVIDIA et des noms d'ingénierie inverse dans Nouveau, l'emprunt direct de code est difficile et pour la plupart il fallait repenser beaucoup de choses et les mettre en œuvre avec zéro.

Le développement est également en cours en vue de créer un nouveau pilote Vulkan de référence pour Mesa, dont le code pourra être emprunté lors de la création d'autres pilotes. Pour ce faire, lorsque nous travaillons sur le pilote NVK, nous avons essayé de prendre en compte toute l'expérience disponible dans le développement de pilotes Vulkan, de maintenir la base de code sous une forme optimale et de minimiser le transfert de code depuis d'autres pilotes Vulkan, en faisant ce qui doit être fait. pour un travail optimal et de qualité, et ne pas copier aveuglément ce qui se fait dans d'autres pilotes.

Le pilote NVK n'est en développement que depuis quelques mois, ses fonctionnalités sont donc limitées. Le pilote réussit 98 % des tests en exécutant 10 % des tests de Vulkan CTS (Compatibility Test Suite). En général, la préparation du conducteur est estimée à 20 à 25 % de la fonctionnalité des pilotes ANV et RADV. En termes de support matériel, le pilote est actuellement limité aux cartes basées sur les microarchitectures Turing et Ampere. Des travaux sont en cours sur des correctifs pour prendre en charge les GPU Kepler, Maxwell et Pascal, mais ils ne sont pas encore prêts.

À long terme, le pilote NVK pour les cartes graphiques NVIDIA devrait atteindre un niveau de qualité et de fonctionnalités similaire au pilote RADV pour les cartes AMD. Une fois le pilote NVK prêt, les bibliothèques partagées créées lors de son développement peuvent être utilisées pour améliorer le pilote Nouveau OpenGL pour les cartes vidéo NVIDIA. La possibilité d'utiliser le projet Zink pour implémenter un pilote OpenGL à part entière pour les cartes vidéo NVIDIA fonctionnant via la traduction d'appels vers l'API Vulkan est également envisagée.

Source: opennet.ru

Ajouter un commentaire