整个流程大致如下:
Game (Direct3D 12) → Proton / Wine → VKD3D‑Proton → Vulkan 驱动 → GPU
如果翻译顺利,游戏体验通常接近原生 Linux。但如果游戏在 API 使用方式上与 Vulkan 的工作方式不匹配,翻译层就可能出现严重问题。
而目前《地平线6》似乎正处于这种情况。
VKD3D‑Proton 的核心开发者 Hans‑Kristian Arntzen 在为游戏准备兼容补丁时表示,这款游戏在 Linux 兼容层下表现 “极其破碎”。
需要注意,这一评价针对的是 通过 Proton 运行时的行为,并不意味着 Windows 版本本身有严重问题。
一些技术分析指出,游戏可能存在一些对 Windows 驱动较为“宽容”的调用方式,例如:
这些行为在 Windows 驱动环境下可能仍能工作,但在 Vulkan 翻译层中会引发不稳定或崩溃。
对翻译层来说,这类 API 使用方式会迫使开发者加入大量复杂的兼容补丁。
部分 NVIDIA Linux 用户报告,在特定地点游戏会 稳定触发 GPU 挂起。例如从 Miyazu Bay Kakurega 出发进入第一个路口时游戏会冻结,并最终出现 Vulkan device loss 错误。
所谓 device loss,通常意味着 GPU 驱动停止响应,应用只能崩溃或退出。
Steam 社区玩家表示,使用标准 Proton 时游戏经常在以下阶段崩溃:
这表明问题更可能来自渲染管线,而不是简单的设置错误。
VKD3D‑Proton 调试日志还出现了资源初始化和图像转换相关警告,例如资源未正确初始化或 barrier 处理异常。
这类问题可能导致:
Steam Deck 运行的是 SteamOS(基于 Linux),默认同样通过 Proton 运行 Windows 游戏,因此会继承同样的问题。
早期测试玩家报告的情况包括:
部分玩家只有在更换 Proton 版本或开启实验性参数后才能正常进入游戏。
目前社区测试者分享了几个可能改善稳定性的方案,例如启动参数:
PROTON_VKD3D_HEAP=1 VKD3D_CONFIG=enable_experimental_features,descriptor_heap %command%
这些参数会改变 VKD3D‑Proton 对 descriptor heap 和内存分配的处理方式,在部分系统上能减少崩溃。
其他常见尝试包括:
需要注意,这些方法只是玩家经验分享,并非官方修复,效果也因显卡驱动和系统配置不同而差异很大。
想要真正解决问题,通常需要 Linux 游戏生态多个组件同时更新,包括:
已有报道指出 Proton 开发者正在为《地平线6》准备专门的兼容性修复。
一旦这些补丁进入 Proton Experimental 或未来稳定版本,Linux 和 Steam Deck 玩家通常无需手动修改设置就能获得更好的稳定性。
根据当前玩家反馈和开发者信息:
愿意折腾的 Linux 玩家可以尝试自定义 Proton 或启动参数,但真正的长期解决方案仍然需要 Proton、VKD3D‑Proton 以及 GPU 驱动的持续更新。