NVK, en öppen källkod Vulkan-drivrutin för NVIDIA

NVK-Logo_RGB

NVK är en ny open source Vulkan-drivrutin för NVIDIA-grafikhårdvara

Collabora har lanserat NVK, en ny drivrutin med öppen källkod för Mesa som implementerar Vulkan grafik-API för NVIDIA-grafikkort. Drivrutinen är skriven från början med hjälp av officiella header-filer och öppna kärnmoduler släppta av NVIDIA.

När du utvecklar en ny drivrutin, Nouveau OpenGL-drivrutinens kärnkomponenter används på vissa ställen, men på grund av skillnader i NVIDIA-huvudfilnamn och omvänd konstruktionsnamn i Nouveau är kodåteranvändning svårt och krävde för det mesta mycket omtänkande och implementering från grunden.

Utvecklingen också pågår med sikte på att skapa en ny Vulkan-drivrutin referens för Mesa, vars kod kan lånas när man skapar andra kontroller.

Stöd för NVIDIA-hårdvara i drivrutiner med öppen källkod har alltid varit lite bristfällig. Nouveau-drivrutiner finns, men de saknar ofta funktioner, har buggar eller är helt enkelt inte kompatibla med vissa kort. Detta beror på en kombination av faktorer. Till skillnad från Intel- och AMD-drivrutinerna har den nya drivrutinstacken utvecklats med lite eller ingen officiell dokumentation eller hjälp från NVIDIA. De tillhandahåller då och då små rekvisita här. Historiskt har det främst fokuserat på att aktivera nouveau tillräckligt för att du kan installera din Linux-distribution, komma åt en webbläsare och ladda ner dess proprietära drivrutinsstack.

För att göra detta nämns det att under NVK-förarens arbete, ett försök gjordes att ta hänsyn till all tillgänglig erfarenhet av utvecklingen av Vulkan-drivrutiner, håll kodbasen i optimal form och minimera överföringen av kod från andra Vulkan-drivrutiner, gör vad som bör göras för högkvalitativt, optimalt arbete.

NVK-föraren har bara varit under utveckling i några månader, så dess funktionalitet är begränsad. Styrenheten klarar 98 % av testerna när du kör 10 % av Vulkan CTS (Compatibility Test Suite)-testerna.

Generellt uppskattas förarutbildningen till 20-25 % av funktionaliteten hos ANV- och RADV-styrenheter. När det gäller hårdvarustöd är drivrutinen för närvarande begränsad till kort baserad på mikroarkitekturer Turing och Ampère. Patchar för att stödja Kepler, Maxwell och Pascal GPU:er är under arbete, men är inte klara än.

Förmodligen har det största området för teknisk kamp varit korrekt drivning av hårdvara från kärnutrymmet. NVIDIA-hårdvaran förlitar sig på signerad firmware för allt från visning till jobbexekvering till energihantering. Firmware blobs som NVIDIA tillhandahållit tidigare var avskalade versioner som de skapade endast för drivrutiner med öppen källkod.

På lång sikt NVK-drivrutinen för NVIDIA-grafikkort förväntas uppnå en liknande nivå av kvalitet och funktionalitet som RADV-drivrutinen för AMD-kort. När NVK-drivrutinen är klar kan de delade bibliotek som skapades under dess utveckling användas för att förbättra Nouveau OpenGL-drivrutinen för NVIDIA-grafikkort.

Det övervägs också möjligheten att använd Zink-projektet för att implementera en OpenGL-drivrutin för NVIDIA-grafikkort som fungerar genom översättning av Vulkan API-anrop.

På lång sikt är förhoppningen att NVK ska vara för NVIDIA-hårdvara vad RADV är för AMD-hårdvara.

Slutligen, för de som är intresserade av projektet, nämns det att utvecklas av ett lag som inkluderar Karol Herbst (Nouveau-utvecklare på Red Hat), david airlie (DRM-underhållare på Red Hat) och Jason Ekstrand (aktiv utvecklare av Mesa i Collabora).

När det gäller kontrollkoden bör du veta det Det är öppen källkod under MIT-licensen. Drivrutinen stöder endast GPU:er baserade på Turing- och Ampere-mikroarkitekturer som släppts sedan september 2018. Om du vill veta mer om det kan du hänvisa till detaljerna I följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.