Разработчики открытого драйвера NVIDIA NVK для Vulkan успешно закрыли значительный пробел в работе проприетарного решения компании для Linux. Начальная поддержка DLSS была интегрирована в Mesa 26.2-devel, что позволяет NVK теперь обрабатывать масштабирование изображения с помощью искусственного интеллекта в играх Vulkan, совместимых с Linux и Steam Play.
NVK — это драйвер Vulkan, созданный сообществом для графических процессоров NVIDIA, который является частью графического стека Mesa. Его запуск в 2022 году был направлен на предоставление пользователям Linux полностью открытой альтернативы официальному драйверу NVIDIA, не в ущерб поддержке современных функций Vulkan.
Важно отметить, что NVIDIA не предоставила открытый исходный код DLSS. Масштабирование по-прежнему полностью зависит от проприетарных бинарных файлов и SDK NVIDIA. Ключевым изменением является реализация NVK расширения Vulkan VK_NVX_binary_import. Это расширение дает возможность приложениям загружать и запускать бинарные файлы CuBIN от NVIDIA, которые представляют собой предварительно скомпилированные файлы CUDA, непосредственно на поддерживаемых графических процессорах. Другими словами, NVK получает возможность использовать компоненты DLSS, поставляемые в составе игр или SDK DLSS, вместо того, чтобы переписывать технологию с нуля.
Работа над этой функцией началась с запроса на слияние, представленного в прошлом году разработчиком графики Valve для Linux Отумом Эштоном. Он экспериментально запустил DLSS на NVK, используя упомянутое расширение для импорта бинарных файлов в сочетании с VK_NVX_image_view_handle — той же комбинацией, которую используют DXVK и VKD3D-Proton через DXVK-NVAPI.
Однако не стоит ожидать немедленной работоспособности. Эта функция добавлена в Mesa 26.2 как экспериментальная и требует ручного включения путем установки переменной среды NVK_EXPERIMENTAL=dlss. Также известны отдельные ошибки, и поскольку DLSS опирается на байт-код CUDA, драйверу необходим совместимый байт-код для используемого графического процессора.
Ожидается, что стабильная версия Mesa 26.2 будет выпущена в августе. Именно тогда поддержка DLSS станет доступна более широкому кругу игроков на Linux. Внедрение DLSS также призвано сократить разрыв в производительности между NVK и проприетарным драйвером NVIDIA, особенно в играх, где масштабирование изображения играет значительную роль.
