Predstavil NVK, otvorený ovládač Vulkan pre grafické karty NVIDIA

Spoločnosť Collabora predstavila NVK, nový open source ovládač pre Mesa, ktorý implementuje grafické API Vulkan pre grafické karty NVIDIA. Ovládač je napísaný od začiatku pomocou oficiálnych hlavičkových súborov a modulov jadra s otvoreným zdrojovým kódom publikovaných spoločnosťou NVIDIA. Kód ovládača je otvorený pod licenciou MIT. Ovládač v súčasnosti podporuje iba GPU založené na mikroarchitektúrach Turing a Ampere, ktoré sú vydané od septembra 2018.

Projekt vyvíja tím, ktorý zahŕňa Karola Herbsta, vývojára Nouveau zo spoločnosti Red Hat, Davida Airlieho, správcu DRM v spoločnosti Red Hat, a Jasona Ekstranda, aktívneho vývojára Mesa v spoločnosti Collabora. Pri vývoji nového ovládača sa na niektorých miestach používajú základné komponenty ovládača Nouveau OpenGL, ale kvôli rozdielom v názvoch v hlavičkových súboroch NVIDIA a názvoch v Nouveau, získaných na základe reverzného inžinierstva, je priame zapožičanie kód je ťažký a väčšinou bolo potrebné veľa vecí premyslieť a implementovať s nulou.

Vývoj prebieha aj s ohľadom na vytvorenie nového referenčného ovládača Vulkan pre Mesa, ktorého kód si možno požičať pri vytváraní ďalších ovládačov. Aby to bolo možné, pri práci na ovládači sa NVK pokúsila vziať do úvahy všetky existujúce skúsenosti s vývojom ovládačov Vulkan, udržiavať kódovú základňu v optimálnej forme a minimalizovať prenos kódu z iných ovládačov Vulkan tak, ako by malo byť pre optimálne a kvalitná práca, a nie slepé kopírovanie toho, ako to bolo urobené v iných ovládačoch.

Ovládač NVK je vo vývoji len pár mesiacov, takže jeho funkčnosť je obmedzená. Ovládač úspešne prejde 98 % testov pri spustení 10 % testov z Vulkan CTS (Compatibility Test Suite). Vo všeobecnosti sa pripravenosť vodiča odhaduje na 20 – 25 % funkčnosti vodičov ANV a RADV. Pokiaľ ide o hardvérovú podporu, ovládač je v súčasnosti obmedzený na karty založené na mikroarchitektúrach Turing a Ampere. Pracuje sa na záplatách pre podporu GPU Kepler, Maxwell a Pascal, ale ešte nie sú pripravené.

Z dlhodobého hľadiska sa očakáva, že ovládač NVK pre grafické karty NVIDIA dosiahne úroveň kvality a funkčnosti podobnú ovládaču RADV pre karty AMD. Keď je ovládač NVK pripravený, bežné knižnice vytvorené počas jeho vývoja možno použiť na vylepšenie ovládača Nouveau OpenGL pre grafické karty NVIDIA. Zvažuje sa aj možnosť využitia projektu Zink na implementáciu plnohodnotného ovládača OpenGL pre grafické karty NVIDIA, fungujúceho prostredníctvom vysielania volaní do Vulkan API.

Zdroj: opennet.ru

Pridať komentár