nxnative: запуск игр Nintendo Switch на устройствах Apple
nxnative позволяет запускать собственные игры Nintendo Switch на iPhone, iPad и Mac. Этот проект подходит для тех, кто хочет поиграть в свои NSP-файлы, превращая их в unsigned IPA, которые можно устанавливать на устройства Apple с помощью скрипта. Главное отличие от эмуляторов заключается в том, что код игр выполняется непосредственно на процессоре Apple, а графика пересобирается под Metal.
Проект построен на основе работ других разработчиков, но не содержит игровых данных и не связан с Nintendo. Для работы nxnative необходимы свои прод. ключи. Он ориентирован на пользователей, уже имеющих опыт с подобными проектами и готовых к некоторым техническим требованиям.
Для запуска необходимо наличие NSP-файлов и прод. ключей. Возможно, проект находится на начальной стадии, так что учти, что стабильность и совместимость могут варьироваться.
Проект nxnative позволяет запускать игры Nintendo Switch на устройствах iPhone и iPad. Вместо того чтобы эмулировать работу консоли, он использует собственный код игр, который выполняется непосредственно на процессоре Apple, а графика Switch отрисовывается с использованием Metal. Для работы проекта тебе понадобятся файлы NSP игр и ключи `prod.keys`. Один скрипт преобразует их в IPA-файл, который можно установить на устройство.
Установка и запуск
Чтобы установить и запустить nxnative, следуй этим шагам:
- Установка зависимостей:
- Подготовка файлов игры: Скопируй файлы NSP в отдельную папку (можно также использовать сжатые форматы NSZ и XCZ). Пример структуры папки:
- Запуск скрипта для сборки IPA:
- Mario Kart 8 Deluxe
- Super Mario Odyssey
- The Legend of Zelda: Breath of the Wild
- Fire Emblem Engage
- Hades
- Отсутствие поддержки amiibo и онлайн-функций.
- Некоторые игры могут иметь проблемы с отображением графических эффектов.
- При переключении между приложениями могут возникать звуковые глюки.
git clone https://github.com/seedds/nxnative.git && cd nxnative
brew install xcodegen zstd spirv-cross glslang
brew install --cask dotnet-sdk
python3 -m pip install lz4 capstone fonttools "backports.zstd; python_version < '3.14'"
~/Games/MarioWonder/
Super Mario Bros. Wonder [010015100B514000][v0].nsp
Super Mario Bros. Wonder [010015100B514800][v327680].nsp
python3 scripts/build_ipa_from_nsp.py ~/Games/MarioWonder -k ~/keys/prod.keys
После выполнения этих шагов IPA-файл появится в указанной папке. Установка IPA на устройстве требует использования инструмента для sideloading, такого как AltStore, Sideloadly и т.д.
Поддерживаемые игры
На данный момент проект поддерживает определённый список игр, среди которых:
Важно отметить, что для их запуска необходимо устройство с iOS/iPadOS 16 или новее и процессором A17 Pro или M1 или выше. Семь аркадных игр запускаются в 60fps, что значительно выше стандартной частоты кадров на Nintendo Switch.
Ограничения и известные проблемы
Несмотря на многообещающие возможности, есть определенные ограничения и проблемы:
Другие особенности проекта
Для пользователей, предпочитающих графический интерфейс, существует отдельный проект NX2Apple, позволяющий упаковывать игры с использованием macOS приложения. Этот проект использует те же команды, что и nxnative.
nxnative — это проект с открытым исходным кодом, который развивается за счёт работы многих сторонних разработчиков, таких как Ryujinx и Atmosphère. Коды сторонних библиотек сопровождаются их собственными лицензиями и условиями использования.
Открыть на GitHub: seedds/nxnative →
Есть рилс про этот проект
Switch-игры на iPhone — 30 секунд в Instagram*
▶ Смотреть
RepoRadar