NVK:Nvidia 开源 Vulkan 驱动首次实验性支持 DLSS

图片: Tom's Hardware
简要回答
Nvidia 开源 Vulkan 驱动 NVK 通过导入预编译 CUDA 库实现实验性 DLSS 支持,但功能仅限于存在兼容字节码的 GPU。
Nvidia GPU 的开源 Vulkan 驱动 NVK 已实现实验性 DLSS 支持。相关代码已合并至 Mesa 26.2-devel 开发分支,但其实现存在多项限制。与其完全重写超分辨率算法不同,该驱动通过加载 Nvidia 预编译的 CUDA 库来启用 DLSS,仅在存在兼容字节码的 GPU 上生效。
该技术通过 Vulkan 扩展 VK_NVX_binary_import 运行,允许导入并执行预编译的 CuBIN 二进制文件。该功能的初步提案于 2023 年提出,最终完善历时数月。目前,DLSS 支持仅能通过环境变量 NVK_EXPERIMENTAL=dlss 激活,因代码中仍存在未解决的问题。
NVK 的主要限制在于无法将 Nvidia 的 PTX 代码编译为 Mesa 驱动使用的中间 NIR 表示。Nvidia 专有驱动通过即时编译 PTX 为 GPU 字节码来规避此限制。因此,NVK 仅能在特定 GPU 型号存在预构建二进制文件时运行 DLSS。
NVK 于 2022 年启动,由 Collabora、Red Hat 等公司的开发者共同参与。至 2024 年底,它成为首个通过 Khronos 认证、符合 Vulkan 1.4 规范的 Nvidia GPU 开源 Vulkan 驱动。该驱动运行于 Nouveau 内核模块之上,与 Nvidia 随专有软件栈提供的开源内核模块无关。
据项目主要开发者 Faith Ekstrand 介绍,NVK 在大多数游戏中的性能约为 Nvidia 专有驱动的 50%。光线追踪支持仍在开发中,开发团队指出项目缺乏资源以加速发展。
常见问题
- 什么是 NVK?它支持哪些 GPU?
- NVK 是 Nvidia GPU 的开源 Vulkan 驱动,由社区开发。支持 Turing(RTX 20 与 GTX 16 系列)及更新架构,包括 Ampere 和 Ada Lovelace。
- NVK 中的 DLSS 如何工作?
- NVK 通过 Vulkan 扩展 VK_NVX_binary_import 加载 Nvidia 预编译的 CUDA 库来实现 DLSS。这使 DLSS 可运行,但仅限于存在兼容字节码的 GPU。
- 为什么 NVK 的 DLSS 支持被视为实验性?
- NVK 的 DLSS 支持被标记为实验性,因其存在已知缺陷与限制:驱动无法像 Nvidia 专有驱动那样实时编译 PTX 代码,导致支持的设备范围受限。
- 与 Nvidia 专有驱动相比,NVK 的前景如何?
- NVK 在大多数游戏中的性能约为 Nvidia 专有驱动的 50%,而光线追踪支持仍在开发中。开发团队指出项目缺乏资源以加速发展。
Dzen 订阅: /feed/dzen.xml · RSS: /feed.xml