NVK, отворен драйвер за графични карти NVIDIA, поддържа Vulkan 1.0

Консорциумът Khronos, който разработва графични стандарти, призна пълната съвместимост на отворения NVK драйвер за видеокарти NVIDIA със спецификацията Vulkan 1.0. Драйверът е преминал успешно всички тестове от CTS (Kronos Conformance Test Suite) и е включен в списъка на сертифицираните драйвери. Завършено е сертифицирането за графични процесори NVIDIA, базирани на микроархитектурата Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Тестът беше извършен в среда с Linux ядро ​​6.5, X.Org X Server 1.20.14, XWayland 22.1.9 и GNOME Shell 44.4. Получаването на сертификата ви позволява официално да декларирате съвместимост с графичните стандарти и да използвате свързаните търговски марки Khronos.

NVK драйверът е създаден от нулата от екип, включващ Karol Herbst (разработчик на Nouveau в Red Hat), David Airlie (DRM поддържащ в Red Hat) и Jason Ekstrand (активен разработчик на Mesa в Collabora). При създаването на драйвера разработчиците са използвали официални заглавни файлове и отворени модули на ядрото, публикувани от NVIDIA. NVK кодът използва някои основни компоненти на Nouveau OpenGL драйвера на някои места, но поради разликите в имената в заглавните файлове на NVIDIA и обратно проектираните имена в Nouveau, директното заемане на кода е трудно и в по-голямата си част много неща трябваше да бъдат преосмислени и внедрени от нулата.

Разработката беше извършена с оглед на създаването на нов референтен Vulkan драйвер за Mesa, чийто код може да бъде заимстван при създаване на други драйвери. За да направят това, когато работят върху NVK драйвера, те се опитаха да вземат предвид целия съществуващ опит в разработването на Vulkan драйвери, да поддържат кодовата база в оптимална форма и да сведат до минимум прехвърлянето на код от други Vulkan драйвери, правейки както трябва да бъде за оптимална и качествена работа, а не сляпо копиране на това как се прави в други драйвери. Драйверът вече е включен в Mesa и необходимите промени в API на драйвера Nouveau DRM са включени в ядрото на Linux 6.6.

Сред промените в съобщението Mesa също така отбелязва приемането на нов бекенд компилатор за NVK, написан на езика Rust и решаващ проблеми в стария компилатор, които пречат на преминаването на текстовете на Kronos, както и премахване на някои основни ограничения на архитектура, която не може да бъде коригирана без пълна преработка на стария компилатор. Сред плановете за бъдещето добавянето на GPU поддръжка, базирана на микроархитектурата Maxwell и внедряването на пълна поддръжка за Vulkan 1.3 API, се споменават в новия бекенд.

Източник: opennet.ru

Добавяне на нов коментар