Проект Mesa заменил OpenGL-драйвер Nouveau на Zink для новых GPU NVIDIA

Компания Сollabora сообщила о принятии в кодовую базу проекта Mesa изменения, заменяющего OpenGL-драйвер, применяемый по умолчанию для GPU NVIDIA, начиная с микроархитектуры Turing. В следующем выпуске Mesa 25.1 вместо OpenGL-драйвера Nouveau (nvc0) для подобных GPU будет применяться разработанный в Сollabora OpenGL-драйвер Zink в связке с Vulkan-драйвером NVK. По сравнению с Nouveau драйвер Zink демонстрирует более высокую производительность во многих тестах и не подвержен проблемам, проявляющихся в Nouveau при работе на новых GPU NVIDIA.

Zink предоставляет реализацию OpenGL 4.6 поверх Vulkan, позволяющую получить аппаратно ускоренный OpenGL на устройствах, поддерживающих API Vulkan. Производительность Zink близка к производительности родных реализаций OpenGL, что даёт возможность вместо траты ресурсов на сопровождение отдельных OpenGL-драйверов, сосредоточиться на качественной поддержке API Vulkan, а поддержку OpenGL реализовать поверх Vulkan. Реализация Vulkan для NVIDIA базируется на драйвере NVK, поддерживающем Vulkan 1.4 для 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) и более новых микроархитектур.

Драйвер NVK создан c нуля с использованием информации из официальных заголовочных файлов и открытых модулей ядра, опубликованных компанией NVIDIA. Разработка велась с целью создания нового эталонного Vulkan-драйвера для Mesa, код которого можно будет заимствовать при создании других драйверов. Для этого при работе над драйвером NVK попытались учесть весь имеющийся опыт разработки Vulkan-драйверов, поддерживать кодовую базу в оптимальной форме и минимизировать перенос кода из других Vulkan-драйверов, делая как должно быть для оптимальной и качественной работы, а не копируя то, как сделано в других драйверах.

Источник: http://www.opennet.ru/opennews/art.shtml?num=62860