PC和掌机都能玩steam游戏,手机也快了 - 煎蛋 https://jandan.net/p/121625
Valve悄悄资助一整套开源技术,让Windows游戏能在Arm设备上直接运行。Steam Frame只是入口,这套技术正把PC游戏带向手机、平板和Arm笔记本。
Valve正在做一件比做游戏机更大的事。Steam Machine和Steam Frame看似是新硬件,但真正重要的是背后那套让Windows游戏在Arm设备上运行的开源技术。
现在,很多人手机里用的都是Arm架构芯片。如果PC游戏能直接在这类设备上跑,游戏开发者不必再为不同平台花大量时间移植。本来属于桌面电脑的游戏,也能像装App一样装进手机和平板。
这套技术包含几个关键部分。Proton负责把Windows游戏转给Linux系统运行,最初让Steam Deck做到不用Windows也能玩游戏。Fex是另一层能力,把x86指令翻译给Arm处理器。把它们叠在一起,Windows游戏就能在Linux加Arm的环境里跑起来。
Steam Frame的报道曾提到Valve用了Fex,但没人知道Fex背后站着Valve自己。在访谈里,Valve的Pierre-Loup Griffais确认,公司多年资助了几乎所有相关技术,并从2016年开始招募开源开发者推进这套方案。
Fex主开发者Ryan Houdek在2018年做出原型,他说Valve给了他全职开发的经费和自由。如今,很多人已经在三星等手机上用这些技术运行PC游戏,即便Valve不造Steam Phone,技术也已经跑到行业里去了。
为什么选Arm?Griffais说,Arm覆盖更多价位和功耗区间,尤其在Steam Deck以下的设备上更有优势。他们想让玩家不用关心处理器架构,只关心游戏能不能玩。未来可能会有Arm的超便携设备、笔记本,甚至桌面机,只要SteamOS能接入,这些产品都有机会成为PC游戏平台。
SteamOS在Arm上并不是新系统,而是完全相同的操作系统,只是多了面向Arm的Proton与Fex支持。系统根据设备形态启用不同的软件模块,无论是头显、掌机还是桌面机,核心都是一套体系。
要理解游戏在Steam Deck上怎么跑,核心是Proton。Windows游戏本身是x86可执行程序,Linux无法直接打开,于是由Proton接手加载程序、分配空间、把代码放进内存。当游戏调用Windows环境里的接口,Proton会用Linux的能力返回结果。游戏的原始代码没有改动,只是换了另一套系统帮它解释指令。
比起Wine,Proton更像Wine的预览分支,优先加入各种为游戏准备的新功能。它还整合了DXVK和VKD3D,把DirectX的指令翻译成Vulkan。Steam运行库负责存档、云同步等额外功能。 在Arm设备上运行Windows游戏时,会多一步识别代码类型。如果是x86,Wine会让程序跳入Fex进行翻译执行。Fex的目标很单纯,把x86的行为尽可能精准地还原在Arm上。
这套技术让SteamOS能触达更多设备,Valve希望硬件厂商看到潜力后自然跟进。正如当年Steam Deck推动了Linux游戏生态,如今对Arm的支持可能会重演这个过程。
记者询问为何要布局Arm、如何吸引厂商、SteamOS是否有专门的Arm版本、Proton和Wine的区别,以及Windows游戏在SteamOS上如何运行。Griffais解释Valve早在2016年就开始布局Arm生态,并强调技术目标是让游戏无需移植即可在不同架构上运行。他认为Arm设备会在更多形态出现,包括掌机、笔记本甚至桌面机。
Valve希望技术成熟后自然吸引厂家合作。SteamOS在Arm上仍是同一套系统,只是多了Proton的Arm版本和Fex。运行时,Proton负责加载程序、重新实现Windows的API,Fex承担x86到Arm的翻译工作。
|