NVK, en open source Vulkan-driver til NVIDIA-grafikkort, er blevet afsløret

Collabora har frigivet NVK, en ny open source-driver til Mesa, der implementerer Vulkan-grafik-API'en til NVIDIA-grafikkort. Driveren er skrevet fra bunden ved hjælp af officielle header-filer og åbne kernemoduler udgivet af NVIDIA. Driverkoden er open source under MIT-licensen. Driveren understøtter kun GPU'er baseret på Turing- og Ampere-mikroarkitekturer udgivet siden september 2018.

Projektet udvikles af et team, der omfatter Karol Herbst, Nouveau-udvikler hos Red Hat, David Airlie, DRM-subsystem-vedligeholder hos Red Hat, og Jason Ekstrand, aktiv Mesa-udvikler hos Collabora. Når man udvikler en ny driver, bruges de grundlæggende komponenter i Nouveau OpenGL-driveren nogle steder, men på grund af forskellene i navnene i NVIDIA-header-filerne og de reverse engineering-navne i Nouveau, er direkte kodelån vanskeligt og for det meste det var nødvendigt at gentænke mange ting og implementere dem med nul.

Udvikling er også i gang med henblik på at skabe en ny reference Vulkan-driver til Mesa, hvis kode kan lånes ved oprettelse af andre drivere. For at gøre dette forsøgte vi, når vi arbejdede på NVK-driveren, at tage hensyn til al den tilgængelige erfaring med at udvikle Vulkan-drivere, vedligeholde kodebasen i en optimal form og minimere overførslen af ​​kode fra andre Vulkan-drivere, og gøre hvad der skulle gøres. for optimalt arbejde af høj kvalitet, og ikke blindt kopiere, hvad der gøres i andre drivere.

NVK-driveren har kun været under udvikling i et par måneder, så dens funktionalitet er begrænset. Driveren består 98 % af testene, når den kører 10 % af testene fra Vulkan CTS (Compatibility Test Suite). Generelt anslås førerens parathed til 20-25 % af funktionaliteten af ​​ANV- og RADV-drivere. Med hensyn til hardwaresupport er driveren i øjeblikket begrænset til kort baseret på Turing- og Ampere-mikroarkitekturer. Der arbejdes på patches til at understøtte Kepler, Maxwell og Pascal GPU'er, men de er ikke klar endnu.

På lang sigt forventes NVK-driveren til NVIDIA-grafikkort at nå et niveau af kvalitet og funktionalitet, der svarer til RADV-driveren til AMD-kort. Når NVK-driveren er klar, kan de delte biblioteker, der er oprettet under udviklingen, bruges til at forbedre Nouveau OpenGL-driveren til NVIDIA-videokort. Muligheden for at bruge Zink-projektet til at implementere en fuldgyldig OpenGL-driver til NVIDIA-videokort, der fungerer gennem opkaldsoversættelse til Vulkan API, overvejes også.

Kilde: opennet.ru

Tilføj en kommentar