Новости в разработке драйвера NVIDIA Vulkan NVK на конец апреля 2024. Новые расширения, активность сотрудников NVIDIA в разработке драйвера.
Что нового в NVIDIA Vulkan NVK на конец апреля 2024
Разработчик Фэйт Экстранд (Faith Ekstrand) написал свежую запись в блоге Collabora, в которой рассказал о внедрении двух расширений в NVK, драйвер NVIDIA Vulkan с открытым исходным кодом, и о том, как это в итоге помогло исправить реальные игры.
Это довольно длинный технический пост, рассказывающий о расширениях VK_KHR_shader_maximal_reconvergence и VK_KHR_shader_subgroup_uniform_control_flow, и о том, как первоначальная поддержка со стороны Ekstrand была несовершенной, но теперь расширения были полностью переделаны.
Я не буду цитировать большую часть этого поста, поскольку, если вы не занимаетесь разработкой драйверов, он, вероятно, не будет иметь большого смысла. Я лишь подведу итог, отметив, что этот драйвер становится все более и более способным действительно играть в игры и отображать их должным образом. Как показал Экстранд, эта работа фактически исправила реальную игру.
Был показан скриншот с повреждениями рендеринга в Genshin Impact:
Вы можете заметить некоторые странные артефакты рендеринга на изображении выше, но теперь он выглядит намного лучше:
Почему? Оказывается, исправление этих новых расширений также устранило «древнюю особенность 3D-графики в настоящей игре». Поскольку это исправляет проблемы в одной игре, то, несомненно, исправляет их и в других.
Отличная новость. Не терпится увидеть, как NVK будет развиваться дальше. Тем более, что, похоже, и сама NVIDIA начинает вносить в него свой вклад, об этом читайте далее.
Разработчики NVIDIA открыли запрос на добавление новых функций в драйвер NVK с открытым исходным кодом
Если вы не знали, то бывший ведущий разработчик Nouveau Бен Скеггс перешёл в NVIDIA после ухода из Red Hat. Вскоре после этого Артур Уиллет из NVIDIA открыл запрос на добавление новых функций в драйвер NVK.
Артур начал свою деятельность более десяти лет назад, участвуя в создании стека драйверов Nouveau. Последние несколько лет он работал в NVIDIA Corp над созданием собственного драйвера NVIDIA Linux. Но в этом месяце он начал вносить свой вклад в проект Mesa, делая обзоры и комментарии к коду NVK, а теперь и запрос на добавление новых функций.
Запрос на добавление новых функций касается реализации поддержки консервативной растеризации для графических процессоров NVIDIA с драйвером NVK. Это согласуется с активностью, которую я наблюдаю в списках рассылки, а также с растущим участием NVIDIA и другими фактами. Хотя масштабы планов NVIDIA по поддержке драйверов для Linux с открытым исходным кодом публично не раскрываются.
NVIDIA вносит непосредственный вклад в ядро и компоненты Mesa. Скорее всего, всё это будет дополнять существующий и зрелый стек бинарных драйверов. Вряд ли они откроют свои проприетарные компоненты пользовательского пространства, особенно в окружении CUDA. Но интересно посмотреть, какие шаги они предпринимают.
Предположительно, это делается для того, чтобы удовлетворить (потенциальных?) клиентов, которые становятся более заинтересованными в поддержке драйверов ядра с открытым исходным кодом, а также для некоторых базовых или других (критических по безопасности?) случаев использования, когда графические компоненты Mesa могут быть достаточно хороши. На протяжении многих лет AMD добилась значительных успехов в Linux благодаря первоклассной поддержке драйверов с открытым исходным кодом и завоевала в этой связи сильную поддержку.