NVK,NVIDIA 的开源 Vulkan 驱动程序

NVK-标志_RGB

NVK 是用于 NVIDIA 图形硬件的新开源 Vulkan 驱动程序

Collabora 推出 NVK,一个新的 Mesa 开源驱动程序, 为 NVIDIA 显卡实现 Vulkan 图形 API. 该驱动程序是使用 NVIDIA 发布的官方头文件和开放内核模块从头开始编写的。

在开发新驱动程序时, Nouveau OpenGL驱动核心组件在一些地方使用,但由于 Nouveau 中 NVIDIA 头文件名称和逆向工程名称的差异,代码重用很困难,并且大部分需要从头开始进行大量的重新思考和实施。

发展也 正在开发一个新的 Vulkan 驱动程序 Mesa的参考,创建其他控制器时可以借用其代码。

在开源驱动程序中对 NVIDIA 硬件的支持一直有点欠缺。 Nouveau 驱动程序确实存在,但它们经常缺少功能、存在错误或与某些卡不兼容。 这是由多种因素共同造成的。 与 Intel 和 AMD 驱动程序不同,nouveau 驱动程序堆栈的开发几乎没有官方文档或 NVIDIA 的帮助。 他们偶尔会在这里提供小道具。 从历史上看,它主要专注于支持 nouveau,以便您可以安装 Linux 发行版、访问 Web 浏览器并下载其专有的驱动程序堆栈。

为此,提到在 NVK 驱动程序工作期间, 尝试考虑开发 Vulkan 驱动程序的所有可用经验,保持代码库处于最佳状态,并最大限度地减少来自其他 Vulkan 驱动程序的代码传输,为高质量、最佳工作做应该做的事情。

NVK 驱动程序才开发了几个月,所以 它的功能是有限的。 控制器 成功通过 98% 的测试 运行 10% 的 Vulkan CTS(兼容性测试套件)测试时。

一般来说,驾驶员培训估计占 ANV 和 RADV 控制器功能的 20-25%。 在硬件支持方面,驱动目前仅限于卡 基于微架构 图灵和安培。 支持 Kepler、Maxwell 和 Pascal GPU 的补丁正在开发中,但尚未准备好。

技术斗争的最大领域可能是从内核空间正确驱动硬件。 从显示到作业执行再到电源管理,NVIDIA 硬件都依赖于签名固件。 NVIDIA 过去提供的固件 blob 是他们仅为开源驱动程序创建的精简版本。

长期, NVIDIA 显卡的 NVK 驱动程序有望达到与 RADV 驱动程序相似的质量和功能水平 对于 AMD 卡。 一旦 NVK 驱动程序准备就绪,在其开发过程中创建的共享库可用于增强适用于 NVIDIA 视频卡的 Nouveau OpenGL 驱动程序。

也在考虑中 的可能性 使用 Zink 项目实现 OpenGL 驱动程序 适用于通过 Vulkan API 调用转换工作的 NVIDIA 显卡。

从长远来看,希望 NVK 之于 NVIDIA 硬件就像 RADV 之于 AMD 硬件一样。

最后,对于那些对该项目感兴趣的人,提到 正在开发 一个团队,包括 卡罗尔赫布斯特 (Red Hat 的新开发人员), 大卫艾尔利 (Red Hat 的 DRM 维护者)和 杰森·埃克斯特兰德 (Collabora 中 Mesa 的活跃开发者)。

至于控制器代码,你应该知道 它是在 MIT 许可下开源的。 该驱动仅支持自2018年XNUMX月以来发布的基于Turing和Ampere微架构的GPU。如果您想了解更多,可以参考详情 在下面的链接中。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。