NVK, un pilote ouvert pour les cartes graphiques NVIDIA, prend en charge Vulkan 1.0

Le consortium Khronos, qui développe des normes graphiques, a reconnu la compatibilité totale du pilote ouvert NVK pour les cartes vidéo NVIDIA avec la spécification Vulkan 1.0. Le conducteur a réussi tous les tests du CTS (Kronos Conformance Test Suite) et figure dans la liste des conducteurs certifiés. La certification a été obtenue pour les GPU NVIDIA basés sur la microarchitecture Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Le test a été réalisé dans un environnement avec le noyau Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 et GNOME Shell 44.4. L'obtention du certificat permet de déclarer officiellement la compatibilité avec les standards graphiques et d'utiliser les marques Khronos associées.

Le pilote NVK a été créé à partir de zéro par une équipe comprenant Karol Herbst (développeur Nouveau chez Red Hat), David Airlie (responsable DRM chez Red Hat) et Jason Ekstrand (développeur Mesa actif chez Collabora). Lors de la création du pilote, les développeurs ont utilisé des fichiers d'en-tête officiels et des modules de noyau ouverts publiés par NVIDIA. Le code NVK utilisait certains composants de base du pilote Nouveau OpenGL à certains endroits, mais en raison des différences entre les noms dans les fichiers d'en-tête NVIDIA et les noms issus de l'ingénierie inverse dans Nouveau, l'emprunt direct du code est difficile et pour la plupart beaucoup de choses ont dû être repensées et mises en œuvre à partir de zéro.

Le développement a été réalisé en vue de créer un nouveau pilote Vulkan de référence pour Mesa, dont le code pourrait être emprunté lors de la création d'autres pilotes. Pour ce faire, en travaillant sur le pilote NVK, ils ont essayé de prendre en compte toute l'expérience existante 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 comme il se doit. un travail optimal et de haute qualité, et ne pas copier aveuglément ce qui est fait dans d'autres pilotes. Le pilote est déjà inclus dans Mesa et les modifications nécessaires à l'API du pilote Nouveau DRM sont incluses dans le noyau Linux 6.6.

Parmi les changements apportés à l'annonce, Mesa note également l'adoption d'un nouveau compilateur backend pour NVK, écrit dans le langage Rust et résolvant les problèmes de l'ancien compilateur qui interféraient avec le passage des textes Kronos, ainsi que l'élimination de certaines limitations fondamentales du architecture qui ne pouvait être corrigée sans une refonte complète de l'ancien compilateur. Parmi les projets pour l'avenir, l'ajout du support GPU basé sur la microarchitecture Maxwell et la mise en œuvre du support complet de l'API Vulkan 1.3 sont mentionnés dans le nouveau backend.

Source: opennet.ru

Ajouter un commentaire