ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Π‘ollabora ΠΎΠ±ΡΡΠ²ΠΈΠ»Π° ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° NVK Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ NVIDIA Π΄ΠΎ Π³ΠΎΡΠΎΠ²Π½ΠΎΡΡΠΈ ΠΊ ΠΏΠΎΠ²ΡΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΠΎΠΊΠΈΠΌ ΠΊΡΡΠ³ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π² ΠΊΠΎΠ½ΡΠΎΡΡΠΈΡΠΌΠ΅ Khronos, Π·Π°Π½ΠΈΠΌΠ°ΡΡΠ΅ΠΌΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ². ΠΡΠ°ΠΉΠ²Π΅Ρ ΠΏΡΠΈΠ·Π½Π°Π½ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΌ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ Vulkan 1.3, ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ» Π²ΡΠ΅ ΡΠ΅ΡΡΡ ΠΈΠ· Π½Π°Π±ΠΎΡΠ° CTS (Khronos Conformance Test Suite) ΠΈ Π²ΠΊΠ»ΡΡΡΠ½ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΡΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ².
Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π° Π΄Π»Ρ GPU NVIDIA Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ Turing (ΡΠ΅ΡΠΈΠΈ GeForce GTX 16xx, RTX 20xx ΠΈ Quadro RTX), Ampere (ΡΠ΅ΡΠΈΠΈ GeForce RTX 30xx ΠΈ RTX A2000/4000/5000/6000) ΠΈ Ada (ΡΠ΅ΡΠΈΠΈ GeForce RTX 4xxx, RTX 4000 SFF, RTX 4xxx/5000/6000 Ada). ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π±ΡΠ»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Ρ ΡΠ΄ΡΠΎΠΌ Linux 6.5 ΠΈ 6.8rc1. ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎ Π·Π°ΡΠ²Π»ΡΡΡ ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½ΠΈΠΌΠΈ ΡΠΎΡΠ³ΠΎΠ²ΡΠ΅ ΠΌΠ°ΡΠΊΠΈ Khronos. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΆΠ΅ ΠΏΡΠΈΠ½ΡΡΡ Π² ΠΊΠΎΠ΄ΠΎΠ²ΡΡ Π±Π°Π·Ρ Mesa ΠΈ Π²ΠΎΠΉΠ΄ΡΡ Π² ΡΠΎΡΡΠ°Π² Π²ΡΠΏΡΡΠΊΠ° Mesa 24.1.
ΠΡΠΎΠΌΠ΅ ΡΠ»ΡΡΡΠ΅Π½ΠΈΠΉ Π² NVK ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ΅ΡΡ Π² ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ OpenGL Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ NVIDIA. Π Mesa ΠΏΡΠΈΠ½ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Zink Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ OpenGL 4.6 Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΡΠ΅ΡΠΈΡΠΌΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ NVIDIA (Π½Π°ΡΠΈΠ½Π°Ρ Ρ GeForce RTX 20xx), Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π½Π°Π±Π»ΡΠ΄Π°ΡΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π² ΡΡΠ°ΡΠ½ΠΎΠΌ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Nouveau (NVC0). ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Zink Π²ΠΌΠ΅ΡΡΠΎ NVC0 Π² Mesa 24.1 Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ Β«NOUVEAU_USE_ZINK=1Β».
ΠΠ½Π΅ΡΡΠ½Π½ΡΠ΅ Π² Mesa ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Zink Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ OpenGL ΠΈ Π² Π΄ΡΡΠ³ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°ΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Π²Π°ΡΠΈΠ°Π½ΡΠ°, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ GPU, Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΡ ΡΡΠ°ΡΠ½ΡΠΌΠΈ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ Mesa. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ OpenGL Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ freedreno Π΄Π»Ρ GPU Qualcomm Adreno 700 ΠΈ Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ powervr Π΄Π»Ρ GPU Imagination PowerVR Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Rogue.
Zink ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ OpenGL ΠΏΠΎΠ²Π΅ΡΡ Vulkan, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½Π½ΡΠΉ OpenGL Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ , ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ API Vulkan. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Mesa Π΄ΡΠ°ΠΉΠ²Π΅Ρ Zink Π±ΡΠ΄Π΅Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Zink Π±Π»ΠΈΠ·ΠΊΠ° ΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ΄Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΉ OpenGL, ΡΡΠΎ Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°ΡΡ ΡΠ΅ΡΡΡΡΠΎΠ² Π½Π° ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ΅ API Vulkan, Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ OpenGL ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²Π΅ΡΡ Vulkan.
Π‘ΡΠ°ΡΡΠΉ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅Ρ Nouveau ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡΡΡΡ ΡΠ±ΠΈΡΠ°ΡΡ, Π½ΠΎ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΡΠ²ΡΠ·ΠΊΠ° Zink + NVK Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ΅ΡΡΠ°Ρ . ΠΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΈΠ³Ρ ΡΠ²ΡΠ·ΠΊΠ° Zink + NVK ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ 60 FPS ΠΈ Π²ΡΡΠ΅ Π½Π° Π½ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ GPU, Π½ΠΎ Π΅ΡΡ ΠΎΡΡΠ°ΡΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΡΠ΅ΡΡΠ½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π½Π΅ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ Π±ΡΠ΄ΡΡ ΡΠ΅ΡΠ΅Π½Ρ.
Π’Π°ΠΊΠΆΠ΅ ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ²Π΅ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° NVK ΠΏΡΠΎΡΠ»ΠΎΠΉΠΊΠΈ DXVK, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Direct3D 9, 10 ΠΈ 11, ΡΠ°Π±ΠΎΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² API Vulkan. ΠΠ΅ Π²ΡΠ΅ ΠΈΠ³ΡΡ D3D11 ΠΏΠΎΠΊΠ° Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ²ΠΎΠ½Π½ΠΎΠΉ ΡΠ²ΡΠ·ΠΊΠΎΠΉ NVK+DXVK ΠΈΠ· Mesa, Π½ΠΎ Π±Π°Π·ΠΎΠ²ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π²Π΅Π΄ΡΡΡΡ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π²ΡΡΠ²Π»ΡΠ΅ΠΌΡΡ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠΎΠΊ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ²ΡΠ·ΠΊΠ° NVK Ρ VKD3D-Proton Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ D3D12, Π½ΠΎ Π΅Ρ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠΊΠ° ΠΎΡΡΡΠ°ΡΡ ΠΎΡ NVK+DXVK ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΡΡΡΡΡΠ²ΡΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ.
ΠΡΠ°ΠΉΠ²Π΅Ρ NVK ΡΠΎΠ·Π΄Π°Π½ c Π½ΡΠ»Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΎΠ΄ΡΡ ΠΠ°ΡΠΎΠ» Π₯Π΅ΡΠ±ΡΡ (Karol Herbst, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Nouveau ΠΈΠ· Red Hat), ΠΡΠ²ΠΈΠ΄ ΠΠΉΡΠ»ΠΈ (David Airlie, ΠΌΡΠΉΠ½ΡΠ΅ΠΉΠ½Π΅Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ DRM ΠΈΠ· Red Hat) ΠΈ ΠΠΆΠ΅ΠΉΡΠΎΠ½/Π€ΡΠΉ ΠΠΊΡΡΡΠ°Π½Π΄ (Jason/Faith Ekstrand, Π°ΠΊΡΠΈΠ²Π½ΡΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Mesa ΠΈΠ· Collabora). ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ°, ΠΎΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ NVIDIA. Π ΠΊΠΎΠ΄Π΅ NVK ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ OpenGL-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Nouveau, Π½ΠΎ ΠΈΠ·-Π·Π° ΠΎΡΠ»ΠΈΡΠΈΠΉ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»Π°Ρ NVIDIA ΠΈ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠΉ Π² Nouveau, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³Π°, ΠΏΡΡΠΌΠΎΠ΅ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π·Π°ΡΡΡΠ΄Π½Π΅Π½ΠΎ ΠΈ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΠ΅ΡΠ΅ΠΎΡΠΌΡΡΠ»ΠΈΠ²Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π²Π΅ΡΠΈ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΡ Ρ Π½ΡΠ»Ρ.
Garapena Mesarako Vulkan erreferentziazko kontrolatzaile berri bat sortzeari begira egin zen, zeinaren kodea beste gidari batzuk sortzean mailegatu ahal izateko. Horretarako, NVK kontrolatzailean lan egiten dutenean, Vulkan kontrolatzaileak garatzeko dagoen esperientzia guztia kontuan hartzen saiatu dira, kode-oinarria forma optimoan mantentzen eta beste Vulkan kontrolatzaileen kodearen transferentzia minimizatzen saiatu dira, behar den moduan eginez. lan optimoa eta kalitate handikoa, eta beste gidari batzuetan nola egiten den itsu-itsuan ez kopiatzea. Gidaria dagoeneko sartuta dago Mesa-n, eta Nouveau DRM kontrolatzailearen APIan beharrezko aldaketak Linux 6.6 nukleoan sartzen dira.
Iturria: opennet.ru