Zero CPU Emulation: How nxnative and Utsuro Run Switch and Xbox One Games Natively on iPhone and Mac

While independent developers have been busy finding quirky ways to exploit the physical hinge on Apple's foldable iPhone Duo powered by the A20 Pro chip, such as Tomasz Szykulski and Cyprian Brytan's Toastie: Grilled Cheese Game where players literally fold the phone shut like a sandwich press to melt cheese in real time, a far more ambitious technical breakthrough is unfolding across Apple Silicon. Hot on the heels of the native Android port of Super Mario Galaxy running on Vulkan 1.0, two open-source projects named nxnative and Utsuro are bringing Nintendo Switch and Xbox One libraries to Mac, iPad, and iPhone by bypassing traditional hardware emulation altogether.
nxnative: Rewriting ARM64 Switch Executables to Metal Without a CPU Emulator
On iOS and macOS, running modern console games has historically collided with two major roadblocks: the heavy overhead of real-time CPU instruction translation and Apple's strict restrictions on Just-In-Time (JIT) compilation without external debugging workarounds. Released under an MIT license on GitHub by developer seedds, building upon the native execution groundwork pioneered by jhaizhou-ops with d2r-mobile, nxnative removes that bottleneck at the root.
Because both the Nintendo Switch and modern Apple Silicon chips (M1 through M4 on Mac and iPad, plus A17 Pro and newer starting with the iPhone 15 Pro) share the same underlying ARM64 instruction architecture, the game's CPU code does not need to be emulated. Instead, nxnative acts as a static compilation and compatibility pipeline that takes a user's legally dumped game files (NSP or XCI formats, including updates and DLC) along with their console's prod.keys and packages them into a self-contained native application: an unsigned .ipa for iPhone and iPad, or a standalone .app bundle for macOS.
- NSO Rewriter: The game's original ARM64 executable binaries are patched and rewritten so they execute directly on Apple Silicon CPU cores at native speed without JIT compilation.
- Horizon HLE Host: A lightweight High-Level Emulation host stands in for the Switch's mesosphère kernel and Horizon OS system services, mapping them to native macOS and iOS equivalents.
- NVN to Metal Translation: Proprietary Nintendo NVN graphics API calls and Maxwell shaders are converted to SPIR-V using Ryujinx shader tooling, then compiled into Metal Shading Language via SPIRV-Cross and Xcode 27.1's Metal toolchain.
- NX2Apple Graphical Frontend: For users who prefer a graphical interface over running the command-line
build_ipa_from_nsp.pyscript, developer LNPANDY maintains the companion macOS app NX2Apple, which automates builds and manages a local Mac game library.
62 Tested Switch Games and Unlocked 60 FPS Performance
Because CPU instructions run directly on the hardware and graphics calls talk natively to Apple's Metal API, performance frequently surpasses original Switch hardware limits. The official nxnative compatibility list already documents 62 tested games across Mac and iPhone (requiring iOS/iPadOS 26 or macOS 26.6 and an A17 Pro or M1 chip minimum, since older iPhones lack hardware decoding for BC-compressed textures).
Several flagship titles originally capped at 30 frames per second on Nintendo Switch run at a full 60 FPS when packaged with their matching game update:
- The Legend of Zelda: Breath of the Wild (60 FPS with update 1.9.0, ~16 GB IPA) and The Legend of Zelda: Tears of the Kingdom (60 FPS with update 1.4.3, ~17 GB IPA).
- Paper Mario: The Thousand-Year Door (60 FPS with 1.0.1), Luigi's Mansion 3 (60 FPS with 1.4.0), and Hyrule Warriors: Age of Calamity (60 FPS with 1.3.0).
- Fire Emblem: Three Houses (60 FPS with 1.2.0), Fire Emblem Engage (60 FPS with 2.0.0), ASTRAL CHAIN (60 FPS target with 1.0.1), and Monster Hunter Rise (60 FPS with 16.0.2).
- Dark Souls: Remastered (60 FPS with 1.0.3), NieR:Automata The End of YoRHa Edition (60 FPS with 1.0.3), Dragon Quest XI S (60 FPS with 1.0.4), and Shin Megami Tensei V: Vengeance (60 FPS with 1.0.3).
Alongside those unlocked titles, native 60 FPS staples such as Super Mario Odyssey, Mario Kart 8 Deluxe, Super Mario Bros. Wonder, Super Mario Galaxy 1 and 2, Metroid Dread, Hollow Knight: Silksong, Hades II, and Pokémon Legends: Z-A are also verified in the compatibility matrix. When sideloading on iPhone via AltStore, Sideloadly, or LiveContainer, signing the app with the Increased Memory Limit entitlement unlocks up to 6 GB of RAM (up from iOS's default 3.4 GB cap). The app shell even supports adaptive 2D/3D touch layouts, iPhone haptic rumble, and physical shake detection via the gyroscope to trigger motion actions like cap throws in Super Mario Odyssey.
Utsuro: The x86-64 Translation Layer Bringing Xbox One Games to Apple Silicon
While shared ARM64 silicon makes the Switch-to-Apple bridge possible, a second open-source initiative is tackling an even steeper architectural gap: running Xbox One software on Mac and iPhone without full hardware virtualization. Created by developer levi (@leviidev01) and recently released in v0.1.0 Alpha on GitHub, Utsuro operates as a translation and compatibility layer similar in spirit to Proton on Linux.
Because the Xbox One relies on an x86-64 processor and a Windows-derived system environment, Utsuro combines three translation components to bypass heavy console emulation: it utilizes FEXCore to execute x86-64 CPU code on Apple's ARM64 chips, translates Direct3D 11.X shader bytecode directly into Metal Shading Language, and routes audio output through CoreAudio.
Although still in early alpha (requiring source compilation on macOS or a JIT helper such as StikDebug on iOS), initial benchmarks prove the concept works: Minecraft: Xbox One Edition runs between 36 and 60 FPS on Mac builds with working audio, saves, and touch controls demonstrated on iOS, while Sonic Mania hits roughly 57 FPS with full sound. Meanwhile, Rocket League already boots into 3D arenas and responds to controller inputs at 15 to 20 FPS, though lighting and audio remain under active development.
My Test Bench
Running Tears of the Kingdom at a locked 60 FPS on a fanless M1 MacBook Air is the ultimate middle finger to Apple's software restrictions. As long as iOS blocks JIT compilation for standard apps, traditional emulators will keep choking CPU cores and draining battery life in forty minutes flat.
By statically recompiling ARM64 game binaries and translating shaders straight to Metal ahead of time, nxnative and Utsuro cut out the middleman entirely: the chip stops translating on the fly and just runs the code cold and fast.



















