有了Steam Machine,Steam Phone 还会远吗?

日期:2025-12-16 20:19:24 / 人气:3


玩AAA?
爱范儿关注「明日产品」,硬哲学栏目试图剥离技术和参数的外衣,探求产品设计中人性的本源。
对于硬核PC游戏玩家,最大的冒犯不一定是对局结束后的「EZ」,而是在讨论游戏时被提问:
手机能玩吗?
这种深深阻隔在PC与手机间的沟壑已经存在了十多年。在欧美国家,游戏市场好歹还有主机的参与,但在主机不怎么流行的国内市场,这种隔阂形成了一条简单的鄙视链:电脑游戏就是比手机游戏强。
但隔阂并不是永固的。
无论是为了逐利的游戏开发商,还是为了让更多人玩到自己作品的独立开发者,其实都期望让游戏拓展到更多的平台,以接触到更多的玩家。
这其中也包括目前PC上最大的游戏销售平台Steam,以及它背后的Valve。
实际上,Valve的野心远不止于此。上个月刚刚发布的Steam Machine三件套虽然仍然以我们熟悉的「主机」形态呈现,但在它的背后,Valve真正希望的,是让你的手机也能玩上PC 3A。
解放Windows的牢笼
和Steam Deck一样,Steam Machine的产品形态虽然是主机,但内部运行的其实是正儿八经的PC硬件,与一台Windows电脑最主要的区别就是它的系统——基于Arch Linux的SteamOS。
然而Windows几十年积攒下来的地位也不是轻易能够动摇的,用Linux玩游戏的最大挑战就是游戏本身不适配。
为了解决这个问题,Valve很早就做过努力——鼓励开发商在为Windows平台开发之余,再单独开发Linux版本。然而事实证明,期待游戏开发商为少数用户平台主动做适配,无异于期待广州下雪。
为此,Valve在给Steam Deck开发Steam OS时,虽然依旧坚持Linux道路,但采取了一种截然不同的思路:
既然开发商不主动适配,那我就开发一套足够好的兼容层,只要游戏体验不打折扣,玩家才不会在乎游戏是在Windows还是Linux上运行的。
这个「能够让Linux玩游戏体验看齐Windows」的兼容层,就是Valve自家开发的Proton:通过以几乎无损的方式将Windows游戏需要的API「翻译」成Linux语言,从而让Steam上面已有的游戏可以在Steam Deck上运行。
但Valve的计划并不止步于Steam Deck和Linux。本次跟随Steam Machine一同发布的Steam Frame头显,就是另一次变革的伏笔。
虽然Steam Frame的主要功能是作为一个串流式的VR头显,但Valve真正在测试的,其实是它本地运行游戏的能力。
和上个月我们看到的Galaxy VR头显不同,Valve没有选择头显常用的骁龙AR处理器,而是直接上了一块骁龙8 Gen 3——也就是小米14那年使用的处理器——让Steam Frame不仅能串流,也能独立用SteamOS运行Windows游戏。
换句话说:从Steam Frame开始,Valve不仅打通了游戏资源在Windows和Linux之间的隔阂,更是打通了x86平台与ARM之间的道路,让ARM设备基于Linux无缝跑PC游戏真正成为了可能。
从x86原生到ARM原生
能够让Steam Frame依靠骁龙8 Gen 3跑动PC游戏的,自然也是一套兼容层技术,只不过没有Proton那么出名,它的名字叫做FEX。
为了让Steam资源库中那些原本为x86平台Windows编写的游戏本地运行在ARM平台的SteamOS(Linux)上,需要Proton和FEX一起发力——这也正是Steam Frame在做的。
这个过程可以简化理解为:
由于Linux主要使用的图形API是OpenGL和Vulkan,而几乎所有为Windows开发的游戏都在使用微软的DirectX图形API,因此Proton的主要工作就是把游戏中基于DirectX的绘制申请翻译成Vulkan,再传输给CPU和GPU以生成画面。
其实类似的「翻译工具」有很多,比如Proton所基于的Wine也可以做到。但真正让SteamDeck作为一款低功耗掌机能够运行原生Windows游戏,依靠的不仅是翻译,更是高效的翻译。
而Proton能够做到高效翻译DirectX和Vulkan,除了依靠原本Wine中既有的DXVK之外,还离不开两个由Valve主导开发的新标准:VKD3D-Proton,以及Ntsync。
其中,VKD3D-Proton的主要作用是将最新的Direct3D 12图形API翻译成Vulkan,相当于让SteamOS能够运行最近几年新开发的大作,同时还能在Linux环境下实现光追、Reflex和FSR4之类的支持,一举多得。
而Ntsync则堪称是Linux玩游戏的杀手锏级别技术,这是一个Linux的底层内核驱动,可以以近乎无损的方式实现Windows NT同步语义的原生理解——
简单来说,Ntsync让Linux模拟Windows环境时候的CPU损耗降到了最低,对于那些吃CPU的游戏场景(比如密集的人群和植被)提升巨大。
这样一来,SteamOS借助DXVK翻译旧API、借助VKD3D-Proton高效翻译新API、借助Ntsync将CPU损耗降至最低,最终实现了游戏开发者无需主动适配,也能让SteamDeck原生跑动Windows游戏。
但SteamDeck使用的仍然是个桌面级x86处理器,但Steam Frame使用的却是ARM架构的移动端处理器,如何让Windows游戏原生在ARM环境下运行呢?
答案依然是模拟。但仅仅在Proton中将Windows语言翻译成Linux还不够,还需要借助另一个工具将x86指令翻译成ARM指令,而这个工具就是最近崭露头角的FEX。
由于FEX-Emu翻译的过程更为复杂,其中还涉及到针对CISC和RSIC指令集的转换、内存顺序优化和库转译等等,因此可以简单理解为FEX通过即时编译(JIT)将x86指令转换为ARM指令,并且转译过程自动化程度更高,适配性和速度相比其他翻译方案都要高效许多。
此外,在FEX与Proton联手运行的时候,FEX仅仅翻译游戏本身的代码,一旦游戏调用图形API(如Vulkan或DX12),执行就会跳转到原生的ARM代码中。
这就意味着FEX模拟x86带来的性能损耗仅限于CPU部分游戏逻辑,GPU图形渲染部分几乎是全速运行的,最终让Steam Frame仅靠一颗骁龙8 Gen 3带动Windows游戏成为了可能。
▲图|Roads toVR
有趣的是,Steam Frame不仅能兼容Steam上的Windows游戏,同时还兼容一些Android app——都是在基于Arch Linux的SteamOS里面实现的。用来运行Android软件的,实际上也是个类似的兼容层。
这背后的精妙之处在于,尽管FEX是一个开源项目,但Valve实际上从2018年就在默默地为这个项目提供资金和技术支持了。
▲图|FOSS
在TheVerge对于SteamOS架构师Pierre-Loup Griffais的一次专访中,他表示:
Valve从2016年开始就在招募和资助开源开发者,以解决Windows游戏在ARM上运行的问题。Valve不希望游戏开发者浪费时间去移植游戏,而是希望通过技术手段,让现有的PC游戏库直接兼容未来的硬件架构。
而FEX就是Valve选中的那个「技术手段」:与其让开发者费尽心思地针对不同平台开发,不如使用一套通用工具,让不同平台都能高效理解Windows游戏的代码。某种程度上也可以算作是一种「人因工程」了。
Steam Phone还会远吗?
同样是在TheVerge对Pierre-Loup Griffais的专访中,在采访的结尾,编辑Sean Hollister对Pierre-Loup Griffais提出了一个有趣的问题:
未来会有运行SteamOS的手机吗?
Pierre-Loup Griffais的回答则有些模棱两可:
我们确实通过Steam Link应用在手机领域做过一些尝试,但我不知道「开发本地内容」或者「为这类设备(手机)开发SteamOS」是否会成为我们接下来的主要重心。
如果仅从回答来看,Valve目前对于手机的定位仍然是以串流设备为主,对于开发手机端SteamOS甚至原生Android内容的兴趣不大。
但正如前面所说:在Proton和FEX-Emu的加持下,SteamOS在事实上已经完整具备了在手机硬件上运行并承载Windows游戏的一切准备。
实际上,现在也已经出现了一些爱好者折腾出来的给手机刷SteamOS的案例,只不过由于缺乏底层支持,往往损耗巨大,用来做演示还行,要是真想跑个游戏看看,就等着带上痛苦面具吧。
实际上,作为一家成熟的商业公司,Valve在面对全球超过5000亿美元的智能手机市场时,它们内部一定考虑过将SteamOS带到手机载体上的事情。只不过这其中的阻力大概率不是成本,也不是技术,而是一个PC玩家非常熟悉的家伙——
反作弊(Anti-cheat)。
事实上,不用说尚不存在的Steam Phone,就拿SteamDeck来说,相当一部分不能正常运行的游戏,本质都是因为内嵌反作弊不能在SteamOS的Linux环境中运行,而非游戏代码无法翻译。
究其原因,目前的主流反作弊工具比如BattleEye、EAC、Vanguard等等都需要在Windows的核心层(Ring 0)中加载,而Proton作为一个「翻译工具」并不负责模拟内核,导致这些反作弊软件判定环境不安全并拒绝启动游戏。
此外,负责转译x86与ARM指令的FEX工作原理是内存实时编译,这种动态翻译机制在反作弊软件眼里和外挂的逻辑(注入、勾挂、改指令)几乎一模一样,这种影响代码完整性的方式同样会直接触发反作弊软件的报警。
这种同时存在于权限层级不对等(Ring 0和Ring 3)、内核环境不受信任、检测机制与转译逻辑的矛盾,除非反作弊厂商主动退让,提供不依赖内核驱动的Linux/ARM版本反作弊软件,否则如果仅以目前Valve的模拟方案来说,将会是一个无法调和的问题。
面对这种问题,唯一的解法可能就是Valve利用其市场地位,推动反作弊厂商针对Proton+FEX环境进行特殊的白名单认证,为Steam Machine、Steam Frame以及Steam Phone做区别对待。
只不过这种方案仅限于那些愿意配合的厂商,对于坚持强内核保护的游戏(如Riot旗下的一大堆作品),这条路依然是走不通的。
但「有困难」并不意味着「不可能」,毕竟Steam Phone现在面临的问题,和曾经SteamDeck面临的挑战是一模一样的,既然Valve能够推动一部分内嵌反作弊的游戏为SteamDeck做出优化,那么推动为Steam Phone设计新的反作弊也并非不可能。
更何况,哪怕Steam Phone真的因为无法加载反作弊而错失99%的多人在线游戏,Steam麾下巨大的Windows游戏池中依然有无数不依赖网络、不需要反作弊的佳作在等着我们。
而在这个内存越来越贵、硬盘越来越贵、显卡越来越贵,甚至Windows本身都越来越贵的时候,Valve一定会尝试考虑探索PC之外的市场。Steam Frame只是第一步,Steam Phone本身一定不会很远了。
别的不说,想想未来什么时候能在我的Steam Phone上随时随地来一盘《边缘世界》、《VA-11 Hall-A》、《林中之夜》甚至《极乐迪斯科》,那也是很不错的体验了。"

作者:杏鑫娱乐




现在致电 8888910 OR 查看更多联系方式 →

COPYRIGHT 杏鑫娱乐 版权所有