[心得] 用iPad UTM玩Steam的遊戲(非遠端)

作者: ivon852 (ASUS)   2024-10-10 20:52:54
為什麼Android都能用Termux直接跑Cyberpunk 2077了(詳見極客灣的影片),iOS還只能
玩串流呢?
Fine, I'll do it myself.
經過幾天的嘗試,結果我只得到...美少女遊戲。
https://i.imgur.com/MyCdnQE.jpg
首先要從JIT開始說起。
最近有個叫做SideJITServer專案釋出,它讓非Mac電腦的用戶也能夠給iOS啟用JIT。
「JIT」是越獄以外提昇UTM虛擬機性能的唯一手段(新型iPad幾乎不可能安裝TrollStore
或者搞checkra1n越獄)
如果沒有JIT,UTM就會變成UTM SE那樣一條蟲,除了DOS以外什麼系統都跑不了。
但是JIT也有侷限性,它只支援側載版的UTM IPA,並連著電腦啟動,且UTM APP一關閉就會
消失。
啊啊,SideJITServer要連著電腦啟動好麻煩,所以拿出了樹莓派,裝好SideJITServer
套件後,它就變成了隨時能給iPad啟動JIT的觸媒。
只要Type-C一插上去,嘩~馬上湧出魔力供給。
https://i.imgur.com/RR3KzfA.jpg
有了JIT,跑不那麼吃重的作業系統就夠了。
然後,無意間發現了UTM的Linux虛擬機支援GPU加速。背後是透過virtio-gpu半虛擬化GPU
實現的,可用Metal或OpenGL作為後端。無論虛擬機是x86還是ARM架構都能吃到OpenGL
加速。
https://i.imgur.com/5MM8ooU.jpg
這有什麼用呢?唉?有GPU加速不就代表可以玩遊戲了嗎?
我曾經試過UTM跑Windows虛擬機,可是最多最多就到Windows 7了,Tiny 11 (Windows 11
精簡版) 在JIT加持下能3分鐘內開機,但那又怎麼樣呢?進入桌面後依然卡爆。
https://i.imgur.com/CgcILZh.jpg
(說是這麼說,但我覺得Windows 7虛擬機還是有點用的,開機30秒,能跑Office 2010。
感興趣的請看這裡了解安裝方式:https://reurl.cc/GpYKzA)
https://i.imgur.com/5HZUB6Y.jpg
於是我改用類似Android Termux的作法,就是配個Linux環境,再透過Wine玩Steam遊戲。
但是,iOS沒有Termux這種神器,就只能用UTM跑了。
好消息是,Apple M系列晶片撐得住x86_64架構的Debian虛擬機,所以我不用裝arm64架構
Debian虛擬機來虐自己,Box64轉譯實在太不穩啦!只要起個跟一般電腦無異的Debian虛
擬機,就能直接安裝x86版本的Steam客戶端了,它能夠吃到GPU加速。
Debian安裝Steam的方法:https://wiki.debian.org/Steam
Steam客戶端如果崩潰,停用GPU加速通常就能解決。
然後就下載遊戲吧...考慮到虛擬機的性能,即使有GPU加速也只能玩Galgame。
https://i.imgur.com/kZQRyG4.jpg
為什麼呢?GPU加速起來了,剩下的問題就是CPU了。要知道JIT的速度依然比不上越獄提
供的Hypervisor,因此拖累了整體性能。
不嚴謹的對比:我之前做了有JIT和沒JIT的測試,並執行Unixbench測試虛擬機的CPU性能
,結果是有JIT相比無JIT的情況下性能提昇了8倍。但就算是這樣,Apple M2在虛擬機跑
出來的分數竟然只有Qualcomm SD210水準。由此可知沒有Hypervisor,虛擬機的性能損耗
依然嚴重。
https://i.imgur.com/EJdwMzX.jpg
所以才會看到,光一個簡單的小遊戲就佔滿全部CPU了。
https://i.imgur.com/y59HbJy.jpg
https://i.imgur.com/4pyskAf.jpg
唯一欣慰的就是Linux虛擬機沒有那麼吃資源,iPad不會跑到燒起來。
目標達成了一半:Steam開起來了,可是遊戲沒有效能可言。
順帶一提,跑Steam遊戲的副產品,就是Proton / Wine了。在這裡可用比Windows虛擬機開
銷還小的方式,跑Windows軟體。
https://i.imgur.com/vYxVNXo.jpg

Links booklink

Contact Us: admin [ a t ] ucptt.com