NVK dhe Zink kanë përmirësuar ndjeshëm situatën me drejtuesit e hapur për GPU-të NVIDIA

Collabora ka njoftuar se ka sjellë drejtuesin e hapur NVK për kartat video NVIDIA gati për përdorim të përditshëm nga një gamë e gjerë përdoruesish dhe e ka certifikuar këtë drejtues në konsorciumin Khronos, i cili zhvillon standardet grafike. Drejtuesi njihet si plotësisht i pajtueshëm me specifikimet Vulkan 1.3, ka kaluar me sukses të gjitha testet nga CTS (Khronos Conformance Test Suite) dhe është përfshirë në listën e drejtuesve të certifikuar.

Certifikimi ka përfunduar për GPU -të NVIDIA bazuar në mikroarkitekturat Turing (GeForce GTX 16XX, RTX 20XX dhe Quadro RTX Series), AMPERE (GEFORCE RTX 30XX dhe RTX A2000/4000/5000/6000 Series) dhe ADA (GEFORCE RTX 4XXX, RTX 4000 SFF. , RTX 4xxx/5000/6000 Ada). Testi u krye në një mjedis me kernel Linux 6.5 dhe 6.8rc1. Marrja e certifikatës ju lejon të deklaroni zyrtarisht pajtueshmërinë me standardet grafike dhe të përdorni markat tregtare të lidhura Khronos. Ndryshimet tashmë janë pranuar në bazën e kodeve Mesa dhe do të jenë pjesë e lëshimit të Mesa 24.1.

Përveç përmirësimeve në NVK, ka pasur përparim të rëndësishëm në ofrimin e mbështetjes OpenGL për kartat video NVIDIA. Mesa ka miratuar një ndryshim që lejon përdorimin e drejtuesit Zink për të ofruar mbështetje për OpenGL 4.6 në sistemet me seri të reja të kartave video NVIDIA (duke filluar me GeForce RTX 20xx), të cilat mund të kenë probleme në drejtuesin e disponueshëm Nouveau OpenGL (NVC0). Për të aktivizuar Zink në vend të NVC0 në Mesa 24.1, thjesht vendosni variablin e mjedisit "NOUVEAU_USE_ZINK=1".

Ndryshimet e bëra në Mesa ofrojnë gjithashtu mundësinë për të përdorur Zink për të mbështetur OpenGL në drejtuesit e tjerë si një rezervë për GPU-të që nuk mbështeten nga drejtuesit vendas OpenGL të Mesa. Për shembull, një qasje e ngjashme tashmë po përdoret për të ofruar mbështetje OpenGL në drejtuesin freedreno për GPU-në Qualcomm Adreno 700 dhe drejtuesin powervr për GPU-në Imagination PowerVR bazuar në mikroarkitekturën Rogue.

Zink ofron një zbatim OpenGL në krye të Vulkan që ju lejon të merrni OpenGL të përshpejtuar harduerike në pajisjet që mbështesin vetëm API-në Vulkan. Në versionin tjetër të Mesa, drejtuesi Zink do të aktivizohet si parazgjedhje gjatë ndërtimit. Performanca e Zink është afër performancës së zbatimeve vendase të OpenGL, gjë që bën të mundur, në vend që të harxhojmë burime në mirëmbajtjen e drejtuesve individualë të OpenGL, të fokusohemi në mbështetjen me cilësi të lartë për Vulkan API dhe të implementojmë mbështetjen e OpenGL në krye të Vulkan.

Nuk ka ende plane për të hequr drejtuesin e vjetër Nouveau OpenGL, por në formën e tij aktuale kombinimi Zink + NVK demonstron performancë më të lartë në shumë teste. Në fazën aktuale të zhvillimit, kur ekzekutohen shumë lojëra, kombinimi Zink + NVK lejon arritjen e performancës prej 60 FPS dhe më të lartë në modelet e reja GPU, por ka ende disa probleme të pazgjidhura dhe zona të pa optimizuara që do të zgjidhen me kalimin e kohës.

Gjithashtu vihet re puna për të stabilizuar punën e shtresës DXVK në krye të drejtuesit NVK, i cili ofron një implementim të Direct3D 9, 10 dhe 11, duke punuar përmes përkthimit të thirrjeve në Vulkan API. Jo të gjitha lojërat D3D11 janë ende të garantuara për të punuar me kombinimin e pamodifikuar NVK+DXVK nga Mesa, por aftësitë bazë janë të disponueshme dhe defektet e identifikuara po eliminohen gradualisht. Në mënyrë të ngjashme, lidhja NVK me VKD3D-Proton po zhvillohet për të ofruar mbështetje për D3D12, por statusi i tij është ende prapa NVK+DXVK dhe disa aftësi që mungojnë duhet të zbatohen.

Shoferi NVK u ndërtua nga e para nga një ekip duke përfshirë Karol Herbst (zhvillues i Nouveau në Red Hat), David Airlie (mirëmbajtës DRM në Red Hat) dhe Jason/Faith Ekstrand (zhvillues aktiv Mesa) nga Collabora). Gjatë krijimit të drejtuesit, zhvilluesit përdorën skedarë zyrtarë të kokës dhe module të hapura të kernelit të publikuara nga NVIDIA. Kodi NVK përdori disa komponentë bazë të drejtuesit Nouveau OpenGL në disa vende, por për shkak të ndryshimeve në emrat në skedarët e kokës NVIDIA dhe emrat e projektuar të kundërt në Nouveau, huazimi i drejtpërdrejtë i kodit është i vështirë dhe në pjesën më të madhe ishte e nevojshme të rimendoheshin shumë gjëra dhe të zbatoheshin nga e para.

Zhvillimi u krye me synimin për të krijuar një shofer të ri referencë Vulkan për Mesa, kodi i të cilit mund të huazohej kur krijoheshin drejtues të tjerë. Për ta bërë këtë, kur punonin në drejtuesin NVK, ata u përpoqën të merrnin parasysh të gjithë përvojën ekzistuese në zhvillimin e drejtuesve Vulkan, të ruanin bazën e kodit në formë optimale dhe të minimizonin transferimin e kodit nga drejtuesit e tjerë Vulkan, duke bërë siç duhet për të. punë optimale dhe me cilësi të lartë, dhe jo kopjimi i verbër se si bëhet në drejtuesit e tjerë. Drejtuesi është përfshirë tashmë në Mesa dhe ndryshimet e nevojshme në API të drejtuesit të Nouveau DRM përfshihen në kernelin Linux 6.6.

Burimi: opennet.ru

Shto një koment