Это не эмулятор. Собственный код игры работает прямо на чипе Apple, а графика Switch воссоздана на Metal. Возьмите свои NSP-файлы и prod.keys; один скрипт превратит их в IPA, который вы установите через сайдлоад.
Нативный порт вместо эмуляции: код игры переписывается только там, где этого требует ядро Apple.
NSO-модули каждой игры переписываются и работают прямо на CPU. Слой хоста заменяет Horizon, операционную систему Switch: потоки, память, файловую систему, звук и сервисы.
Вызовы NVN и Vulkan реализованы на Metal. Шейдеры Maxwell при сборке переводятся в SPIR-V, а затем в Metal Shading Language.
Ничего из игр здесь не распространяется. Скрипт упаковки читает ваши NSP с вашими ключами на вашем Mac и создаёт неподписанный IPA для сайдлоада.
У каждой игры есть небольшой профиль с константами и таблицами шейдеров в dm/games/<title id>. Код читает профиль и никогда не привязывается к конкретной игре.
Построено на d2r-mobile, трансляторе шейдеров Ryujinx, Atmosphère, yuzu, LibHac, SPIRV-Cross и других проектах. См. благодарности.
Соберите IPA на Mac, установите через сайдлоад и играйте. Первая сборка занимает 30–60 минут, следующие около 10.
Требования. Mac с Xcode и Homebrew; свободное место на диске примерно вдвое больше размера NSP плюс 10 ГБ; iPhone 15 Pro или новее (A17 Pro+) либо iPad с M1 или новее на iOS / iPadOS 26+ (этого требуют BC-сжатые текстуры игр).
Предпочитаете окно терминалу? NX2Apple, проект сообщества, собирает эти шаги в приложение для macOS.
Один раз, на 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'"Базовая игра (NSP или дамп XCI), её обновление и DLC, если есть.
~/Games/MarioWonder/
Super Mario Bros. Wonder [010015100B514000][v0].nsp
Super Mario Bros. Wonder [010015100B514800][v327680].nspIPA появится в той же папке.
python3 scripts/build_ipa_from_nsp.py ~/Games/MarioWonder -k ~/keys/prod.keysУстановите IPA через AltStore, Sideloadly, LiveContainer или аналог. Приложение получит название, значок и версию игры.
Нажмите 2D / 3D сверху, чтобы переключить сенсорную раскладку. Подключённый геймпад скрывает сенсорное управление. В 3D проведите пальцем по правой трети экрана, чтобы управлять камерой. Встряхните телефон, чтобы встряхнуть контроллер.
Проверено на Mac или iPhone. Выберите игру, чтобы увидеть подробности; заметки по играм перечисляют проверенные платформы и ход работы.
























































































По умолчанию английский. Выберите другой при упаковке через -l (например, -l ja) или добавьте DM_LANG=zh-Hans в Documents/env.txt.
В приложении «Файлы» под названием приложения: save/ и log.txt. Если что-то пошло не так, пришлите log.txt.
Короткие подтормаживания при первом появлении сцены — это нормально: графика компилируется один раз и запоминается.
Некоторые средства сайдлоада создают новую папку данных. Скопируйте save/ и pso_user.tsv из старой.
Строки в Documents/env.txt: DM_OPMODE=0 для портативного режима, DM_FPS_TARGET=30 для экономии батареи, DM_SHOW_FPS=1 для счётчика FPS.
Нет amiibo и онлайн-функций. Для других игр создаётся отчёт об анализе и IPA «как получится», который может не запуститься.
Проекты, которые другие люди создают на основе nxnative. nxnative их не поддерживает; смотрите README и issues каждого проекта.
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.