nxnative 把自己的 Switch 游戏原生跑在 iPhone 和 Mac 上

nxnative 做的事和模拟器不一样:它把你自己的 Switch 游戏打包成一个 Mac 应用或者一个未签名的 IPA,然后游戏自己的代码直接跑在 Apple 芯片上,Switch 的图形调用被重建到 Metal 上。

一、问题是什么

想在非 Switch 设备上玩 Switch 游戏,常规答案是模拟器。模拟器的工作方式是「假装自己是一台 Switch」,把主机固件、系统服务、GPU 指令都模拟一遍——这中间有一层翻译损耗,性能、兼容性、稳定性都要看模拟器作者啃下了多少。

另一条更彻底的路是:不模拟主机,而是把游戏本身搬过来。因为 Switch 用的是 ARM 架构,Apple 芯片也是 ARM,指令集本来就通;只要把图形层从 NVN 换成 Metal、把 Horizon 系统调用用宿主实现顶上,游戏自己的 ARM 代码可以直接跑——没有指令翻译,损耗小得多。

这条路的问题是很硬:每个游戏有自己的引擎、自己的图形用法,需要一个能自动分析游戏、重写指令、重建图形管线的工具链。

二、核心设计

nxnative 做的就是这条路的自动化。

它的工作流是:你把游戏文件(.nsp / .xci / .nsz / .xcz,或者 Switch 2 的 .nup)放进一个文件夹,同时提供你自己的 prod.keys,跑一个脚本,脚本输出一个可以直接装的 IPA 或一个 Mac 应用。

中间它做了几件比较硬的事:

  • NSO 重写:把 Switch 的可执行格式转成能在 Apple 芯片上跑的形态。
  • Horizon HLE:用高层实现(High Level Emulation)顶上 Switch 的系统调用——不是模拟整台机器,而是把系统服务用宿主 API 实现。
  • NVN → Metal:把 Switch 的图形 API 翻译到 Metal。
  • 着色器编译:用 Xcode 27.2 的 Metal 编译器现场编译。

官方明确表态:「It is not an emulator: the game's own code runs directly on the Apple chip, with Switch graphics rebuilt on Metal.」仓库里没有任何游戏内容,项目也不隶属于任天堂。

三、功能拆解

  • 输出两种形态:iPhone/iPad 的未签名 IPA(用 AltStore / Sideloadly / LiveContainer 侧载),或 Mac 应用(加 --platform mac-app,从 Finder 直接打开)。
  • 游戏兼容表:仓库里有完整的已测试游戏表,每个游戏一份说明,记录测试平台、进度和已知问题。
  • 自动配置生成:没有预置配置的游戏会被自动扫描并生成一份临时配置——但可能起不来。
  • 大文件处理:游戏太大装不进手机时,用 --romfs separate 把资源分离出来,再按脚本打印的命令把文件拷进去。
  • Switch 2 支持:从 .nup 容器或它的文件夹构建,不需要 prod.keys;目前只在 Mac 上测过。
  • 社区前端:NX2Apple、NX Play、NxNative Launcher、LumaNX、GameCase 等社区项目提供图形界面、游戏库、存档同步、控制器映射等。

四、适合谁、不适合谁

适合:拥有 Switch 游戏、同时有 Apple 芯片 Mac 和较新 iPhone/iPad 的人;愿意花时间折腾命令行、对「原生运行」这件事本身感兴趣的人;想在自己的设备上玩自己买的游戏、不想依赖模拟器的人。

不适合:硬件不达标的人——门槛真的很硬,下面单独说;完全不想碰命令行的人(虽然社区有图形前端,但主路径是脚本);想「下载游戏来玩」的人——这个项目不提供任何游戏,需要你自己的游戏文件和你自己的 prod.keys。

五、诚实提醒

硬件门槛是硬性的,不是建议。

  • Mac:必须 Apple 芯片,macOS 26.6 或更高,构建游戏需要 Xcode 27.2。
  • iPhone:A17 Pro 芯片或更新,iOS 26 以上。
  • iPad:M1 芯片或更新,iPadOS 26 以上。

原因不是作者设限:游戏纹理是 BC 压缩的,老 iPhone 的 GPU 读不了;着色器要用 Xcode 27.2 的 Metal 编译器编。这些是技术依赖。

第一次打包很久。 官方说 30 到 60 分钟,还需要大约「游戏体积的两倍加 10GB」的空余磁盘。之后重新打包会快很多,但别在 SSD 只剩十几 G 的机器上试。

没被测过的游戏可能起不来。 项目对每个游戏需要一个配置(profile),没有配置的会被自动扫描生成一份临时的,可能启动失败。用之前先去兼容表看有没有你这个游戏。

Switch 2 部分只在 Mac 上验证过。 官方明确写「tested on the Mac only」,iPhone 和 iPad 未验证。

合法性自己判断。 项目本身不含任何游戏内容、也不隶属于任天堂,但你需要自己拥有游戏。怎么用取决于你所在地的规定。

六、项目现状

项目主要用 Python 写工具链,MIT 协议,目前约 1.5 万 star。它没有发布 tag,也没有二进制安装包——因为产物必须在你自己的机器上针对你的游戏现场构建,这是设计决定的,不是缺功能。

仓库里已经收录了上百个游戏的配置和实拍截图(docs/images 下 150 张),说明社区确实在持续贡献兼容测试。

七、常见问题

问:这是模拟器吗?需要 ROM 吗?

答:官方明确说不是模拟器——游戏代码直接跑在 Apple 芯片上。需要你自己拥有的游戏文件。

问:为什么要求这么高?

答:纹理是 BC 压缩的、着色器要用特定版本 Xcode 编,这是技术依赖。

问:Switch 2 的游戏能跑吗?

答:能,用 .nup 文件或它的文件夹,不走 NSP。目前只在 Mac 上测过。

问:打不开或者闪退怎么办?

答:先看 dm/games 下你这个游戏自己的说明页,里面记了测试平台、进度和已知问题。

问:合法吗?

答:项目不含游戏内容、不隶属任天堂。需要你自己拥有游戏,具体使用请遵守你所在地的规定。

下载地址

夸克网盘(永久有效,无提取码):https://pan.quark.cn/s/4cfe5877a929

本文由「宝藏星球屋」整理,更多软件、游戏、开源项目都在 https://cbge.top。

本站全部免费,如果觉得内容有用,可打赏支持服务器续费打赏支持
固定文章缩略图

新人必看的入站详细说明指南

解决的你的各种疑难杂症以及各种相关教程

前往查看 »
© 版权声明
THE END
喜欢就支持一下吧
点赞38 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容