Останній жовтень говоримо тут на блозі про драйвер НВК, драйвер із відкритим кодом для Mesa, який реалізує графічний API Vulkan для відеокарт NVIDIA, над яким Collabora працювала з нуля, використовуючи офіційні файли заголовків і відкриті модулі ядра, опубліковані NVIDIA.
Під час свого розвитку НВК мав гриф «дослідний». а тепер, у останніх новинах Компанія Collabora оголосила, що НВК став стабільним і рекомендований для загального використання оскільки було перевірено його повну сумісність зі специфікацією Vulkan 1.3. Цей контролер успішно пройшов усі тести CTS (Khronos Conformance Test Suite) і входить до списку сертифікованих контролерів.
Сертифікація поширюється на графічні процесори NVIDIA на основі мікроархітектур Turing, Ampere і Ada, в тому числі від GeForce GTX 16xx до RTX 4xxx і серії RTX 4000, RTX A2000 до 6000. Ці тести проводилися в середовищах з ядром Linux 6.5 і 6.8rc1.
Згадується, що Отримання сертифікату офіційно декларує сумісність із графічними стандартами і дозволяє використання пов’язаних торгових марок Khronos. Зміни вже включено в кодову базу Mesa і будуть доступні в Mesa 24.1.
Окрім успіхів у НВК, Значні покращення також було внесено до підтримки OpenGL для відеокарт NVIDIA. Mesa прийняла зміни, які дозволяють використовувати драйвер Zink для забезпечення підтримки OpenGL 4.6 у системах із новою серією відеокарт NVIDIA, у яких можуть виникати проблеми зі стандартним драйвером Nouveau OpenGL (NVC0).
Протягом останніх кількох місяців ми наполегливо працювали над тим, щоб завершити роботу з останніми частинами, необхідними для того, щоб DXVK тепер запускався з коробки на Upstream Mesa. Не всі ігри D3D11 гарантовано працюють (будуть баги), але всі основні вимоги є. Ми активно працюємо над іншими частинами для підтримки емуляції D3D12 через VKD3D-Proton. Багато вже зроблено або триває, але ще декого не вистачає, тож не очікуйте, що ігри D3D12 запрацюють.
Ці зміни в мес Вони також відкривають можливість використовувати Zink для підтримки OpenGL в інших драйверах як альтернативу для GPU які не підтримуються рідними драйверами OpenGL Mesa. Наприклад, подібний підхід використовується для забезпечення підтримки OpenGL у драйвері freedreno для графічного процесора Qualcomm Adreno 700 і драйвері powervr для графічного процесора Imagination PowerVR на основі мікроархітектури Rogue.
У наступній версії Mesa драйвер Zink буде ввімкнено за замовчуванням під час компіляції. Продуктивність Zink порівнянна з нативними реалізаціями OpenGL, що дозволяє зосередитися на високоякісній підтримці API Vulkan, а не підтримувати окремі драйвери OpenGL.
Поки старий драйвер Nouveau видаляти не планується OpenGL, Комбінація Цинк + НВК демонструє вищу ефективність у багатьох тестах. На поточному етапі розробки ця комбінація забезпечує продуктивність 60 FPS і вище на нових моделях GPU, хоча все ще є неоптимізовані області, які з часом будуть вирішені.
З іншого боку, згадується, що ведуться роботи по стабілізації роботи шару DXVK на драйвері NVK, який забезпечує реалізацію Direct3D 9, 10 і 11 шляхом перекладу викликів до API Vulkan. Хоча не всі ігри D3D11 ще гарантовано працюють із немодифікованою комбінацією Mesa NVK+DXVK, виявлені дефекти поступово усуваються. Подібним чином розробляється з’єднання NVK із VKD3D-Proton для забезпечення підтримки D3D12, хоча його статус ще розробляється та вимагає реалізації деяких відсутніх можливостей.
Нарешті, варто зазначити, що драйвер уже включено в Mesa, а необхідні зміни в API драйвера Nouveau DRM включені з версії ядра Linux 6.6. Дрімає зацікавлений дізнатися більше про це, Ви можете перевірити деталі У наступному посиланні.