長久以來,ARM架構(gòu)的各種游戲機(jī)(不單指周哥、沙雕之類的山寨展銳掌機(jī),還包括驍龍芯的AYANEO和廣大安卓手機(jī)),始終存在一個明顯短板。這類設(shè)備運行原生安卓游戲、模擬器程序時表現(xiàn)出色,但如果想游玩現(xiàn)有的Steam和GOG等PC游戲庫,大家通常還是會選擇x86架構(gòu)設(shè)備。
![]()
這就是為什么ARM架構(gòu)的任天堂Switch 2在過去一年憑借2000萬銷量橫掃掌機(jī)界,而像SteamDeck、ROG XBOX掌機(jī),還有所有搭載英特爾、AMD處理器的X86 PC掌機(jī),仍然能憑借幾百萬銷量存活的原因。
很長一段時間里,行業(yè)仿佛形成了固定格局:ARM架構(gòu)主打手機(jī)等移動續(xù)航類便攜設(shè)備,x86架構(gòu)才是正統(tǒng)PC游戲的專屬,這種劃分看似難以撼動。
但如今,作為已經(jīng)被破解得相當(dāng)徹底的掌機(jī),2017年的初代任天堂Switch,已經(jīng)跑起了Steam平臺(雖然不流暢),因為這臺設(shè)備用的還是十年前英偉達(dá)推出的降頻版Tegra X1芯片。隨著Proton 11測試版新增對ARM架構(gòu)的支持,玩家借助引導(dǎo)工具,給Switch刷入Linux系統(tǒng)后裝上了Steam客戶端。這聽著只是個博人眼球的雞肋玩法,客觀來講,在Switch上僅僅能運行Steam而已。可這件事也清晰地傳遞出一個信號:既然十年前的Switch都能實現(xiàn),那x86掌機(jī),或許并非PC游戲掌機(jī)的最終形態(tài)。
![]()
首先要說明,這里所說的“能運行”,其實是相對概念。此前流傳的相關(guān)Switch視頻,大多只展示了Steam的操作界面,并沒有實際運行游戲。想要真正啟動游戲,需要搭配大量兼容適配方案,即便成功運行,也普遍存在幀率偏低的問題,還有諸多限制條件。
必須強(qiáng)調(diào)的是,Switch本身并不適合用來運行PC游戲,我想表達(dá)的也并非這款設(shè)備的體驗有多好。恰恰相反,一臺配置如此老舊的硬件尚且能夠?qū)崿F(xiàn)相關(guān)功能,足以說明外界眼中橫亙在ARM與PC游戲之間的技術(shù)壁壘,其實遠(yuǎn)沒有想象中那么高。
想在Switch上運行Steam,需要搭配一系列適配工具,而Switch deck這個開發(fā)項目讓整個流程簡化了不少。
Proton 11測試版不僅加入了對ARM64架構(gòu)的支持,還內(nèi)置了FEX轉(zhuǎn)換工具——這款工具可以將x86指令翻譯為ARM芯片能夠識別的指令。對于搭載最近ARM架構(gòu)、運行Linux系統(tǒng)的設(shè)備而言,有這些基本就足夠了。但Switch情況特殊,它所用的L4T內(nèi)核版本過于老舊,完全無法兼容FEX,好在開發(fā)者找到了替代方案。
![]()
這套方案舍棄了FEX,轉(zhuǎn)而使用社區(qū)開發(fā)的老牌指令轉(zhuǎn)換工具Box64,同時借助Switch deck項目自動處理各類繁瑣的適配工作。由于新版Steam客戶端會在這臺設(shè)備上觸發(fā)非法指令報錯,會自動將Steam降級至四月中旬之前的舊版本。另外,Tegra X1芯片最高僅支持Vulkan 1.2標(biāo)準(zhǔn),因此開發(fā)者還把DXVK-Sarek與VKD3D組件一并整合進(jìn)Proton環(huán)境中。
一番操作下來,Steam客戶端可以正常使用,也能啟動部分PC游戲,但整體體驗十分粗糙。初代Switch僅有的4GB LPDDR4內(nèi)存本就捉襟見肘,玩家還得針對不同游戲挑選對應(yīng)的Proton版本,運行32位游戲更是要額外打上專屬補(bǔ)丁。所有人都清楚,這套方案遠(yuǎn)達(dá)不到即插即用的水準(zhǔn),普通用戶也不該抱有這樣的期待。
即便存在種種問題,最終結(jié)果依然值得關(guān)注:一款2017年的ARM架構(gòu)芯片,成功跑起了x86架構(gòu)的PC游戲。Switch上遇到的各類麻煩,根源大多是老舊內(nèi)核、有限內(nèi)存,以及Tegra芯片對Vulkan接口的支持不完善,并非x86指令轉(zhuǎn)ARM指令本身存在難以攻克的技術(shù)難題。
指令轉(zhuǎn)換層早已不是技術(shù)難點,硬件與配套生態(tài)才是真正的考驗
這套方案能夠落地,核心原因在于指令轉(zhuǎn)換對硬件性能的消耗極低。不管是Wine還是Box86和Box64,它們和開銷巨大的QEMU這類模擬器有著本質(zhì)區(qū)別:不會完整模擬一整套x86計算機(jī)環(huán)境。兩款工具只會轉(zhuǎn)換游戲本身的代碼,再將游戲?qū)ο到y(tǒng)庫的調(diào)用請求,直接轉(zhuǎn)發(fā)至設(shè)備原生的ARM版系統(tǒng)庫,比如libc、SDL、OpenGL等組件。也就是說,ARM芯片無需完整模擬一臺x86電腦。我們常在安卓手機(jī)上用的小雞GameHub,其實就是把Wine+Box64打包成手機(jī)App,再把手柄映射做好。
![]()
各類兼容層技術(shù)是實現(xiàn)跨架構(gòu)運行的關(guān)鍵。SteamDeck依靠Proton,把Windows應(yīng)用程序接口和圖形調(diào)用指令轉(zhuǎn)換成Linux系統(tǒng)可識別的格式;而在ARM設(shè)備上,F(xiàn)EX、Box64這類工具會再多完成一步工作——將x86 CPU指令轉(zhuǎn)譯為ARM指令。額外的轉(zhuǎn)換環(huán)節(jié)確實會損耗部分性能,但也正因如此,樹莓派這類小型ARM設(shè)備才能順利運行x86程序。這類工具采用動態(tài)重編譯技術(shù),執(zhí)行效率比逐條解析指令高出五到十倍,既保證了運行速度,又規(guī)避了完整模擬器資源占用過高的問題。
單論CPU運算能力,早年Box64的表現(xiàn)甚至優(yōu)于Valve多年投入研發(fā)的FEX。幾年前,開發(fā)者用7-Zip等程序做基準(zhǔn)測試,Box64的跑分大約是FEX的兩到三倍。當(dāng)然經(jīng)過Valve多年優(yōu)化,如今兩者之間的性能差距已經(jīng)大幅縮小。
![]()
任天堂Switch本就不是為運行PC游戲設(shè)計的,而它實現(xiàn)這一功能,也并不需要硬件本身讀懂任何一條x86指令。CPU代碼交由輕量化的轉(zhuǎn)換層處理,圖形渲染則依靠DXVK、VKD3D以及設(shè)備原生圖形架構(gòu)完成。硬件性能老舊、配置偏弱,只會影響游戲能否流暢游玩,并不會決定這項功能能否實現(xiàn)。
這也意味著,跨架構(gòu)運行早已不是有待突破的新技術(shù)。得益于Box64、蘋果Rosetta2、微軟Prism、Valve FEX等一眾社區(qū)項目與官方技術(shù)的持續(xù)迭代,x86程序在ARM設(shè)備上運行,早已不再是難以逾越的鴻溝。指令轉(zhuǎn)換技術(shù)經(jīng)過多年打磨已經(jīng)趨于成熟,當(dāng)下真正欠缺的,是專門為適配這項技術(shù)而設(shè)計的硬件產(chǎn)品。
最大的阻礙不在于ARM架構(gòu)本身,而是安卓生態(tài)
從技術(shù)層面來說,x86指令向ARM架構(gòu)轉(zhuǎn)換的方案已經(jīng)非常成熟。如今不少手機(jī)都能做到這一點:搭載近幾年驍龍芯片的手機(jī)與掌機(jī),借助Winlator、小雞GameHub等工具,已經(jīng)可以運行《賽博朋克2077》《巫師3》等多款PC游戲。這些應(yīng)用的底層邏輯和Wine搭配Box64的方案一致,只是封裝成了普通玩家更易上手的形式。哪怕是兩年前推出、并非專為游戲打造的驍龍和天璣芯片,也能流暢運行PC游戲,帶來不錯的游玩體驗。
我自己也嘗試過不少設(shè)備,還遇到了一個有意思的現(xiàn)象。我想在手機(jī)上運行《傳送門2》,結(jié)果高配的OPPO Find N5(搭載驍龍8 Elite)運行失敗,反而是配置稍老的三星Galaxy S23(驍龍8 Gen2超頻版)順利啟動。問題并非出在芯片性能或是指令轉(zhuǎn)換層,而是GPU驅(qū)動未更新。
![]()
安卓設(shè)備運行PC游戲,高度依賴開源逆向開發(fā)的Mesa Turnip驅(qū)動,這款驅(qū)動專門適配高通Adreno系列GPU。驍龍8 Elite搭載的Adreno 830是JIA旗艦GPU,對應(yīng)的Turnip驅(qū)動適配還不夠完善;而驍龍8Gen2這類上市已久的芯片,經(jīng)過開發(fā)者多年優(yōu)化,驅(qū)動生態(tài)已經(jīng)十分成熟,運行程序自然更加穩(wěn)定。
很多人因此看低ARM游戲掌機(jī),其實是混淆了問題根源。驅(qū)動適配亂象和ARM架構(gòu)本身無關(guān),問題出在使用場景上:用并非為游戲設(shè)計的手機(jī),搭配社區(qū)維護(hù)的第三方驅(qū)動,在廠商嚴(yán)格鎖死底層權(quán)限的芯片上運行PC游戲,全程都要和設(shè)備原生生態(tài)相互掣肘。
但如果是一款原生定位游戲的掌機(jī),就不會面臨這些問題。廠商會針對專屬芯片開發(fā)、調(diào)試專用顯卡驅(qū)動,并深度整合進(jìn)系統(tǒng),全程圍繞游戲體驗做優(yōu)化,效果就和傳統(tǒng)游戲主機(jī)一樣。用戶也不用再去社區(qū)群組里尋找測試版驅(qū)動,相關(guān)適配工作早已由廠商完成并預(yù)裝在設(shè)備中。
![]()
高通也早已朝著這個方向布局。驍龍G3 Gen3就是專門面向游戲掌機(jī)推出的芯片,目前已經(jīng)搭載在AYANEO、壹號本等品牌的產(chǎn)品上。AYANEO就表示,旗下Pocket S2掌機(jī)出廠即原生支持Turnip驅(qū)動,這也是一個重要轉(zhuǎn)變:硬件廠商開始將PC游戲兼容性,列為產(chǎn)品的核心設(shè)計目標(biāo)之一。
Steam新設(shè)備為跨架構(gòu)方案量身打造,軟硬件實現(xiàn)了一體化適配
Valve其實早已完成了整套技術(shù)方案的整合。旗下即將推出的SteamFrame虛擬現(xiàn)實頭顯不同于SteamDeck,搭載的是驍龍8 Gen3芯片,原生運行ARM版SteamOS系統(tǒng),依靠FEX工具實現(xiàn)x86游戲的轉(zhuǎn)譯運行。據(jù)Valve測算,轉(zhuǎn)譯帶來的性能損失僅在10%到20%之間,在ARM開發(fā)板Radxa Orion O6上,《毀滅戰(zhàn)士2016》可以在1080P分辨率下穩(wěn)定跑出60幀,《傳送門2》幀率輕松突破100幀,《巫師3》也能維持在40幀左右。據(jù)說,英偉達(dá)新推出的ARM架構(gòu)RTX Spark(N1X)能在1440P分辨率下流暢運行《賽博朋克2077》,幀率突破100幀——當(dāng)然,它的GPU是RTX 5070降頻版,實在太強(qiáng)了。
![]()
SteamFrame頭顯的芯片、系統(tǒng)、驅(qū)動、指令轉(zhuǎn)換工具全部由廠商統(tǒng)一開發(fā)、整體交付,軟硬件深度協(xié)同,邏輯和SteamDeck一脈相承,只是多了一層x86轉(zhuǎn)ARM的指令轉(zhuǎn)換。用戶無需降級Steam客戶端,也不用手動修補(bǔ)Vulkan接口,整套系統(tǒng)開箱即用,一體化設(shè)計保證了運行穩(wěn)定性。
雖然SteamFrame是VR頭顯而非掌機(jī),但二者本質(zhì)邏輯相通,都由顯示屏、主處理芯片和GPU組成。SteamOS、Proton、FEX這套組合,運行在驍龍?zhí)幚砥魃希瓦\行在掌機(jī)上沒有本質(zhì)區(qū)別。SteamFrame的落地,意味著ARM平臺層面最核心的技術(shù)難題都已攻克,而完成這項工作的,恰恰是定義了現(xiàn)代PC游戲掌機(jī)形態(tài)的Valve。這也為ARM游戲掌機(jī)的發(fā)展鋪平了道路。
再聊聊未來選購游戲機(jī)的思路:x86架構(gòu)不再是唯一選擇
就目前而言,對于普通玩家來說,除了需要玩獨占游戲的任天堂Switch 2外,x86設(shè)備依舊是運行PC游戲的穩(wěn)妥之選,這一點必須承認(rèn)。SteamDeck等搭載AMD和英特爾芯片的同類型掌機(jī),憑借高效的Proton兼容層,起碼在CPU層面完全沒有指令轉(zhuǎn)換帶來的性能損耗。但無論轉(zhuǎn)換工具效率多高,跨架構(gòu)運行必然會犧牲部分性能與續(xù)航,這是無法回避的事實。所以當(dāng)下選購掌機(jī),大家首選x86設(shè)備也合情合理。
![]()
但長期來看,阻礙ARM成為主流游戲平臺的壁壘正在不斷消解。指令轉(zhuǎn)換的性能損耗已經(jīng)控制在極低水平,而驅(qū)動適配的各類問題,大多只出現(xiàn)在手機(jī)這類非游戲?qū)S迷O(shè)備上。如果硬件從設(shè)計階段就服務(wù)于游戲場景,這些麻煩都會迎刃而解。Valve已經(jīng)確定要推出ARM架構(gòu)設(shè)備,能夠流暢運行大部分Steam游戲,從這款設(shè)備過渡到ARM游戲掌機(jī),只差小小的一步。
再過幾年,當(dāng)我準(zhǔn)備換掉手里的SteamDeck時,我不會再理所當(dāng)然地默認(rèn)新掌機(jī)必須搭載x86芯片。新一代設(shè)備會充分驗證ARM架構(gòu)作為游戲平臺的可行性,而最先讓我們認(rèn)真思考這一可能性的,卻是那臺老舊的初代任天堂Switch。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.