创作#游戏移植

d2r-mobile:把 Switch 版暗黑 2 原生搬到 iPhone 上跑

d2r-mobile 是开源 iOS/macOS 兼容层,把 Switch 版暗黑 2 原版程序搬到 iPhone 与 Apple 芯片 Mac,60 fps。

项目资料

GitHub Ecosystem
仓库地址github.com/jhaizhou-ops/d2r-mobile
许可证
MIT
主语言
C
星标
4,060
核查时间
2026-10-20

以上快照资料以核查当日为准,可能随版本或运营策略变化。

iPhone 上的暗黑破坏神 II:狱火重生,画面铺满整块屏幕,血红传送门旁是重做的圆形触屏技能栏

模拟器跑不了 Switch 的《暗黑破坏神 II:狱火重生》——Switch 和 iPhone 用的是同一类 ARM 处理器,但两者的系统接口并不相通。d2r-mobile 没有做 CPU 模拟,而是把游戏自己的 aarch64 程序直接搬到 iPhone、iPad 和 Apple 芯片 Mac 上运行:只重写极少数无法在苹果内核下原样运行的指令,其余字节一律保持原样,图形 API 则整体在 Metal 上重实现。官方标称帧率稳定 60 fps,从主菜单进游戏约 1 秒,触屏控件全部重建,支持中文。仓库 MIT 开源,主要语言 C,截至 2026-10-20 有 4,060 颗星、1,127 个 fork。游戏文件需要自备。

iPhone 上的暗黑破坏神 II:狱火重生,画面铺满整块屏幕,血红传送门旁是重做的圆形触屏技能栏

核心功能

  • 原生执行,不做 CPU 模拟:游戏程序里的指令只改写在苹果内核下跑不动的少数几条(线程指针寄存器、系统调用、定时器),其余字节原样保留。因此每个职业、每一条符文之语、 Terror Zone、Boss、掉宝规则和任务流程都与原版一致。
  • 图形 API 在 Metal 上重实现:着色器离线从游戏原始着色器翻译,中间没有模拟层。官方给出的功耗数据是 60 fps 下整机约 3.8 W。
  • 为手机重做的操作:完整的触屏控制方案,iPhone 全屏、iPad 真全屏显示,支持手柄,另有省电模式;在 3D 中也能直接拖动角色、放技能。
  • 不止于原版内容:在保留原版的基础上加入了大秘境(Greater Rift)、Endgame Boss Rush、Elysium 模式、击杀榜等新玩法,以及「收藏家的天堂」存储整理功能和一键符文之语。
  • 多端与多语言:iPhone / iPad 需 iOS 26 以上(iOS 18–25 用旧 API 构建),Apple 芯片 Mac 需 macOS 26 以上(macOS 15–25 同理),Apple TV 4K(第三代,A15)有社区移植但仍是开发者预览;界面支持 English / 中文 / Español。
  • 测试与验证是项目的一部分:宿主层与图形层有单元测试,每条被重写的指令都有等价性校验,触屏界面有脚本化回归,还有设备冒烟测试。作者给的三条命令是 make -C dm/host/tests run、make -C dm/gfx/tests run 和 dm/verify/regress.sh。

典型使用场景

  • 手机上接着刷暗黑 2:把 Switch 卡带里的进度搬上手机,躺沙发上刷牛关、跑大秘境,不用坐在 Switch 前。
  • Apple 芯片 Mac 上补票:本地跑原版,键盘鼠标加手柄都能用,双击启动。
  • 想把 Switch 游戏搬到 iOS 的开发者:项目公开了完整流程——重写器、宿主、图形层、iOS 壳、验证工具的位置和分工,社区已经出现多个基于它的移植。
  • 离线玩游戏的人:不含在线内容,纯离线可玩。

快速上手

需要先有一台装了 Xcode 的 Apple 芯片 Mac,并把你自己拥有的 Switch 版游戏文件放进工作目录。核心流程是三步:

# 1. 把游戏文件放进 ~/dm-work/data/switch/<版本>/Update/{ExeFS,RomFS}
# 2. 准备工作区:检查工具、重写游戏程序、把着色器翻译到 Metal
./setup.sh
source ~/dm-work/build/cache/dm/venv/bin/activate
# 3. 填签名信息后构建
cp dm/ios/local.env.example dm/ios/local.env
cd dm/ios && ./run.sh build

没有 Mac 的话可以下载不含游戏内容的「壳」,用打包工具加入自己的游戏文件,再用侧载工具安装;作者称 Windows 上已端到端跑通,只有侧载签名这一步还没有人试过。签名用的 Apple ID:付费开发者账号功能完整,免费 Apple ID 也能用,但没有 iCloud 存档同步,且每 7 天要重新签名重装。

小结

适合拥有 Switch 版《暗黑 2 重制版》、想在 iPhone / iPad 或 Apple 芯片 Mac 上接着玩的玩家,也值得想研究「如何把 Switch 原生程序移植到 iOS」的开发者读一遍流程。不适合没有这块游戏的人——项目不提供任何游戏内容,用自备文件是前提。

需要注意的地方:最低要 A14 / M1 芯片,图形层需要 Metal 3;A16 及更早的机型要额外做一份 Legacy Device Pack;4 GB 内存的设备(如 iPad mini 6)能跑但内存非常紧张,作者实测 Act I 几分钟内 50–58 fps,复杂场景可能被系统结束。联机不在范围内,纯离线。游戏版本只认带「术士君临」DLC 的 Switch 版。合法性上要清楚:项目只提供工具和安装壳,不分发游戏内容,需使用你合法拥有的文件。 C,MIT,4,060 星。

想把别的 Switch 游戏也搬过来的话,社区已经出现了基于它的衍生移植;想在浏览器里做 3D 场景的话,可以看本站此前的 Pascal Editor。