Introduserte NVK, en åpen Vulkan-driver for NVIDIA-skjermkort

Collabora har introdusert NVK, en ny åpen kildekode-driver for Mesa som implementerer Vulkan grafikk API for NVIDIA skjermkort. Driveren er skrevet fra bunnen av ved hjelp av offisielle header-filer og åpen kildekode-kjernemoduler publisert av NVIDIA. Førerkoden er åpen kildekode under MIT-lisensen. Driveren støtter for øyeblikket bare GPUer basert på Turing- og Ampere-mikroarkitekturene, utgitt siden september 2018.

Prosjektet utvikles av et team som inkluderer Karol Herbst, en Nouveau-utvikler hos Red Hat, David Airlie, en DRM-vedlikeholder hos Red Hat, og Jason Ekstrand, en aktiv Mesa-utvikler hos Collabora. Ved utvikling av en ny driver brukes de grunnleggende komponentene i Nouveau OpenGL-driveren enkelte steder, men på grunn av forskjellene i navnene i NVIDIA-headerfilene og navnene i Nouveau, hentet på grunnlag av reverse engineering, direkte lån av koden er vanskelig og for det meste var det nødvendig å revurdere mange ting og implementere dem med null.

Det gjennomføres også utvikling med tanke på å lage en ny referanse Vulkan-driver for Mesa, koden som kan lånes ved opprettelse av andre drivere. For å gjøre dette prøvde NVK å ta hensyn til all eksisterende erfaring med å utvikle Vulkan-drivere, vedlikeholde kodebasen i optimal form og minimere overføringen av kode fra andre Vulkan-drivere, og gjøre som den skal være for optimal og arbeid av høy kvalitet, og ikke blindt kopiere hvordan det ble gjort i andre drivere.

NVK-driveren har bare vært i utvikling i noen få måneder, så funksjonaliteten er begrenset. Driveren består 98 % av testene når han kjører 10 % av testene fra Vulkan CTS (Compatibility Test Suite). Generelt anslås førerberedskapen til 20-25 % av funksjonaliteten til ANV- og RADV-driverne. Når det gjelder maskinvarestøtte, er driveren for øyeblikket begrenset til kort basert på Turing- og Ampere-mikroarkitekturer. Det jobbes med patcher for å støtte Kepler, Maxwell og Pascal GPUer, men de er ikke klare ennå.

På lang sikt forventes NVK-driveren for NVIDIA-grafikkort å oppnå et nivå av kvalitet og funksjonalitet som ligner på RADV-driveren for AMD-kort. Når NVK-driveren er klar, kan de vanlige bibliotekene som ble opprettet under utviklingen brukes til å forbedre Nouveau OpenGL-driveren for NVIDIA-skjermkort. Muligheten for å bruke Zink-prosjektet til å implementere en fullverdig OpenGL-driver for NVIDIA-skjermkort, som arbeider gjennom kringkastingsanrop til Vulkan API, vurderes også.

Kilde: opennet.ru

Legg til en kommentar