В Mesa-драйвере NVK обеспечена поддержка Vulkan 1.4 для GPU NVIDIA Maxwell, Pascal и Volta

Консорциум Khronos, занимающийся разработкой графических стандартов, признал полную совместимость открытого драйвера NVK со спецификацией Vulkan 1.4 на системах с GPU NVIDIA на базе микроархитектур NVIDIA Maxwell (GTX 700/800/900), Pascal (GTX 1000) и Volta (TITAN V). Драйвер успешно прошёл все тесты из набора CTS (Khronos Conformance Test Suite) и включён в список сертифицированных драйверов. Получение сертификата даёт возможность официально заявлять о совместимости с графическими стандартами и использовать связанные с ними торговые марки Khronos.

Начиная с Mesa 25.1 Vulkan-драйвер NVK будет задействован по умолчанию для GPU NVIDIA Maxwell, Pascal и Volta. В Mesa 25.2 поддержка OpenGL для указанных GPU будет переключена по умолчанию с драйвера Nouveau на Zink в связке с Vulkan-драйвером NVK. Zink предоставляет реализацию OpenGL 4.6 поверх Vulkan, позволяющую получить аппаратно ускоренный OpenGL на устройствах, поддерживающих API Vulkan. Производительность Zink близка к производительности родных реализаций OpenGL.

Ранее совместимость Vulkan 1.4 в NVK была обеспечена для новых 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 GPU на базе микроархитектур Kepler и Fermi, но их поддержка будет ограничена максимум Vulkan 1.2 из-за аппаратных ограничений.

Драйвер NVK создан c нуля командой, в которую входят Карол Хербст (Karol Herbst, разработчик Nouveau из Red Hat), Дэвид Эйрли (David Airlie, мэйнтейнер подсистемы DRM из Red Hat) и Джейсон/Фэй Экстранд (Jason/Faith Ekstrand, активный разработчик Mesa из Collabora). При создании драйвера разработчики использовали официальные заголовочные файлы и открытые модули ядра, опубликованные компанией NVIDIA. В коде NVK местами использовались базовые компоненты OpenGL-драйвера Nouveau, но из-за отличий наименований в заголовочных файлах NVIDIA и наименований в Nouveau, полученных на основе обратного инжиниринга, прямое заимствование кода быдло затруднено и по большей части пришлось переосмысливать многие вещи и реализовывать их с нуля.

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

Release. Ссылка here.