Linux现在几乎能跑我需要的所有东西,所以它是我日常用的主力系统。例外当然有,而且几乎全是那些需要反作弊客户端、跟Linux合不来的游戏。比如《EA Sports FC 27》《逃离塔科夫》《战地6》,以及大多数竞技类游戏。这些恰好也是我玩得最多的几款,所以过去两年多,我一直在第二块硬盘上留着一个Windows安装。

后来我不再在两个系统之间来回切换,而是把这些游戏串流到另一台电脑上。我的游戏PC留在Windows里,通过Steam Remote Play的Pyrowave编解码器,把游戏串流到一台跑Ubuntu的迷你主机上。手感已经接近本地运行,双系统启动这件事,突然就不值得了。

打开网易新闻 查看精彩图片

反作弊这道墙,我翻不过去

Proton让我的大部分游戏库在Linux上运行不再是问题,但它修不好一款反作弊拒绝运行的游戏。《逃离塔科夫》用的是BattlEye,只有在开发者主动选择加入时才能在Proton下工作,而Battlestate Games没有这么做。《战地6》和《EA FC 27》用的是EA的Javelin反作弊,它运行在Windows内核层,还要求开启安全启动,这两款游戏在Steam Deck上都被标记为“不支持”。

选择很清楚:要么彻底离开Windows,直接放弃这些游戏;要么维持一个不断切换的双系统。我选了后者,但那多出来的一点摩擦,让我经常干脆放弃一局,转而去开一款在Linux上跑得干干净净的游戏。

Pyrowave让串流比老版Remote Play更可用

在本地网络里,Remote Play对休闲游戏一直够用,但竞技游戏现在才变得能玩。Remote Play多年来一直支持在PC之间串流游戏,可它始终让你感觉“你在串流”,哪怕是休闲游戏。我最近在MacBook Air上通过Remote Play玩《Dinkum》,那款游戏在Mac上并没有原生支持,即便我坐在路由器旁边、用着稳定的Wi-Fi 7连接,游戏过程中还是出现了卡顿和画面瑕疵。对这类游戏来说无所谓,但对任何竞技向的东西,这不能接受。

Pyrowave让Remote Play在本地串流快节奏游戏时强得多。它是一个实验性编解码器,思路跟H.264、HEVC、AV1这些主流视频编解码器相反。那些编解码器靠前一帧预测每一帧,再用重度熵编码把结果压小,以此保持低码率。这很高效,代价是编码解码需要时间,而且丢一个包就会在屏幕上留下瑕疵,直到一个干净帧到达。

Pyrowave是帧内编码,每一帧都像一张静态图片那样独立压缩。它的熵编码非常简单,完全跑在GPU的Vulkan计算着色器上,结果是4K这类高分辨率下,编码解码时间远低于1毫秒。代价是带宽,Valve说它可能用掉其他串流编解码器五到十倍的带宽,并建议至少使用有线千兆以太网。

这个编解码器让它感觉像本地

我的配置有点不常规,但很适合Remote Play。游戏PC放在办公室,而我跑Ubuntu的Minisforum MS-03放在家里另一个我也喜欢待着办公的房间。如果我想快速来一局《EA FC 27》,或者打一把塔科夫,我可以直接从性能更强的Windows PC上串流过来。

我仍然能感觉到一些延迟,但意外地能玩。在4K、120帧的塔科夫里,Steam的悬浮窗显示8.38毫秒显示延迟,没有丢帧。《战地6》在约97帧下是13.64毫秒。《EA FC 27》的数字非常接近,而在这款游戏里,你几乎感觉不到延迟。要自己搭这套东西,过程相当简单:两台机器都需要Steam客户端测试版,Linux这边要在Steam设置里打开实验性的SteamRT3客户端,然后在开始串流前,在Remote Play的高级客户端选项里启用Pyrowave。

最明显的反驳是:我完全可以穿过屋子,直接在Windows机器上原生玩。但如果你真的不想为了玩那些带反作弊的热门游戏而离开Linux环境,这几乎是唯一的办法。另外,如果我想在跑CachyOS的HTPC上、从沙发上玩这些游戏,不借助这样的Remote Play也做不到。就《EA FC 27》这类游戏而言,这不只是完美的方案,而是唯一的方案。

它是“多了几步的Windows”,但重点从来不是彻底逃离

我的主力配置里仍然跑着一台Windows机器,但几乎所有工作都活在Linux上,不用在启动菜单里来回切换,感觉很好。客户端PC是一台非常小、非常安静的机器,能应付我所有的日常事务;至于那些跑不了、而且大概也跑不好的游戏,带Pyrowave的Remote Play就是新的答案。