Collabora imetangaza kuwa imeleta kiendesha NVK wazi kwa kadi za video za NVIDIA tayari kwa matumizi ya kila siku na anuwai ya watumiaji na imeidhinisha dereva huyu katika muungano wa Khronos, ambao huendeleza viwango vya picha. Dereva inatambulika kuwa inaoana kikamilifu na vipimo vya Vulkan 1.3, imefaulu majaribio yote kutoka kwa CTS (Khronos Conformance Test Suite) na imejumuishwa katika orodha ya viendeshaji vilivyoidhinishwa.
Uthibitishaji umekamilika kwa NVIDIA GPU kulingana na mfululizo wa Turing (GeForce GTX 16xx, RTX 20xx, na Quadro RTX), Ampere (GeForce RTX 30xx na mfululizo wa RTX A2000/4000/5000/6000), na Ada (GeForce RTX 4xxx, RTX 4000 SFF, RTX 4xxx/5000/6000 Ada series). Uthibitishaji ulifanyika katika mazingira ya kernel. Linux 6.5 na 6.8rc1. Kupata uidhinishaji kunaturuhusu kutangaza rasmi kufuata viwango hivi vya michoro na kutumia chapa za biashara za Khronos zinazohusiana. Mabadiliko hayo tayari yamekubaliwa katika mfumo wa msimbo wa Mesa na yatajumuishwa katika toleo la Mesa 24.1.
Mbali na maboresho katika NVK, kumekuwa na maendeleo makubwa katika kutoa usaidizi wa OpenGL kwa kadi za video za NVIDIA. Mesa imepitisha badiliko linaloruhusu matumizi ya kiendeshi cha Zink kutoa usaidizi kwa OpenGL 4.6 kwenye mifumo iliyo na mfululizo mpya wa kadi za video za NVIDIA (kuanzia GeForce RTX 20xx), ambayo inaweza kupata matatizo katika kiendeshi cha hisa cha Nouveau OpenGL (NVC0). Ili kuwezesha Zink badala ya NVC0 katika Mesa 24.1, weka tu utofauti wa mazingira "NOUVEAU_USE_ZINK=1".
Mabadiliko yaliyofanywa kwa Mesa pia yanatoa uwezo wa kutumia Zink kusaidia OpenGL katika viendeshaji vingine kama njia mbadala ya GPU ambazo hazitumiki na viendeshaji asili vya Mesa vya OpenGL. Kwa mfano, mbinu kama hiyo tayari inatumika kutoa usaidizi wa OpenGL katika kiendeshi cha freedreno cha Qualcomm Adreno 700 GPU na kiendeshi cha powervr cha Imagination PowerVR GPU kulingana na usanifu mdogo wa Rogue.
Zink hutoa utekelezaji wa OpenGL juu ya Vulkan ambayo inakuruhusu kupata kasi ya maunzi ya OpenGL kwenye vifaa vinavyotumia API ya Vulkan pekee. Katika toleo lijalo la Mesa, kiendeshi cha Zink kitawashwa kwa chaguomsingi wakati wa kujenga. Utendaji wa Zink uko karibu na utendakazi wa utekelezaji asilia wa OpenGL, unaowezesha, badala ya kupoteza rasilimali katika kudumisha viendeshaji mahususi vya OpenGL, kuzingatia usaidizi wa hali ya juu wa API ya Vulkan, na kutekeleza usaidizi wa OpenGL juu ya Vulkan.
Hakuna mipango ya kuondoa dereva wa zamani wa Nouveau OpenGL bado, lakini katika hali yake ya sasa mchanganyiko wa Zink + NVK unaonyesha utendaji wa juu katika majaribio mengi. Katika hatua ya sasa ya maendeleo, wakati wa kuendesha michezo mingi, mchanganyiko wa Zink + NVK inakuwezesha kufikia utendaji wa ramprogrammen 60 na juu juu ya mifano mpya ya GPU, lakini bado kuna matatizo ambayo hayajatatuliwa na maeneo yasiyoboreshwa ambayo yatatatuliwa kwa muda.
Pia inajulikana ni kazi ya kuimarisha kazi ya safu ya DXVK juu ya dereva wa NVK, ambayo hutoa utekelezaji wa Direct3D 9, 10 na 11, kufanya kazi kwa njia ya tafsiri ya wito kwa Vulkan API. Sio michezo yote ya D3D11 bado imehakikishiwa kufanya kazi na mchanganyiko wa NVK + DXVK usiobadilishwa kutoka Mesa, lakini uwezo wa msingi unapatikana na kasoro zilizotambuliwa zinaondolewa hatua kwa hatua. Vile vile, muunganisho wa NVK na VKD3D-Proton unatengenezwa ili kutoa usaidizi kwa D3D12, lakini hali yake bado iko nyuma ya NVK+DXVK na baadhi ya uwezo unaokosekana unahitaji kutekelezwa.
Dereva wa NVK iliundwa tangu mwanzo na timu ikiwa ni pamoja na Karol Herbst (msanidi wa Nouveau katika Red Hat), David Airlie (mtunza DRM katika Red Hat), na Jason/Faith Ekstrand (msanidi anayetumika wa Mesa) kutoka Collabora). Wakati wa kuunda kiendeshi, watengenezaji walitumia faili za kichwa rasmi na moduli za kernel zilizo wazi zilizochapishwa na NVIDIA. Nambari ya NVK ilitumia baadhi ya vipengele vya msingi vya kiendeshi cha Nouveau OpenGL katika baadhi ya maeneo, lakini kutokana na tofauti za majina katika faili za vichwa vya NVIDIA na majina yaliyosanifiwa nyuma huko Nouveau, kukopa moja kwa moja kwa msimbo ni vigumu na kwa sehemu kubwa. ilikuwa ni lazima kufikiria upya mambo mengi na kuyatekeleza tangu mwanzo.
Usanidi ulifanywa kwa lengo la kuunda kiendeshi kipya cha marejeleo cha Vulkan kwa Mesa, ambacho msimbo wake ungeweza kukopwa kwa madereva wengine. Kwa lengo hili, NVK ilijaribu kuingiza uzoefu wote uliopo wa uundaji wa kiendeshi cha Vulkan, kudumisha msingi wa msimbo katika umbo bora, na kupunguza uhamishaji wa msimbo kutoka kwa madereva wengine wa Vulkan, kutekeleza mbinu inayohitajika kwa utendaji bora na wa ubora wa juu badala ya kunakili utekelezaji uliopo kipofu. Kiendeshi tayari kimejumuishwa katika Mesa, na mabadiliko muhimu kwa API ya kiendeshi cha Nouveau DRM yamejumuishwa kwenye kiini. Linux 6.6.
Chanzo: opennet.ru
