NVK, Vulkan драйвер с отворен код за NVIDIA графични карти, беше представен

Collabora пусна NVK, нов драйвер с отворен код за Mesa, внедряващ графичния API Vulkan за графични карти на NVIDIA. Драйверът е написан от нулата с помощта на официални заглавни файлове и отворени модули на ядрото, публикувани от NVIDIA. Кодът на драйвера е с отворен код под лиценза на MIT. Драйверът поддържа само графични процесори, базирани на микроархитектури Turing и Ampere, пуснати от септември 2018 г.

Проектът се разработва от екип, който включва Карол Хербст, разработчик на Nouveau в Red Hat, Дейвид Еърли, поддържащ DRM подсистема в Red Hat, и Джейсън Екстранд, активен разработчик на Mesa в Collabora. При разработването на нов драйвер на места се използват основните компоненти на драйвера Nouveau OpenGL, но поради разликите в имената в заглавните файлове на NVIDIA и имената за обратно инженерство в Nouveau, директното заемане на код е трудно и в по-голямата си част беше необходимо да се преосмислят много неща и да се приложат с нула.

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

Драйверът за NVK се разработва само от няколко месеца, така че функционалността му е ограничена. Драйверът преминава успешно 98% от тестовете при изпълнение на 10% от тестовете от Vulkan CTS (Комплект за тестове за съвместимост). Като цяло готовността на драйвера се оценява на 20-25% от функционалността на драйверите ANV и RADV. По отношение на хардуерната поддръжка драйверът в момента е ограничен до карти, базирани на микроархитектури Turing и Ampere. Работи се върху пачове за поддръжка на графични процесори Kepler, Maxwell и Pascal, но те все още не са готови.

В дългосрочен план се очаква NVK драйверът за графични карти на NVIDIA да достигне ниво на качество и функционалност, подобно на RADV драйвера за AMD карти. След като NVK драйверът е готов, споделените библиотеки, създадени по време на разработката му, могат да се използват за подобряване на драйвера Nouveau OpenGL за видеокарти NVIDIA. Разглежда се и възможността за използване на проекта Zink за внедряване на пълноценен OpenGL драйвер за видеокарти на NVIDIA, който работи чрез превод на повиквания към API на Vulkan.

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

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