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