D2R Mobile for iOS and macOS: Native Switch Game Compatibility
Open-source iOS / macOS compatibility layer for Diablo II: Resurrected with the Reign of the Warlock expansion. Runs your own Switch copy natively on iPhone, iPad and Mac — full touch controls, 60 fps, new endgame modes. Bring your own game files. 开源的《暗黑破坏神 II:狱火重生》术士君临 iOS / macOS 兼容层
At a glance
- What is it?
- D2R Mobile is an MIT-licensed compatibility layer that runs a user's own Nintendo Switch copy of Diablo II: Resurrected on supported iPhone, iPad and Mac systems. It uses native aarch64 execution and Metal-backed platform services, but requires compatible game files.
- Who is it for?
- D2R Mobile fits an engineer or player who owns compatible Nintendo Switch files and specifically wants native execution on Apple hardware. It does not fit users seeking a standalone game download, an emulator, cloud streaming or online multiplayer.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
D2R Mobile's Apple-platform compatibility boundary
D2R Mobile addresses a specific distribution problem: Diablo II: Resurrected is available through a Nintendo Switch release, including the Reign of the Warlock expansion, but that release is not a native iOS or macOS application. The project targets iPhone, iPad and Mac users who already own the game and want the original program to execute on Apple hardware. The repository description sets a clear content boundary: users must bring their own game files, and the project does not distribute the game program, art, text, data tables or shaders.
This is not a conventional source port with a newly written game engine. According to the README, the game's own aarch64 program executes directly on the device without an emulated CPU. The project supplies an Apple-platform host that implements the services expected by the game, including system calls, file-system access, graphics, audio and input. It also translates the game's shaders offline, so scene entry does not require compiling them on demand.
The supported game content is the Switch release with Reign of the Warlock, version 1.0.34.0, which the README says corresponds to PC version 3.3.94012. The documented platforms are iPhone and iPad on iOS 26 and later, or iOS 18 through 25 with an older-API build, and Apple silicon Macs on macOS 26 or later, or macOS 15 through 25 with the older-API build. The repository also mentions a community Apple TV port, but labels it a developer preview that has reached character selection on its author's device.
D2R Mobile's native execution and Metal graphics path
The central mechanism is instruction rewriting around Apple platform constraints, rather than translating the entire game into a different CPU architecture. The README states that iPhone and Switch use the same class of processor, and that only the handful of instructions that cannot run unchanged under Apple's kernel are rewritten. The remaining program bytes are left as shipped. That design explains why the project can retain the original gameplay rather than recreating selected mechanics in a new implementation.
Graphics do not pass through an emulated graphics layer. D2R Mobile re-implements the graphics API on Apple's Metal, while shader interface descriptions, the graphics API function table and recorded addresses inside the program are included as derived interface information. The README distinguishes this derived information from game content. The repository contains the information needed to connect the game program to the host, but not the files that a user must generate locally from an owned game copy.
The project also handles platform services that a standalone executable would normally expect from an operating system. That includes file access, audio, input and the graphics interface. On mobile devices, the documented input model includes rebuilt touch controls, controller support, edge-to-edge iPhone display and true full-screen iPad display. On Apple silicon Macs, the first native macOS version is documented as starting by double-click and working with keyboard, mouse and gamepad.
The README describes the game as fully offline. It states that there is no online account requirement and no multiplayer. Save synchronization is listed among the added features, although the README does not describe the transport, conflict rules or platform boundaries for that feature.
D2R Mobile performance claims and operating constraints
The README reports 60 fps after an iPhone 17 Pro Max warms up, approximately 0.15 seconds to launch, about one second to reach the main menu and about one second to enter a game from that menu. It also reports a roughly 3.8 W whole-device draw at 60 fps while standing in Act I camp at 50 percent brightness. A power saver mode is documented at 30 fps and about 1.85 W. These figures are attributed to measurements on a real iPhone 17 Pro Max under the conditions described in the README, not to a general guarantee for every supported device.
The README also says the install package is a little over 100 MB, while game resources are approximately 5.6 GB and are placed on the phone separately. App updates reportedly leave saves and resources untouched. These details make resource preparation separate from application installation, which matters when planning storage and update workflows.
The device table names an iPhone 14 Pro Max with an A16 processor and 6 GB of memory as the lowest model listed, but the performance discussion also describes older-chip support. The platform statement distinguishes current operating-system requirements from the older-API build. The README does not provide a complete device matrix for every memory configuration, thermal state or storage capacity, so the listed measurements should not be treated as universal performance guarantees.
The project is not intended for a conventional PC conversion workflow. It requires a Switch release with the stated expansion and version, and its native path depends on Apple's aarch64 environment. A user with another game edition, missing expansion or unsupported device would need to resolve that mismatch before the compatibility layer can be relevant.
Installing D2R Mobile and preparing the first playable setup
The README identifies GitHub release assets and points to `docs/GAME_FILES.md` for game-file preparation, but it does not show a complete installation command sequence. It would be misleading to invent a `curl`, package-manager or build command. The concrete installation route documented by the repository is the GitHub releases area, followed by the preparation procedure in `docs/GAME_FILES.md`.
A first-use sequence based on documented information is therefore:
1. Obtain the appropriate D2R Mobile release for the target Apple device and operating-system range. The README distinguishes the current iOS and macOS path from the older-API build for iOS 18 through 25 and macOS 15 through 25. 2. Read `docs/GAME_FILES.md` and generate the required files from the user's own compatible Nintendo Switch copy. The repository states that this preparation happens on the user's machine and that the repository does not contain the game assets. 3. Place the approximately 5.6 GB of game resources separately from the install package, then launch the installed application. 4. For Mac, expect the documented Apple silicon workflow. The README says the native macOS version starts by double-click and accepts keyboard, mouse and gamepad input. For iPhone and iPad, expect touch controls and full-screen presentation.
The README does not document rollback, signing details, resource transfer commands or a complete first-launch configuration file. Those omissions matter for adoption. The first real verification is therefore not a gameplay test, but a check that the owned Switch release, expansion content and generated files match the version and interface expectations described by the repository.
Touch controls, offline play and added game modes
The project is aimed at a phone-shaped play session rather than a bare executable launch. Its documented additions include a complete touch control scheme, edge-to-edge display on iPhone, true full-screen iPad presentation, controller support, English and Chinese interfaces, save sync, a power saver mode and several endgame modes and quality-of-life features.
The README says the port reaches from character creation through endgame. It also names classes, Runewords, Terror Zones, bosses, drop rules and quest flow as content that remains identical to the original because the original program executes. This matters for players who care about existing save characters or game rules, although the README does not document save-file conversion between Switch, iOS and Mac installations.
The documented power saver mode changes the operating point from 60 fps to 30 fps and is associated with lower reported power draw. That is a frame-rate and battery trade-off rather than a claim that every scene has identical gameplay timing. The README does not explain whether difficulty, animation timing or network-dependent behavior changes in that mode, so those details cannot be inferred.
The Apple TV mention should be treated as a community port, not an equivalent support commitment. The developer-preview designation and the statement that character selection has been reached on the author's device indicate incomplete validation relative to the documented iOS and macOS versions.
D2R Mobile compared with emulation and streaming
The closest alternative in approach is a CPU emulator or a hardware-accelerated emulator that translates the Switch program into an emulated execution environment. D2R Mobile takes the opposite route at the CPU boundary, according to the README. Its compatibility layer rewrites only the instructions that cannot run unchanged under Apple's kernel and executes the rest of the original aarch64 program directly. It also replaces the platform-facing graphics path with an implementation backed by Metal rather than presenting the game through an emulated GPU stack.
A second alternative is cloud gaming or streaming. Those services send input to a remote machine that runs the game and return rendered output. D2R Mobile documents fully offline operation, with no online account or multiplayer requirement, and describes the game program and resources as running on the user's Apple device. The trade-off is that the user must supply compatible local game files and use a device and operating-system combination covered by the project.
This comparison also clarifies what the MIT license covers. The repository is licensed under MIT, while the README separately states that game content is excluded and must be generated from files the user owns. The license's effect on any external game files is not documented and should not be inferred beyond the repository's stated boundary.
D2R Mobile maintenance, licensing and release cadence
The repository is not archived. Its last push was on 2026-10-15, and the repository history lists `v1.0.16` on 2026-10-15, `v1.0.15` on 2026-10-14 and `v1.0.14` on 2026-10-14. That sequence indicates recent release activity around the latest push, but the README does not define a long-term support policy, compatibility matrix or upgrade procedure.
The practical upgrade cost is associated with separate app and resource files. The README says the install package is a little over 100 MB, game resources are approximately 5.6 GB, and app updates do not touch saves or resources. It does not specify how a future version handles changes to recorded program addresses or interface tables when the target game release changes. A version mismatch could therefore matter even when the application itself is updated.
The repository license is MIT. The README's separate statement is that D2R Mobile contains no game content and does not distribute it. This article does not assess licensing or copyright status beyond those project statements. Users should review the repository license and the terms associated with their own game files before deciding whether the workflow fits their situation.
Editorial conclusion
D2R Mobile fits an engineer or player who owns compatible Nintendo Switch files and specifically wants native execution on Apple hardware. It does not fit users seeking a standalone game download, an emulator, cloud streaming or online multiplayer. Verify the required Switch game version, device compatibility, installation route in the release package, and the procedure in `docs/GAME_FILES.md` before adopting it.
Frequently asked questions
Does D2R Mobile include the Diablo II: Resurrected game files?
No. The README states that users must bring their own Nintendo Switch game files and that the repository does not contain or distribute the game program, art, text, data tables or shaders.
What devices and operating systems does D2R Mobile support?
The README lists iPhone and iPad on iOS 26 and later, with an older-API build for iOS 18 through 25. It lists Apple silicon Mac on macOS 26 and later, with an older-API build for macOS 15 through 25.
Does D2R Mobile support online multiplayer or cloud streaming?
No. The project documentation says it is fully offline, has no online account requirement and has no multiplayer. It explicitly distinguishes D2R Mobile from cloud gaming and streaming.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/jhaizhou-ops-d2r-mobile)Was this useful?