NVK, open-source ovladač Vulkan pro grafické karty NVIDIA, byl odhalen

Collabora vydala NVK, nový open source ovladač pro Mesa implementující grafické API Vulkan pro grafické karty NVIDIA. Ovladač je napsán od začátku pomocí oficiálních hlavičkových souborů a otevřených modulů jádra publikovaných společností NVIDIA. Kód ovladače je open source pod licencí MIT. Ovladač podporuje pouze GPU založené na mikroarchitekturách Turing a Ampere vydaných od září 2018.

Projekt vyvíjí tým, který zahrnuje Karola Herbsta, vývojáře Nouveau ve společnosti Red Hat, Davida Airlieho, správce subsystému DRM ve společnosti Red Hat, a Jasona Ekstranda, aktivního vývojáře Mesa ve společnosti Collabora. Při vývoji nového ovladače se místy používají základní komponenty ovladače Nouveau OpenGL, ale kvůli rozdílům v názvech v hlavičkových souborech NVIDIA a názvech reverzního inženýrství v Nouveau je přímé vypůjčení kódu obtížné a většinou bylo nutné mnoho věcí přehodnotit a realizovat s nulou.

Vývoj probíhá také s ohledem na vytvoření nového referenčního ovladače Vulkan pro Mesa, jehož kód si lze vypůjčit při vytváření dalších ovladačů. Abychom toho dosáhli, při práci na ovladači NVK jsme se pokusili vzít v úvahu všechny dostupné zkušenosti s vývojem ovladačů Vulkan, udržovat kódovou základnu v optimální formě a minimalizovat přenos kódu z jiných ovladačů Vulkan, dělat to, co je třeba udělat pro optimální a kvalitní práci a ne slepé kopírování toho, co se dělá v jiných ovladačích.

Ovladač NVK se vyvíjí teprve pár měsíců, takže jeho funkčnost je omezená. Ovladač úspěšně projde 98 % testů při spuštění 10 % testů z Vulkan CTS (Compatibility Test Suite). Obecně se připravenost řidiče odhaduje na 20-25 % funkčnosti řidičů ANV a RADV. Co se týče hardwarové podpory, ovladač je zatím omezen na karty založené na mikroarchitekturách Turing a Ampere. Pracuje se na záplatách pro podporu GPU Kepler, Maxwell a Pascal, ale ještě nejsou připraveny.

Z dlouhodobého hlediska se očekává, že ovladač NVK pro grafické karty NVIDIA dosáhne úrovně kvality a funkčnosti podobné ovladači RADV pro karty AMD. Poté, co bude ovladač NVK připraven, lze sdílené knihovny vytvořené během jeho vývoje použít k vylepšení ovladače Nouveau OpenGL pro grafické karty NVIDIA. Zvažuje se také možnost využití projektu Zink k implementaci plnohodnotného OpenGL ovladače pro grafické karty NVIDIA, který funguje prostřednictvím překladu volání do Vulkan API.

Zdroj: opennet.ru

Přidat komentář