← Back to AI Insights
Gemini Executive Synthesis

d2r-mobile (Diablo II: Resurrected iOS/macOS compatibility layer), specifically the feasibility of porting an older Metal backend to iOS 17.0 / A16.

Technical Positioning
Providing an open-source, native compatibility layer for Diablo II: Resurrected on iOS/macOS, targeting specific hardware (iPhone 14 Pro Max, A16) and older iOS versions (17.0) than officially supported (iOS 18). The goal is to achieve playable performance (60 fps) with full touch controls.
SaaS Insight & Market Implications
This detailed report explores the complex technical challenges of porting `d2r-mobile` to iOS 17.0 on A16 hardware, below the official iOS 18 minimum. The developer has undertaken significant modifications, including adjusting deployment targets, re-implementing the NVN backend with traditional Metal queues, and addressing parameter reuse and presentation issues. While the worker can be built and the game can be entered on a real device, performance remains unstable (38-41 FPS vs. target 60 FPS). This demonstrates a strong market demand for extending game compatibility to older, but still prevalent, hardware and OS versions. The extensive low-level Metal API work and custom compatibility implementations highlight the substantial engineering effort required to achieve this. The project's open-source nature and focus on local execution (TrollStore) appeal to a niche segment seeking control and extended device support, but the performance instability indicates that achieving a truly seamless experience on unsupported platforms remains a significant technical hurdle.
Proprietary Technical Taxonomy
d2r-mobile Open-source iOS / macOS compatibility layer Diablo II: Resurrected Reign of the Warlock expansion Switch copy natively on iPhone, iPad and Mac full touch controls 60 fps new endgame modes

Raw Developer Origin & Technical Request

Source Icon GitHub Issue Oct 14, 2026
Repo: jhaizhou-ops/d2r-mobile
兼容性咨询:iOS 17.0 / A16 的旧 Metal 后端移植可行性(v1.0.13,已进局)

## 问题性质

想咨询 **iOS 17.0 的旧 Metal 接口移植可行性**,以及应该对齐哪些上游实现。这是自行修改的非官方兼容构建,不将其卡顿当作未经修改的上游 bug,也不是请求游戏文件或安装包。

## 环境与基线

- 构建环境:macOS 15.7.2 / arm64,Xcode 26.3(17C529)。

- iPhone 14 Pro Max(iPhone15,3,A16,6 GB),iOS 17.0(21A329)。希望保留当前系统及 TrollStore。
- 安装方式:TrollStore;本地 IPA 临时签名,不是官方发行壳,也没有付费账号的 iCloud 能力。
- 基于 **v1.0.13 / `f43480dc486e9b8f6f5196057c61209e196794e2`**;截至本次检查,main 为 `685d3dd`,标签之后只有 README 改动。
- 本地测试构建:1.0.13 / 2026101408;实际程序产物 **r44-touch**,不是只更换目录名或版本号。
- 已读 `OLDER_SYSTEMS.zh-CN.md`:官方旧接口最低 iOS 18,所以这里是在询问额外的 iOS 17 支持边界。

## 已做的修改概述

1. 部署目标与着色器产物最低版本改为 **17.0**;隔离高版本托管资源下载接口及新系统性能接口,保留本地资源导入。
2. NVN 后端改用传统 Metal 队列、命令缓冲和编码器;增加 GPU 地址到 buffer+offset 的弱引用索引,并按实际引用的纹理/缓冲声明资源,而非每次声明全部资源。参考了上游 `DM_NVN_M3`,但目前仍是自定义兼容实现,不是官方 M3 分支原样构建。
3. 修复在途参数复用:泛光参数使用 fence 保护的快照,present 参数逐次编码快照,避免共享小环被后续帧覆盖。
4. 曾在 iOS 17 发生 `CAMetalDrawableInvalidOperation: -presentAfterMinimumDuration should not be called when using CAMetalDisplayLink.`;目前保留 **先 commit、再直接 drawable.present** 的路径,并对系统分享/键盘弹窗与后台增加独立呈现保护。这里与上游 M3 的 command-buffer presentation 有差异。
5. 同队列上传去掉 CPU 轮询等待,增加由完成事件控制的 3×4 MiB 暂存复用,保留回退开关。当前设备日志中该等待计数为0,不能把宿主微基准的收益当作真实游戏提升。
6. 已同步 v1.0.13 功能、重新生成 main/sdk/subsdk0 的 r44 产物并核对嵌入段;A16 使用完整 ASTC 配套包,设备校验通过。未改变游戏资源读取格式,也未开启运行时外推来冒充真帧。

## 验证范围与实际情况

- Mac 上:三模块改写等价/结构检查、146 个门功能检查,以及宿主、触控和选取的图形回归通过;包内最低系统17.0,未见 MTL4 未定义符号。**这些不作为设备运行证明**。完整真值验收 `accept.sh` 未运行。
- iOS17 真机:已进入游戏并移动、切换区域,约5–6分钟日志中有11次正常存档提交,18个资源归档及ASTC包校验通过。
- 性能仍不稳定:目标60时,一段接近60,后面约38–41。部分窗口的上屏间隔约一半16.7ms、一半3...

Developer Debate & Comments

No active discussions extracted for this entry yet.

Adjacent Repository Pain Points

Other highly discussed features and pain points extracted from jhaizhou-ops/d2r-mobile.

Top Replies
jhaizhou-ops • Oct 13, 2026
谢谢这份整理,尤其是把「配置写进去了」和「实际刷出来多少」分开看——这个区分是对的。先把现在的规则摆出来,方便后面讨论有共同的底: **现在的规则(`dm/host/dm_rift.c`)** - **怪物生命与伤害**:从起算层...
hubeiqiao • Oct 13, 2026
已阅读作者最新说明。用户随后要求做出实际代码,现提交可撤回的玩法试验草稿 : https://github.com/jhaizhou-ops/d2r-mobile/pull/28 实现四种随机遭遇方案:均衡50%、群怪25%、精英猎场20%、密集梦境5%;每图...
hubeiqiao • Oct 13, 2026
用户要求继续系统学习D3随机与词缀机制,已补充实际路线代码和中英文研究到 ,提交892c288: https://github.com/jhaizhou-ops/d2r-mobile/pull/28 研究文档: https://github.com/hubeiqiao/d2r-mobile/blob/cod...
Top Replies
jhaizhou-ops • Oct 14, 2026
谢谢报告。iPad Air 4(A14、4 GB 内存)属于首页「支持哪些设备」表里「比 A15 更老的芯片、4 GB 内存的设备」那一行,你是第一位报告这台机型的,你的材料对这一档很有用。 **App 每次启动都会写日志,闪退也拿...
alexwhw0528 • Oct 14, 2026
感谢回复,日志见下 [boot.previous.txt](https://github.com/user-attachments/files/33426856/boot.previous.txt) [boot.txt](https://github.com/user-attachments/files/33426855/boot.txt) [JetsamEvent-202...
jhaizhou-ops • Oct 14, 2026
谢谢,材料很完整,原因已经看清楚了。 **iPad Air 4 为什么闪退**:老机型补充包已经正确带上并生效(日志里有「用老机型补充包」一行)。闪退是系统内存整体不够时把 App 结束的:启动后 3 秒左右,App 常驻约 ...

Frequently Asked Questions

Market intelligence mapped to d2r-mobile (Diablo II: Resurrected iOS/macOS compatibility layer), specifically the feasibility of porting an older Metal backend to iOS 17.0 / A16..

What is the technical positioning of d2r-mobile (Diablo II: Resurrected iOS/macOS compatibility layer), specifically the feasibility of porting an older Metal backend to iOS 17.0 / A16.?
Based on our AI analysis of the original developer request, its primary technical positioning is: Providing an open-source, native compatibility layer for Diablo II: Resurrected on iOS/macOS, targeting specific hardware (iPhone 14 Pro Max, A16) and older iOS versions (17.0) than officially supported (iOS 18). The goal is to achieve playable performance (60 fps) with full touch controls.
What architecture is tied to d2r-mobile (Diablo II: Resurrected iOS/macOS compatibility layer), specifically the feasibility of porting an older Metal backend to iOS 17.0 / A16.?
Our proprietary extraction maps d2r-mobile (Diablo II: Resurrected iOS/macOS compatibility layer), specifically the feasibility of porting an older Metal backend to iOS 17.0 / A16. to adjacent architectural concepts including d2r-mobile, Open-source iOS / macOS compatibility layer, Diablo II: Resurrected, Reign of the Warlock expansion.

Engagement Signals

0
Replies
open
Issue Status

Cross-Market Term Frequency

Quantifies the cross-market adoption of foundational terms like d2r-mobile and Open-source iOS / macOS compatibility layer by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.