Skip to content
seeddsPublic

About

Switch games running natively on iPhone, iPad and Mac: an NSP folder becomes an unsigned IPA (NSO rewriter, Horizon HLE host, NVN→Metal)

Resources

Contributing

Stars

9.3k stars

Watchers

40 watching

Forks

Latest commit

 

History

694 Commits

Folders and files

Repository files navigation

nxnative

Play your own Nintendo Switch games natively on iPhone and iPad. Bring your game (its NSP files) and your prod.keys; one script turns them into an IPA that you sideload.

It is not an emulator: the game's own code runs directly on the Apple chip, with Switch graphics rebuilt on Metal. Nothing from any game is in this repository, and the project is not affiliated with Nintendo or any game publisher.

How to play

With a Mac app

Community projects build on nxnative with Mac apps that turn your games into apps for your iPhone, iPad or Mac, with no command line, and keep them in a library. They are separate projects: questions and bugs about them go to their own pages.

Build from the command line

You need a Mac with macOS 26.6 or later, Xcode 27.1, Homebrew and Python 3.12 or newer (an arm64 one, not an Intel Homebrew's). An iPhone build also needs Xcode's iOS platform (Xcode → Settings → Components).

1. Install the tools (only once), in Terminal:

xcodebuild -downloadComponent MetalToolchain
git clone https://github.com/seedds/nxnative.git && cd nxnative
brew install xcodegen zstd glslang
brew install --cask dotnet-sdk
python3 -m pip install lz4 capstone fonttools nsz zbic "backports.zstd; python_version < '3.14'"

2. Put your game in a folder: the game, plus its update and DLC if you have them (.nsp, .xci, .nsz or .xcz):

~/Games/MarioWonder/
  Super Mario Bros. Wonder [010015100B514000][v0].nsp
  Super Mario Bros. Wonder [010015100B514800][v327680].nsp

3. Build, with your game folder and your prod.keys:

python3 scripts/build_ipa_from_nsp.py ~/Games/MarioWonder -k ~/keys/prod.keys

The IPA appears in the game's folder. The first build takes 30–60 minutes and needs free disk space of about twice the game's size plus 10 GB; building again is much faster.

To play on the Mac instead, add --platform mac-app: you get a Mac app of the game to open from Finder. All options: The packing script in detail.

Install

Install the IPA on your iPhone or iPad with a sideloading tool such as AltStore, Sideloadly or LiveContainer. If your tool offers Increased Memory Limit, turn it on: the bigger games need it.

Game too big to install? Build again with --romfs separate, and run the command the script prints once to copy the game files to your phone (Quick reinstalls).

Controls, saves and settings: Playing.

Games

Games tested on Mac or iPhone. See the per-game notes for tested platforms, progress and known issues:

Needs iOS / iPadOS 26 or later on an iPhone 15 Pro or newer (A17 Pro chip or later) or an iPad with an M1 chip or later: the games' textures are BC-compressed, and older iPhones can't read that format. Other games aren't supported yet. For them the script writes a survey and still tries its best to pack an IPA, guessing the game's settings; such an IPA may not start.

Under a game, "60 fps with 1.2.0" means it runs at 60 fps (30 on the Switch) with that update.

Mario Kart 8 Deluxe
Mario Kart 8 Deluxe
no Mii heads
Mario vs. Donkey Kong
Mario vs. Donkey Kong
Paper Mario: The Thousand-Year Door
Paper Mario: The Thousand-Year Door
60 fps with 1.0.1
Super Mario 3D World + Bowser's Fury
Super Mario 3D World + Bowser's Fury
Super Mario Bros. Wonder
Super Mario Bros. Wonder
Super Mario Galaxy
Super Mario Galaxy
Super Mario Galaxy 2
Super Mario Galaxy 2
Super Mario Odyssey
Super Mario Odyssey
The Legend of Zelda: Breath of the Wild
The Legend of Zelda: Breath of the Wild
60 fps with 1.9.0
The Legend of Zelda: Link's Awakening
The Legend of Zelda: Link's Awakening
The Legend of Zelda: Tears of the Kingdom
The Legend of Zelda: Tears of the Kingdom
60 fps with 1.4.3
13 Sentinels: Aegis Rim
13 Sentinels: Aegis Rim
Absolum
Absolum
Ace Attorney Investigations Collection
Ace Attorney Investigations Collection
Advance Wars 1+2: Re-Boot Camp
Advance Wars 1+2: Re-Boot Camp
AI: THE SOMNIUM FILES
AI: THE SOMNIUM FILES
AI: THE SOMNIUM FILES - nirvanA Initiative
AI: THE SOMNIUM FILES - nirvanA Initiative
Animal Crossing: New Horizons
Animal Crossing: New Horizons
ANIMAL WELL
ANIMAL WELL
ASTRAL CHAIN
ASTRAL CHAIN
60 fps target with 1.0.1
Balatro
Balatro
played by touch
BALL x PIT
BALL x PIT
Bayonetta
Bayonetta
Bayonetta 2
Bayonetta 2
Bayonetta 3
Bayonetta 3
Big Brain Academy: Brain vs. Brain
Big Brain Academy: Brain vs. Brain
Brain Memory Training Academy
Brain Memory Training Academy
Captain Toad: Treasure Tracker
Captain Toad: Treasure Tracker
Catherine: Full Body
Catherine: Full Body
Celeste
Celeste
Cuphead
Cuphead
DARK SOULS: REMASTERED
DARK SOULS: REMASTERED
60 fps with 1.0.3
Digimon Story Cyber Sleuth: Complete Edition
Digimon Story Cyber Sleuth: Complete Edition
Donkey Kong Country: Tropical Freeze
Donkey Kong Country: Tropical Freeze
DRAGON QUEST VII Reimagined
DRAGON QUEST VII Reimagined
DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition
DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition
60 fps with 1.0.4
FINAL FANTASY RESONANCE
FINAL FANTASY RESONANCE
60 fps with 1.0.1
FINAL FANTASY TACTICS - The Ivalice Chronicles
FINAL FANTASY TACTICS - The Ivalice Chronicles
Fire Emblem Engage
Fire Emblem Engage
60 fps with 2.0.0
Fire Emblem: Three Houses
Fire Emblem: Three Houses
60 fps with 1.2.0
Ghost Trick: Phantom Detective
Ghost Trick: Phantom Detective
The Great Ace Attorney Chronicles
The Great Ace Attorney Chronicles
Hades
Hades
Hades II
Hades II
Hollow Knight: Silksong
Hollow Knight: Silksong
Hyrule Warriors: Age of Calamity
Hyrule Warriors: Age of Calamity
60 fps with 1.3.0
Kirby and the Forgotten Land
Kirby and the Forgotten Land
Luigi's Mansion 3
Luigi's Mansion 3
60 fps with 1.4.0
Metroid Dread
Metroid Dread
Monster Hunter Rise
Monster Hunter Rise
60 fps with 16.0.2
Monster Train 2
Monster Train 2
60 fps with 1.1.1
OCTOPATH TRAVELER
OCTOPATH TRAVELER
Octopath Traveler 0
Octopath Traveler 0
60 fps with 1.0.5
Octopath Traveler II
Octopath Traveler II
60 fps with 1.1.1
Patrick's Parabox
Patrick's Parabox
Persona 5 Royal
Persona 5 Royal
Pikmin 4
Pikmin 4
Pokémon Brilliant Diamond
Pokémon Brilliant Diamond
60 fps with 1.3.0
Pokémon Legends: Z-A
Pokémon Legends: Z-A
Pokémon Scarlet
Pokémon Scarlet
Pokémon Sword
Pokémon Sword
Pokémon Shield
Pokémon Shield
Portal
Portal
Raging Loop
Raging Loop
Rhythm Heaven Groove
Rhythm Heaven Groove
ROMANCE OF THE THREE KINGDOMS 8 REMAKE
ROMANCE OF THE THREE KINGDOMS 8 REMAKE
controller only
Sea of Stars
Sea of Stars
SHIN MEGAMI TENSEI V: Vengeance
SHIN MEGAMI TENSEI V: Vengeance
60 fps with 1.0.3
Stardew Valley
Stardew Valley
STEINS;GATE RE:BOOT
STEINS;GATE RE:BOOT
Super Smash Bros. Ultimate
Super Smash Bros. Ultimate
offline
Taiko Risshiden V DX
Taiko Risshiden V DX
Japanese · played by touch
Unicorn Overlord
Unicorn Overlord
Yoshi's Crafted World
Yoshi's Crafted World
NieR:Automata The End of YoRHa Edition
NieR:Automata The End of YoRHa Edition
60 fps with 1.0.3
The Legend of Zelda: Echoes of Wisdom
The Legend of Zelda: Echoes of Wisdom
Donkey Kong Country Returns HD
Donkey Kong Country Returns HD
Mario + Rabbids Sparks of Hope
Mario + Rabbids Sparks of Hope
Xenoblade Chronicles 2
Xenoblade Chronicles 2
Xenoblade Chronicles 3
Xenoblade Chronicles 3
FINAL FANTASY CRYSTAL CHRONICLES Remastered Edition
FINAL FANTASY CRYSTAL CHRONICLES Remastered Edition
Return of the Obra Dinn
Return of the Obra Dinn
Blasphemous 2
Blasphemous 2
Silver Pines
Silver Pines
Blasphemous
Blasphemous
FINAL FANTASY X/X-2 HD Remaster
FINAL FANTASY X/X-2 HD Remaster
Mario + Rabbids Kingdom Battle
Mario + Rabbids Kingdom Battle
Persona 4 Golden
Persona 4 Golden
Xenoblade Chronicles: Definitive Edition
Xenoblade Chronicles: Definitive Edition
Pokémon Legends: Arceus
Pokémon Legends: Arceus
Super Mario Party Jamboree
Super Mario Party Jamboree
Cult of the Lamb
Cult of the Lamb
Paper Mario: The Origami King
Paper Mario: The Origami King
Batman: Arkham Knight
Batman: Arkham Knight
Bastion
Bastion
Baba Is You
Baba Is You
SteamWorld Heist II
SteamWorld Heist II
SteamWorld Heist: Ultimate Edition
SteamWorld Heist: Ultimate Edition
Subnautica: Below Zero
Subnautica: Below Zero
SteamWorld Dig 2
SteamWorld Dig 2
Streets of Rage 4
Streets of Rage 4
Mario Party Superstars
Mario Party Superstars
Subnautica
Subnautica
SteamWorld Dig
SteamWorld Dig
Team Sonic Racing
Team Sonic Racing
Well Dweller
Well Dweller

For developers

How it works · Game notes · Bring-up and debugging · Front ends · Contributing

Acknowledgements

nxnative started from d2r-mobile (MIT), which developed this native-execution approach for Diablo II: Resurrected: its NSO rewriter, Horizon host, NVN-on-Metal layer and iOS app shell. Fixes go both ways. It also builds on Ryujinx (MIT; its shader translator, in dm/third_party/ryujinx with a few fixes, and a reference for system services), Atmosphère (Horizon's synchronization semantics), yuzu (Maxwell encodings, kernel cross-checks), LibHac and hactool (reading NSPs), SPIRV-Cross and glslang (shaders to Metal), deko3d (zlib; texture layout sizes), libvpx, stb_vorbis, the Vulkan headers and NVIDIA FLIP (licenses), and Capstone, lz4, fontTools and XcodeGen in the build.

License

MIT (LICENSE). Third-party code keeps its own license (dm/third_party).

About

Switch games running natively on iPhone, iPad and Mac: an NSP folder becomes an unsigned IPA (NSO rewriter, Horizon HLE host, NVN→Metal)

Resources

Contributing

Stars

9.3k stars

Watchers

40 watching

Forks

Releases

Packages

Contributors

Languages