推出 NVK,一种适用于 NVIDIA 显卡的开放式 Vulkan 驱动程序

Collabora 推出了 NVK,这是一款适用于 Mesa 的新开源驱动程序,可为 NVIDIA 显卡实现 Vulkan 图形 API。 该驱动程序是使用 NVIDIA 发布的官方头文件和开源内核模块从头开始编写的。 驱动程序代码是根据 MIT 许可证开源的。 该驱动程序目前仅支持基于 Turing 和 Ampere 微架构(自 2018 年 XNUMX 月起发布)的 GPU。

该项目由红帽的 Nouveau 开发人员 Karol Herbst、红帽的 DRM 维护人员 David Airlie 和 Collabora 的活跃 Mesa 开发人员 Jason Ekstrand 组成的团队开发。 在开发新的驱动时,有些地方使用了Nouveau OpenGL驱动的基本组件,但由于NVIDIA头文件中的名称与逆向工程基础上得到的Nouveau中的名称不同,直接借用了代码很困难,在大多数情况下,有必要重新思考很多事情并用零来实现它们。

开发工作还着眼于为 Mesa 创建一个新的参考 Vulkan 驱动程序,在创建其他驱动程序时可以借用该驱动程序的代码。 为此,在开发驱动程序时,NVK 尝试考虑开发 Vulkan 驱动程序的所有现有经验,以最佳形式维护代码库,并最大限度地减少来自其他 Vulkan 驱动程序的代码传输,以达到最佳效果和高质量的工作,而不是盲目复制其他驱动程序的工作方式。

NVK 驱动程序仅开发了几个月,因此其功能有限。 当从 Vulkan CTS(兼容性测试套件)运行 98% 的测试时,驱动程序成功通过了 10% 的测试。 一般来说,驱动程序准备情况估计为 ANV 和 RADV 驱动程序功能的 20-25%。 在硬件支持方面,驱动程序目前仅限于基于 Turing 和 Ampere 微架构的卡。 正在开发补丁来支持 Kepler、Maxwell 和 Pascal GPU,但尚未准备就绪。

从长远来看,NVIDIA 显卡的 NVK 驱动程序预计将达到与 AMD 卡的 RADV 驱动程序类似的质量和功能水平。 一旦 NVK 驱动程序准备就绪,在其开发过程中创建的公共库就可以用于改进 NVIDIA 显卡的 Nouveau OpenGL 驱动程序。 还正在考虑使用 Zink 项目为 NVIDIA 显卡实现成熟的 OpenGL 驱动程序的可能性,通过广播调用 Vulkan API 来工作。

来源: opennet.ru

添加评论