去年十月 我们在博客上讨论 NVK 驱动程序,Mesa 的开源驱动程序,实现了 NVIDIA 显卡的 Vulkan 图形 API,Collabora 一直在使用 NVIDIA 发布的官方头文件和开放内核模块从头开始开发。
在其发展过程中 NVK 带有“实验”标签 现在,在最近的新闻中 Collabora 宣布 NVK 已稳定并推荐通用 由于其与 Vulkan 1.3 规范的完全兼容性已经过测试。该控制器已成功通过所有 CTS(Khronos 一致性测试套件)测试,并包含在经过认证的控制器列表中。
该认证涵盖基于Turing、Ampere和Ada微架构的NVIDIA GPU, 包括从GeForce GTX 16xx到RTX 4xxx和RTX 4000系列,RTX A2000到6000。这些测试是在Linux内核6.5和6.8rc1的环境中进行的。
有人提到 获得证书正式宣告兼容图形标准 并允许使用相关的 Khronos 商标。这些更改已合并到 Mesa 代码库中,并将在 Mesa 24.1 中提供。
除了 NVK 的进步之外, 对 NVIDIA 显卡的 OpenGL 支持也得到了重大改进。 Mesa 进行了一项更改,允许使用 Zink 驱动程序在配备新系列 NVIDIA 显卡的系统上提供对 OpenGL 4.6 的支持,这可能会遇到标准 Nouveau OpenGL 驱动程序 (NVC0) 的问题。
在过去的几个月里,我们一直在努力完成 DXVK 所需的最后部分,以便现在可以在 Upstream Mesa 上开箱即用。并非所有 D3D11 游戏都保证可以运行(会有错误),但所有基本要求都已具备。我们正在积极开发其余部分,以支持通过 VKD3D-Proton 进行 D12D3 仿真。很多工作已经完成或正在进行中,但仍有一些部分缺失,因此不要指望 D3D12 游戏能够正常运行。
梅萨的这些变化 他们还开启了使用 Zink 在其他驱动程序中支持 OpenGL 作为 GPU 替代方案的可能性 Mesa 的本机 OpenGL 驱动程序不支持。例如,使用类似的方法在 Qualcomm Adreno 700 GPU 的 freedreno 驱动程序和基于 Rogue 微架构的 Imagination PowerVR GPU 的 powervr 驱动程序中提供 OpenGL 支持。
在Mesa的下一版本中,Zink驱动程序将默认启用 编译期间。 Zink 的性能可与原生 OpenGL 实现相媲美,因此可以专注于对 Vulkan API 的高质量支持,而不是维护单独的 OpenGL 驱动程序。
虽然没有计划删除旧的 Nouveau 驱动程序 OpenGL, Zink + NVK组合在多项测试中展现出更高的性能。在目前的开发阶段,这种组合可以在新的 GPU 型号上实现 60 FPS 及以上的性能,尽管仍有一些未优化的区域将随着时间的推移而得到解决。
另一方面,提到 正在努力稳定 NVK 驱动程序上 DXVK 层的运行,它通过转换对 Vulkan API 的调用来提供 Direct3D 9、10 和 11 的实现。尽管尚未保证所有 D3D11 游戏都能与 Mesa 未经修改的 NVK+DXVK 组合配合使用,但已发现的缺陷正在逐渐消除。同样,NVK 与 VKD3D-Proton 的连接正在开发中,以提供对 D3D12 的支持,尽管其状态仍在开发中,并且需要实现一些缺失的功能。
最后值得一提的是,该驱动程序已经包含在 Mesa 中,并且自 Linux 内核版本 6.6 以来,还包含了对 Nouveau DRM 驱动程序 API 的必要更改。小睡 有兴趣了解更多关于它的信息, 您可以查看详细信息 在下面的链接中。