Steam新版本将使Linux系统畅玩之前只在Windows系统运行的游戏
资讯08/22 09:30
作者 尼米兹
开发者现在可以将优化重点放在windows系统上了,Valve将替他们解决Linux问题。

Linux用户现在可以使用Steam畅玩之前只能在Windows操作系统运行的游戏。


Valve公司今天发布了Steam Play(Steam游戏客户端的正式名称)更新详情。并发布了Linux系统的测试版Steam Play。Linux用户现在可通过客户端内置的源代码兼容工具“Proton”畅玩之前只支持Windows操作系统的游戏。测试版支持的首批游戏为27个,其中包含《铁拳7》和《毁灭战士》(2016)这样的3A大作。


对于开发者而言,如果他们正在开发的游戏不准备支持Linux,Valve公司建议开发者原生支持Vulkan,以让他们的游戏能最大化的利用Steam Play的新兼容特性。以下为Steam Play更新日志全文:


我们于 2010 年推出了 Steam Play, 使 Steam 用户只需购买 Steam 游戏一次,即可在 Windows、Mac 与 Linux 上进行游戏。自从推出此功能后,超过 3000 款 Steam 上架游戏已提供了 Linux 支持,而且这个数字与日俱增。同时,我们也在继续寻找让 Linux 用户轻松使用更多产品的途径。
因此,两年前,我们开始尝试为 Steam 游戏提升 Windows 兼容方案的品质和性能。我们的许多工作都支持 Wine[www.winehq.org] 和其他现有的兼容项目。我们也一直在将这类工具集成到 Steam 客户端,以提供与常规 Linux 游戏相同的简单轻松的即插即玩体验。
我们进行这项工作,旨在让 Linux Steam 用户能便捷地访问更多的产品。我们认为这也可以让开发者们今后能更轻松将他们在其他平台上的工作用于 Linux 平台。这样,他们可以选择将重点放在能为所有用户带来更有意义的体验的领域上,比如支持 Vulkan[www.khronos.org]。
这项工作卓有成效,因此我们今天向所有 Linux 用户发布 Steam Play 全新改进版的测试版!此版本包含了修改过的 Wine 分发,称为 Proton,以兼容 Windows 游戏。此版本带来的改进如下:

  • 游戏目前可以直接通过 Linux Steam 客户端安装并运行,并具备 Steamworks 和 OpenVR 原生支持。

  • DirectX 11 与 12 现在基于 Vulkan 实现,游戏兼容性更好且对性能的影响也更少。

  • 优化了全屏支持:全屏游戏将无缝拉伸至期望的显示大小,而不会与显示器原始分辨率发生冲突,也无需使用虚拟桌面。

  • 优化了游戏控制器支持:游戏将自动识别 Steam 支持的所有控制器,甚至将比游戏原始版本提供更多的开箱即用的控制器兼容性。

  • 与普通的 Wine 相比,多线程游戏的性能已大幅提高。


Steam新版本将使Linux系统畅玩之前只在Windows系统运行的游戏


同时,对 Steam 所有产品进行的一项测试工作也在齐头并进之中。这项测试是为了识别目前适用于此兼容环境的游戏,以及找出那些导致不适用的因素并加以更改。我们针对此首个测试版启用了支持的首批游戏如下:

随着我们获得更多测试结果与继续进行开发工作,我们将很快对更多的产品启用支持。同时,感兴趣的用户也可以使用 Steam 客户端上的取代开关,尝试不在白名单上的游戏。今后,用户可以通过希望支持的平台票选他们最希望加入 Steam Play 的游戏。
在首次测试阶段,Steam Play 白名单上的游戏不在商店页面上显示为支持 Linux。
Steam Play 使用的 Windows 兼容工具 Proton 包含有 Wine 的一个自定义版本,以及随其开发的附加库。此工具完全开源,现在就可以在 GitHub 上获得[github.com]!
如果您熟悉使用开源项目,您甚至可以制作您自己的本地 Proton 生成版本。Steam 客户端支持使用这些版本代替内置版本运行游戏。加入问题追踪系统中的讨论,与社区一起分享你的补丁与测试结果吧!

Steam新版本将使Linux系统畅玩之前只在Windows系统运行的游戏


需要做哪些准备工作才能使用?
需要准备的不多,具体包括:

  • 选择参与 Linux Steam 客户端测试

  • 确保您的驱动程序为最新版。如果您不在 SteamOS 下运行,请按照我们为其他分发方式准备的快速启动说明[github.com]。

  • 您已准备就绪!安装游戏开始畅玩吧!

问:Proton 究竟是什么?它与普通 Wine 有何不同?谁参与了开发?[/u]
Proton 是一个基于 Wine 修改版的工具分发。其中包含的针对 Wine 的改进由 Valve 设计和提供资金,并与 CodeWeavers 联合开发。下面例举了我们自 2016 年以来携手进行的一些工作:

  • vkd3d[source.winehq.org],基于 Vulkan 的 Direct3D 12 实现

  • OpenVR 和 Steamworks 原生 API 桥

  • 针对 Direct3D 9 和 Direct3D 11的wined3d 性能与功能进行的许多修复

  • 对全屏与手柄支持进行全面更改

  • 针对多线程性能优化的“esync[github.com]

[/url]” patchset[/list]
对 Wine 的修改如果与 Wine 大型项目的目标与要求兼容便会上游提交,因此,这一年多来,此项工作的一部分已惠及 Wine 用户。其余内容也可从我们的 Proton 及其模块的源代码库获得。
此外,我们也一直在支持基于 Vulkan 的 Direct3D 11 实现,即 DXVK[github.com] 的开发。我们提供的支持包括:

  • 自 2018 年 2 月起在我们的开源图形组中聘用 DXVK 开发人员。

  • 我们的开源图形组为修复影响 DXVK 的 Mesa 驱动程序的问题提供了直接支持,并提供全新的 Vulkan 功能的原型实现,以增强 DXVK 的功能性。

  • 与我们的 Khronos、NVIDIA、Intel 和 AMD 合作伙伴就 Vulkan 功能和驱动程序的支持进行协调。

问:性能如何?
游戏在需要图形 API 转译之处会有性能区别,但是这并不会特别导致使用 Vulkan 的游戏运行缓慢。
问:会有游戏完全不能使用 Proton 吗?
一些使用复杂的 DRM 或反作弊系统的游戏可能会遇到困难,甚至完全不支持。
问:什么时候会有更多游戏标明与新版 Steam Play 兼容?
我们会随着测试的进行不定期地将更多游戏加入白名单。新游戏加入系统时无需 Steam 客户端更新。
? 问:即使一款游戏没有标为兼容,我也能为该游戏启用 Proton 吗?
可以,您可以通过 Steam 客户端的 Steam Play 选项为所有游戏启用。
问:你们有计划支持 macOS 吗?
虽然 Wine 和 Proton 适用于 macOS,但是我们目前尚无在 macOS 上支持 Steam Play 新功能的计划。 
问:我是个开发者,如果我的游戏已经支持 Linux,这个新功能会有什么影响吗?
也许不会。如果您已经移植了您的常用代码或者使用了支持 Linux 的引擎,请继续您的工作,无需进行任何调整。
问:我是个开发者,我不打算支持 Linux,我能怎么最有效地利用新版的 Steam Play?
我们建议您原生支持 Vulkan,这样可以在所有平台上提供最佳性能,或者至少将其作为一个备选项。最好避免任何侵入式的第三方 DRM 中间件,因为这些中间件有时会阻止兼容功能正常运行。
问:我是个开发者,我的游戏上了 Steam Play 的白名单,这是不是说我需要支持别的平台?
不需要。如果我们经过测试后把一款游戏列入了白名单,说明我们已经评估过游戏体验是一致的(除了一些预料之中的轻度性能影响之外)。如果用户通过 Steam Play 玩游戏时遇到 Linux 特定问题,他们应被指向 Steam 以获取帮助。请注意,您的用户很有可能已经使用 Wine 玩过您的游戏,只是您现在更清楚具体情况了。
----
如果您还有其他问题,请前往 Steam 社区提问吧!
- Pierre-Loup