NVK, un controlador obert per a targetes gràfiques NVIDIA, admet Vulkan 1.0

El consorci Khronos, que desenvolupa estàndards gràfics, ha reconegut la compatibilitat total del controlador NVK obert per a les targetes de vídeo NVIDIA amb l'especificació Vulkan 1.0. El conductor ha superat amb èxit totes les proves de la CTS (Kronos Conformance Test Suite) i està inclòs a la llista de conductors certificats. S'ha completat la certificació per a les GPU NVIDIA basades en la microarquitectura Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). La prova es va realitzar en un entorn amb el nucli Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 i GNOME Shell 44.4. L'obtenció del certificat us permet declarar oficialment la compatibilitat amb els estàndards gràfics i utilitzar les marques registrades de Khronos associades.

El controlador NVK va ser creat des de zero per un equip que inclou Karol Herbst (desenvolupador Nouveau a Red Hat), David Airlie (mantenidor DRM a Red Hat) i Jason Ekstrand (desenvolupador actiu de Mesa a Collabora). En crear el controlador, els desenvolupadors van utilitzar fitxers de capçalera oficials i mòduls oberts del nucli publicats per NVIDIA. El codi NVK va utilitzar alguns components bàsics del controlador Nouveau OpenGL en alguns llocs, però a causa de les diferències en els noms dels fitxers de capçalera de NVIDIA i els noms d'enginyeria inversa a Nouveau, el préstec directe del codi és difícil i en la seva major part. moltes coses van haver de ser repensades i implementades des de zero.

El desenvolupament es va dur a terme amb l'objectiu de crear un nou controlador Vulkan de referència per a Mesa, el codi del qual es podia agafar en préstec en crear altres controladors. Per fer-ho, en treballar amb el controlador NVK, van intentar tenir en compte tota l'experiència existent en el desenvolupament de controladors Vulkan, mantenir la base de codi en una forma òptima i minimitzar la transferència de codi d'altres controladors Vulkan, fent el que hauria de ser per a això. treball òptim i d'alta qualitat, i no copiar a cegues com es fa en altres controladors. El controlador ja està inclòs a Mesa i els canvis necessaris a l'API del controlador Nouveau DRM s'inclouen al nucli Linux 6.6.

Entre els canvis a l'anunci, Mesa també assenyala l'adopció d'un nou compilador de fons per a NVK, escrit en el llenguatge Rust i que resol problemes a l'antic compilador que interferia amb el pas dels textos de Kronos, a més d'eliminar algunes limitacions fonamentals de l'anunci. arquitectura que no es podria corregir sense una reelaboració completa de l'antic compilador. Entre els plans per al futur, al nou backend s'esmenten l'addició del suport de GPU basat en la microarquitectura Maxwell i la implementació del suport complet per a l'API Vulkan 1.3.

Font: opennet.ru

Afegeix comentari