NVK, open source ovladač Vulkan pro NVIDIA

NVK-Logo_RGB

NVK je nový open source ovladač Vulkan pro grafický hardware NVIDIA

Collabora spustila NVK, nový open source ovladač pro Mesa that implementuje grafické rozhraní 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 vydaných společností NVIDIA.

Při vývoji nového ovladače Na některých místech jsou použity komponenty jádra ovladače Nouveau OpenGL, ale kvůli rozdílům v názvech hlavičkových souborů NVIDIA a názvech reverzního inženýrství v Nouveau je opětovné použití kódu obtížné a z velké části vyžadovalo spoustu přehodnocení a implementace od začátku.

Vývoj také probíhá s cílem vytvořit nový ovladač Vulkan reference pro Mesa, jejíž kód lze vypůjčit při vytváření dalších ovladačů.

Podpora hardwaru NVIDIA v open source ovladačích vždy trochu chyběla. Ovladače Nouveau existují, ale často jim chybí funkce, mají chyby nebo prostě nejsou kompatibilní s určitými kartami. To je způsobeno kombinací faktorů. Na rozdíl od ovladačů Intel a AMD byla sada ovladačů nouveau vyvinuta s malou nebo žádnou oficiální dokumentací nebo pomocí NVIDIA. Občas zde poskytují drobné rekvizity. Historicky se zaměřoval především na umožnění nouveau natolik, že si můžete nainstalovat distribuci Linuxu, přistupovat k webovému prohlížeči a stáhnout si jeho proprietární sadu ovladačů.

K tomu je zmíněno, že během práce ovladače NVK, byl učiněn pokus vzít v úvahu všechny dostupné zkušenosti při vývoji ovladačů Vulkan, udržovat základnu kódu v optimálním tvaru a minimalizovat přenos kódu z jiných ovladačů Vulkan, dělat to, co je třeba udělat pro vysoce kvalitní a optimální práci.

Ovladač NVK byl ve vývoji teprve několik měsíců, takže jeho funkčnost je omezená. Ovladač úspěšně absolvuje 98 % testů při spuštění 10 % testů Vulkan CTS (Compatibility Test Suite).

Obecně se školení řidičů odhaduje na 20-25 % funkčnosti ovladačů ANV a RADV. Z hlediska hardwarové podpory je ovladač zatím omezen na karty založené na mikroarchitekturách Turing a Ampere. Záplaty pro podporu GPU Kepler, Maxwell a Pascal jsou v práci, ale ještě nejsou připraveny.

Pravděpodobně největší oblastí technického boje bylo správné vytlačení hardwaru z prostoru jádra. Hardware NVIDIA spoléhá na podepsaný firmware pro vše od zobrazení přes provádění úloh až po správu napájení. Firmwarové bloby, které NVIDIA poskytovala v minulosti, byly oříznuté verze, které vytvořila pouze pro ovladače s otevřeným zdrojovým kódem.

Z dlouhodobého hlediska očekává se, že ovladač NVK pro grafické karty NVIDIA dosáhne podobné úrovně kvality a funkčnosti jako ovladač RADV pro karty AMD. Jakmile je ovladač NVK připraven, sdílené knihovny vytvořené během jeho vývoje lze použít k vylepšení ovladače Nouveau OpenGL pro grafické karty NVIDIA.

Také se o tom uvažuje možnost použijte projekt Zink k implementaci ovladače OpenGL pro grafické karty NVIDIA, které fungují prostřednictvím překladu volání Vulkan API.

Z dlouhodobého hlediska je naděje, že NVK bude pro hardware NVIDIA tím, čím je RADV pro hardware AMD.

Na závěr je pro zájemce o projekt zmíněno, že je vyvíjen společností tým, který zahrnuje Karol Herbst (vývojář Nouveau ve společnosti Red Hat), David Airlie (správce DRM ve společnosti Red Hat) a Jason Ekstrand (aktivní vývojář Mesa v Collabora).

Pokud jde o kód ovladače, měli byste to vědět Jedná se o open source pod licencí MIT. Ovladač podporuje pouze GPU založené na mikroarchitekturách Turing a Ampere vydaných od září 2018. Pokud se o něm chcete dozvědět více, můžete se podívat na podrobnosti Na následujícím odkazu.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.