NVK, un driver deschis pentru plăcile grafice NVIDIA, acceptă Vulkan 1.0

Consorțiul Khronos, care dezvoltă standarde grafice, a recunoscut compatibilitatea deplină a driverului deschis NVK pentru plăcile video NVIDIA cu specificația Vulkan 1.0. Șoferul a trecut cu succes toate testele din CTS (Kronos Conformance Test Suite) și este inclus în lista șoferilor certificați. Certificarea a fost finalizată pentru GPU-urile NVIDIA bazate pe microarhitectura Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Testul a fost efectuat într-un mediu cu nucleul Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 și GNOME Shell 44.4. Obținerea certificatului vă permite să declarați oficial compatibilitatea cu standardele grafice și să utilizați mărcile înregistrate Khronos asociate.

Driverul NVK a fost construit de la zero de o echipă incluzând Karol Herbst (dezvoltator Nouveau la Red Hat), David Airlie (menținător DRM la Red Hat) și Jason Ekstrand (dezvoltator Mesa activ la Collabora). La crearea driverului, dezvoltatorii au folosit fișiere de antet oficiale și module de nucleu deschise publicate de NVIDIA. Codul NVK a folosit unele componente de bază ale driverului Nouveau OpenGL în unele locuri, dar din cauza diferențelor de nume din fișierele de antet NVIDIA și a numelor de inginerie inversă din Nouveau, împrumutul direct al codului este dificil și în cea mai mare parte. multe lucruri au trebuit regândite și implementate de la zero.

Dezvoltarea a fost realizată cu scopul de a crea un nou driver Vulkan de referință pentru Mesa, al cărui cod ar putea fi împrumutat la crearea altor drivere. Pentru a face acest lucru, atunci când lucrează la driverul NVK, au încercat să ia în considerare toată experiența existentă în dezvoltarea driverelor Vulkan, să mențină baza de cod în formă optimă și să minimizeze transferul de cod de la alți drivere Vulkan, făcând așa cum ar trebui să fie pentru lucru optim și de înaltă calitate și nu copiați orbește cum se face în alte drivere. Driverul este deja inclus în Mesa, iar modificările necesare la API-ul driverului Nouveau DRM sunt incluse în nucleul Linux 6.6.

Printre modificările aduse anunțului, Mesa remarcă și adoptarea unui nou compilator backend pentru NVK, scris în limbajul Rust și rezolvarea problemelor din vechiul compilator care interferau cu trecerea textelor Kronos, precum și eliminarea unor limitări fundamentale ale arhitectură care nu ar putea fi corectată fără o reelaborare completă a vechiului compilator. Printre planurile de viitor, adăugarea suportului GPU bazat pe microarhitectura Maxwell și implementarea suportului complet pentru API-ul Vulkan 1.3 sunt menționate în noul backend.

Sursa: opennet.ru

Adauga un comentariu