Play your own Tears of the Kingdom and Breath of the Wild natively on Apple silicon Mac, iPhone and iPad. Not an emulator: the game's ARM64 code runs directly, NVN rebuilt on Metal. Bring your own game.

★ 7,442⑂ 1,115👁 30⑃ 464● 1,469▤ 1◈ 4
CMITCreated 2026-10-17
7,442
stars
+92+578
1,115
forks
30
watchers
464
prs
1,469
issues
1
releases
4
discussions

README

MacNativeGames

A technical exploration: can a Nintendo Switch game's NVN graphics be ported to Metal?
Tested with your own copies of Tears of the Kingdom and Breath of the Wild on Mac, iPhone and iPad. Not an emulator: the game's own ARM64 code runs directly on Apple chips.

English | 中文

 English

 Legal

You must own the game. Use this project only with games that you bought, and with keys and system files dumped from your own Nintendo Switch. This is an independent, non-commercial project. It is not affiliated with, endorsed by, or sponsored by Nintendo. The Legend of Zelda and Nintendo Switch are trademarks of Nintendo.

The repository contains no game content and distributes none: no game program, art, text, audio, shaders or keys. Everything the game needs is made on your own computer from your own files when you build the app. The app you build contains the game, so it is for your own use only; do not share it. What the repository does hold is the information needed to make the port work: the patch code, the addresses and hashes used to check your files, and the shared shader list, which names shaders and bind states but contains no shader code.

Apple, Mac, iPhone, iPad, Apple Vision Pro and Metal are trademarks of Apple Inc.; this project is not affiliated with Apple. Other game titles and trademarks named here belong to their respective owners.

Whether dumping games, keys and system files is legal depends on where you live; check and follow your local laws.

Issues and pull requests that contain or ask for game files, keys or firmware will be deleted.

 About

This project is a technical exploration, mainly feasibility experiments and analysis. The Nintendo Switch is an ARM system (an ARM64 CPU in NVIDIA's Tegra X1), and Apple chips are ARM64 as well, so we want to test whether its games can, technically, be ported to Apple chips. It started from one question: can the NVN graphics a Switch game was written for be rebuilt faithfully on Apple's Metal, and can the game's own ARM64 code run directly on Apple chips without an emulator? Tears of the Kingdom and Breath of the Wild are the test cases, because they push the graphics API hard. The repository records the experiments, measurements and findings along the way; it is a study of the technique, not a game distribution. It does not encourage piracy: use only your own game data, dumped from a game you bought and from your own Switch, never game files, keys or firmware downloaded from the internet or obtained from anyone else.

How it works: bring your game file (XCI or NSP) and your prod.keys; one script builds a Mac app or an unsigned iPhone/iPad IPA. The game's own ARM64 code runs directly on Apple chips (rewritten where the operating system requires it), the Switch system services are answered by a small host, and the game's NVN graphics are rebuilt on Metal. The iOS build requires iOS/iPadOS 26 and iPhone 14 or newer; Tears of the Kingdom 1.4.3 has been played on an iPhone 14 and an

Top issues

Discussions

Latest release

MacNativeGames 2026-10-25 v2026.10.25 2026-10-25
First tagged snapshot of MacNativeGames. There is no app to download: this release is the source. Build the app on your own Mac from your own game files as the README explains. The repository contains no game content, keys or shaders.

 Supported

- Tears of the Kingdom 1.0.0, 1.2.1, 1.4.3: Mac, iPhone and iPad
- Breath of the Wild 1.6.0 and 1.9.0: Mac; 1.6.0 also on iPhone
- Requires an Apple silicon Mac with macOS 26; iPhone / iPad builds need iOS / iPadOS 26 and iPhone 14 or newer

 Highlights (October 17 – 25)

- Breath of the Wild 1.6.0 on the iPhone: full screen, add-on content, saves co

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON