Valve 要让 Linux 游戏驱动像 Windows 一样"逐游戏优化"
玩 Windows 游戏的人可能都有过这样的体验:NVIDIA 或 AMD 发布新驱动,更新日志里赫然写着"《XX》性能提升 15%"、"修复《XX》画面闪烁"。这种针对单款游戏做专门调优的做法,在 Windows 的显卡驱动上已经是惯例操作了。
但在 Linux 这边,开源的 Mesa 图形驱动栈一直没怎么搞过这种事。不过这个局面可能要变了。
Valve 的 RADV 团队在讨论什么
Valve 旗下的 Linux 图形团队(也就是维护 RADV——Mesa 里面的 Radeon Vulkan 驱动的那帮人)最近开了一个 GitLab 工单,讨论在 Mesa 驱动中引入更多"逐游戏调优和优化"(per-game tuning/optimizations)的可行性。
目前 Mesa 里其实有一个叫 DriConf 的机制,允许对特定的游戏或应用设置驱动覆盖参数。但 DriConf 主要被用来打补丁——当某款游戏在某个驱动路径上撞了 bug,就通过匹配进程名来绕过去。这更多是一种"修问题"的手段,而不是"挤性能"。
RADV 团队现在想做的,是把这个机制扩展为真正的性能优化工具。比如,对某款游戏针对性地调整渲染管线参数,或者在特定 GPU 架构上采用不同的着色器编译策略。
着色器替换也在考虑范围内
更激进的一个方向是:直接进行着色器替换和微调。
这在 Windows 上其实不是啥新鲜事了。NVIDIA 和 AMD 的驱动团队经常会在驱动更新中包含针对热门游戏的优化着色器。游戏一启动,驱动就自动用优化过的版本替换掉原始着色器,从而实现帧数提升。
RADV 团队正在讨论是否在 Mesa 里也采用类似的做法。如果真的落地,对 Linux 游戏——尤其是 Steam Deck 上的游戏体验来说,将是一个质的飞跃。
DriConf 需要先升级
不过在那之前,基础设施得先跟上。RADV 的开发人员指出,现有的 DriConf 框架需要做不少扩展工作。比如要能更好地区分不同的 GPU 架构和代际,在引入新选项时保持向后兼容,等等。
这些改动听起来不太"性感",但却是后续做逐游戏优化的必要前提。
为什么值得关注
目前这些还只是讨论阶段的想法,代码还没落地。但考虑到背后站着的是 Valve——那个为了 Steam Deck 可以雇一整支工程团队来改内核、做驱动、养 Proton 的公司——这些"想法"变成现实的概率是相当高的。
如果 Mesa 驱动真的开始像 Windows 闭源驱动一样做逐游戏优化,Linux 的游戏生态会再上一个台阶。对于 Steam Deck 用户和 Linux 游戏玩家来说是个好消息。
信息来源:Phoronix