[心得] 用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