NVK, en åpen driver for NVIDIA-grafikkort, støtter Vulkan 1.0

Khronos-konsortiet, som utvikler grafikkstandarder, har anerkjent den fulle kompatibiliteten til den åpne NVK-driveren for NVIDIA-skjermkort med Vulkan 1.0-spesifikasjonen. Sjåføren har bestått alle tester fra CTS (Kronos Conformance Test Suite) og er inkludert i listen over sertifiserte sjåfører. Sertifiseringen er fullført for NVIDIA GPUer basert på Turing-mikroarkitekturen (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Testen ble utført i et miljø med Linux-kjernen 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 og GNOME Shell 44.4. Ved å få sertifikatet kan du offisielt erklære kompatibilitet med grafikkstandarder og bruke de tilhørende Khronos-varemerkene.

NVK-driveren ble bygget fra bunnen av av et team inkludert Karol Herbst (Nouveau-utvikler hos Red Hat), David Airlie (DRM-vedlikeholder hos Red Hat) og Jason Ekstrand (aktiv Mesa-utvikler hos Collabora). Når du opprettet driveren, brukte utviklerne offisielle header-filer og åpne kjernemoduler publisert av NVIDIA. NVK-koden brukte noen grunnleggende komponenter i Nouveau OpenGL-driveren noen steder, men på grunn av forskjellene i navnene i NVIDIA-headerfilene og de omvendt konstruerte navnene i Nouveau, er direkte lån av koden vanskelig og for det meste mange ting måtte tenkes om og implementeres fra bunnen av.

Utviklingen ble utført med tanke på å lage en ny referanse Vulkan-driver for Mesa, koden som kunne lånes ved opprettelse av andre drivere. For å gjøre dette, da de jobbet med NVK-driveren, prøvde de å ta hensyn til all eksisterende erfaring med å utvikle Vulkan-drivere, opprettholde kodebasen i optimal form og minimere overføringen av kode fra andre Vulkan-drivere, og gjøre som den skal være for optimalt arbeid av høy kvalitet, og ikke blindt kopiere hvordan det gjøres i andre drivere. Driveren er allerede inkludert i Mesa, og de nødvendige endringene til Nouveau DRM driver API er inkludert i Linux 6.6-kjernen.

Blant endringene i kunngjøringen, bemerker Mesa også adopsjonen av en ny backend-kompilator for NVK, skrevet på Rust-språket og løse problemer i den gamle kompilatoren som forstyrret passasjen av Kronos-tekster, samt eliminere noen grunnleggende begrensninger i arkitektur som ikke kunne korrigeres uten en fullstendig omarbeiding av den gamle kompilatoren. Blant planene for fremtiden er tillegg av GPU-støtte basert på Maxwell-mikroarkitekturen og implementering av full støtte for Vulkan 1.3 API nevnt i den nye backend.

Kilde: opennet.ru

Legg til en kommentar