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