NVK, 'n oopbron Vulkan-bestuurder vir NVIDIA-grafiese kaarte, is onthul

Collabora het NVK vrygestel, 'n nuwe oopbronbestuurder vir Mesa wat die Vulkan-grafiese API vir NVIDIA-grafiese kaarte implementeer. Die bestuurder word van nuuts af geskryf met behulp van amptelike koplêers en oop kernmodules wat deur NVIDIA gepubliseer is. Die bestuurderskode is oopbron onder die MIT-lisensie. Die bestuurder ondersteun slegs GPU's gebaseer op Turing- en Ampere-mikro-argitekture wat sedert September 2018 vrygestel is.

Die projek word ontwikkel deur 'n span wat Karol Herbst, Nouveau-ontwikkelaar by Red Hat, David Airlie, DRM-substelselonderhouer by Red Hat, en Jason Ekstrand, aktiewe Mesa-ontwikkelaar by Collabora, insluit. Wanneer 'n nuwe drywer ontwikkel word, word die basiese komponente van die Nouveau OpenGL-bestuurder plek-plek gebruik, maar as gevolg van die verskille in die name in die NVIDIA-koplêers en die omgekeerde ingenieursname in Nouveau, is direkte kode-leen moeilik en vir die grootste deel dit was nodig om baie dinge te heroorweeg en dit met nul te implementeer.

Ontwikkeling is ook aan die gang met die oog op die skep van 'n nuwe verwysings-Vulkan-bestuurder vir Mesa, waarvan die kode geleen kan word wanneer ander drywers geskep word. Om dit te doen, toe ons aan die NVK-bestuurder gewerk het, het ons probeer om al die beskikbare ervaring in die ontwikkeling van Vulkan-bestuurders in ag te neem, die kodebasis in 'n optimale vorm te handhaaf en die oordrag van kode vanaf ander Vulkan-bestuurders te minimaliseer, deur te doen wat gedoen moet word vir optimale en hoë kwaliteit werk, en nie blindelings kopieer wat in ander drywers gedoen word nie.

Die NVK-bestuurder is nog net 'n paar maande onder ontwikkeling, so sy funksionaliteit is beperk. Die bestuurder slaag 98% van die toetse suksesvol wanneer 10% van die toetse van die Vulkan CTS (Compatibiliteitstoetssuite) uitgevoer word. In die algemeen word bestuurdergereedheid geskat op 20-25% van die funksionaliteit van ANV- en RADV-bestuurders. Wat hardeware-ondersteuning betref, is die bestuurder tans beperk tot kaarte gebaseer op Turing- en Ampere-mikro-argitekture. Werk is aan die gang aan pleisters om Kepler, Maxwell en Pascal GPU's te ondersteun, maar hulle is nog nie gereed nie.

Op die lang termyn word verwag dat die NVK-bestuurder vir NVIDIA-grafiese kaarte 'n vlak van kwaliteit en funksionaliteit sal bereik soortgelyk aan die RADV-bestuurder vir AMD-kaarte. Nadat die NVK-bestuurder gereed is, kan die gedeelde biblioteke wat tydens die ontwikkeling daarvan geskep is, gebruik word om die Nouveau OpenGL-bestuurder vir NVIDIA-videokaarte te verbeter. Die moontlikheid om die Zink-projek te gebruik om 'n volwaardige OpenGL-bestuurder vir NVIDIA-videokaarte te implementeer wat deur oproepvertaling na die Vulkan API werk, word ook oorweeg.

Bron: opennet.ru

Voeg 'n opmerking