Geen emulator. De eigen code van de game draait direct op de Apple-chip, met Switch-graphics opnieuw opgebouwd op Metal. Neem je eigen NSP-bestanden en prod.keys mee; één script maakt er een IPA van die je sideload.
Een native port in plaats van emulatie: de code van de game wordt alleen herschreven waar de kernel van Apple dat vereist.
De NSO-modules van elke game worden herschreven en draaien direct op de CPU. Een hostlaag vervangt Horizon, het besturingssysteem van de Switch: threads, geheugen, bestandssysteem, audio en services.
NVN- en Vulkan-aanroepen zijn op Metal geïmplementeerd. Maxwell-shaders worden tijdens de build vertaald naar SPIR-V en daarna naar Metal Shading Language.
Hier wordt niets van een game meegeleverd. Het packscript leest je NSP's met je sleutels op je Mac en schrijft een niet-ondertekende IPA om te sideloaden.
Elke game heeft in dm/games/<title id> een klein profiel met constanten en shadertabellen. De code leest het profiel en bevat nooit een vastgezette game.
Gebouwd op d2r-mobile, de shadervertaler van Ryujinx, Atmosphère, yuzu, LibHac, SPIRV-Cross en meer. Zie de dankwoorden.
Pak een IPA op een Mac, sideload hem en speel. De eerste build duurt 30–60 minuten, latere ongeveer 10.
Vereisten. Een Mac met Xcode en Homebrew; vrije schijfruimte van ongeveer twee keer de grootte van de NSP's plus 10 GB; een iPhone 15 Pro of nieuwer (A17 Pro+) of een iPad met M1 of later, met iOS / iPadOS 26+ (de BC-gecomprimeerde textures van de games hebben dat nodig).
Liever een venster dan een terminal? NX2Apple, een communityproject, verpakt deze stappen in een macOS-app.
Eenmalig, op de Mac.
git clone https://github.com/seedds/nxnative.git && cd nxnative
brew install xcodegen zstd spirv-cross
brew install --cask dotnet-sdk
python3 -m pip install lz4 capstone fonttools "backports.zstd; python_version < '3.14'"De basisgame (een NSP of een XCI-dump), de update en eventuele DLC.
~/Games/MarioWonder/
Super Mario Bros. Wonder [010015100B514000][v0].nsp
Super Mario Bros. Wonder [010015100B514800][v327680].nspDe IPA verschijnt in dezelfde map.
python3 scripts/build_ipa_from_nsp.py ~/Games/MarioWonder -k ~/keys/prod.keysInstalleer de IPA met AltStore, Sideloadly, LiveContainer of iets vergelijkbaars. De app krijgt de naam, het icoon en de versie van de game.
Tik bovenaan op 2D / 3D om de aanraakindeling te wisselen. Een aangesloten controller verbergt de aanraakbediening. In 3D veeg je over het rechtergedeelte (een derde) van het scherm voor de camera. Schud de telefoon om de controller te schudden.
Getest op een Mac of iPhone. Kies er een voor de details; de notities per game noemen de geteste platforms en de voortgang.
























































































Standaard Engels. Kies bij het packen een andere met -l (bijvoorbeeld -l ja), of voeg DM_LANG=zh-Hans toe aan Documents/env.txt.
In de Bestanden-app onder de naam van de app: save/ en log.txt. Stuur log.txt mee als er iets misgaat.
Korte haperingen de eerste keer dat een scène verschijnt zijn normaal: graphics worden één keer gecompileerd en onthouden.
Sommige sideload-tools geven een nieuwe gegevensmap. Kopieer save/ en pso_user.tsv uit de oude.
Regels in Documents/env.txt: DM_OPMODE=0 voor handheld, DM_FPS_TARGET=30 om batterij te besparen, DM_SHOW_FPS=1 voor een fps-teller.
Geen amiibo, geen onlinefuncties. Andere games krijgen een analyserapport en een IPA op basis van beste inspanning die mogelijk niet start.
Projecten die anderen op nxnative bouwen. Ze worden niet door nxnative onderhouden; raadpleeg de README en issues van elk project.
A fork of nxnative that follows upstream daily and adds NS Port Builder, a macOS app that runs the whole pipeline from a window.
A native launcher for Apple Silicon Macs (macOS 26+, SwiftUI) that you point at your own nxnative checkout, games and keys.
A Mac app (and the nxplay script behind it) that builds, plays, installs and manages your Switch games through nxnative, on the Mac and on iPhone / iPad.
A native macOS interface (Apple silicon, macOS 13+) that turns nxnative's command-line pipeline into a console-style game library and a guided porting wizard.