Bemutattuk az NVK-t, egy nyílt Vulkan illesztőprogramot NVIDIA videokártyákhoz

A Collabora bemutatta az NVK-t, a Mesa új nyílt forráskódú illesztőprogramját, amely megvalósítja a Vulkan grafikus API-t az NVIDIA videokártyákhoz. Az illesztőprogramot a semmiből írják az NVIDIA által közzétett hivatalos fejlécfájlok és nyílt forráskódú kernelmodulok segítségével. Az illesztőprogram kódja nyílt forráskódú, az MIT licenc alatt. Az illesztőprogram jelenleg csak a 2018 szeptembere óta kiadott Turing és Ampere mikroarchitektúrán alapuló GPU-kat támogatja.

A projektet egy olyan csapat fejleszti, amelynek tagjai Karol Herbst, a Red Hat Nouveau fejlesztője, David Airlie, a Red Hat DRM karbantartója és Jason Ekstrand, a Collabora aktív Mesa fejlesztője. Egy új meghajtó fejlesztésekor helyenként a Nouveau OpenGL meghajtó alapkomponenseit használják, de az NVIDIA fejlécfájljaiban és a reverse engineering alapján nyert Nouveau-ban lévő elnevezések eltérései miatt a közvetlen kölcsönzés a kód nehéz és nagyrészt sok mindent át kellett gondolni és nullával implementálni.

A fejlesztés során egy új referencia Vulkan illesztőprogram létrehozása is folyik a Mesa számára, amelynek kódja kölcsönözhető más illesztőprogramok létrehozásakor. Ennek érdekében az illesztőprogramon végzett munka során az NVK igyekezett figyelembe venni a Vulkan illesztőprogramok fejlesztésében szerzett összes meglévő tapasztalatot, optimális formában karbantartani a kódbázist, és minimalizálni a kód átvitelét más Vulkan illesztőprogramokból, úgy tett, ahogyan az optimálisnak kell lennie. és jó minőségű munka, és nem vakon másolása, hogyan csinálták más illesztőprogramokban.

Az NVK illesztőprogramja még csak néhány hónapja fejlesztés alatt áll, így a funkcionalitása korlátozott. Az illesztőprogram sikeresen teljesíti a tesztek 98%-át, amikor a Vulkan CTS (Compatibility Test Suite) tesztjeinek 10%-át futtatja. A vezető készenléte általában az ANV és RADV illesztőprogramok funkcionalitásának 20-25%-ára becsülhető. A hardver támogatását tekintve az illesztőprogram jelenleg a Turing és Ampere mikroarchitektúrán alapuló kártyákra korlátozódik. Folyamatban vannak a Kepler, Maxwell és Pascal GPU-k támogatására szolgáló javítások, de még nincsenek készen.

Hosszú távon az NVIDIA grafikus kártyák NVK illesztőprogramja várhatóan az AMD kártyák RADV illesztőprogramjához hasonló minőségi és funkcionalitási szintet fog elérni. Az NVK illesztőprogram készenléte után a fejlesztése során létrehozott általános könyvtárak felhasználhatók az NVIDIA videokártyák Nouveau OpenGL illesztőprogramjának fejlesztésére. Szintén fontolóra veszi annak lehetőségét, hogy a Zink projekt segítségével egy teljes értékű OpenGL-illesztőprogramot valósítsanak meg NVIDIA videokártyákhoz, a Vulkan API-hoz sugárzott hívásokon keresztül.

Forrás: opennet.ru

Hozzászólás