Guide

A Switch 2 Game Now Runs Natively on Android. It Runs at 12 FPS.

A Switch 2 Game Now Runs Natively on Android. It Runs at 12 FPS. — News guide for retro handhelds | Held Games

Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.

2026-11-09 · News and analysis

Affiliate disclosure: This article contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.

On 2 November 2026 we published a guide saying that the native Switch 2 route was Apple silicon only, that no Android handheld could do it, and that nobody had announced otherwise.

That was accurate when we wrote it. It stopped being accurate on 8 November, which is six days later.

A project called Anka Native now runs the Switch 2 remake of The Legend of Zelda: Ocarina of Time on an Android phone, with the game's own code executing on the phone's processor. No emulator underneath. The correction is live on all three pages that said it was impossible.

Here is the part the coverage is going to skip. It runs at 12 to 16 frames per second, it was measured on exactly one phone, and it needs 12 to 16 GB of RAM. That last number matters more than anything else in this article, because it decides whether your handheld is invited.

Everything here assumes you are playing games you already own. We do not link to game files, key files, firmware, or dumping tools, and we do not explain how to obtain any of them.

The Short Version

  • What happened. A Switch 2 game runs natively on Android. The game's own ARM64 code executes directly on the phone's chip, a host program answers the system calls it makes, and its graphics are rebuilt on Vulkan.
  • The frame rate. 12.7 to 16.2 fps at the start of the game, lower in open areas. That is the project's own measurement, and it is a large improvement on the 4.8 to 5.4 fps it managed before.
  • One phone. Every number comes from a single test device. No second phone has been tried with this release.
  • We got this wrong for six days. Our native ports guide, our Pokopia piece and our Switch 2 emulator guide all said Android could not do this. All three now carry a dated correction.
  • The real gate is memory, not graphics. It wants 12 to 16 GB of RAM. Below 16 GB you must turn on a setting that writes about 2 GB to storage every time the game loads an area.
  • It needs a replacement GPU driver. The stock Qualcomm driver lacks a Vulkan extension the project depends on, so a custom Turnip build is mandatory, not optional.
  • Exactly one handheld in our catalogue matches the tested setup. The AYN Odin 3. The AYN Thor clears the memory bar and then fails on the driver. Every Retroid fails on memory. Every Anbernic fails on graphics.
  • The same game hits 60 fps on an iPhone. A separate project called S2Arm published that number the same week, which gives us an unusually clean comparison.
  • The tip we received said version 0.1.0. That version specifically is the one whose on-device preparation produced a placeholder with no game code in it. 0.2.1 is the current build.

What It Actually Does

This is the same trick we explained in Switch games running natively on Apple and Android, pointed at a newer console.

A game is machine code built for a specific instruction set. The Switch 2 uses ARM64. Your Android phone uses ARM64. They are not the same chip, but they speak the same language, so the game's compiled code can run as it is. There is no processor to simulate and no per frame translation cost.

What does get replaced is everything the game expects to find around it:

  • The operating system. A host program answers the requests the game makes for files, memory and controller input.
  • The graphics. Nintendo's NVN interface exists nowhere outside its own consoles, so those calls are replayed on Vulkan instead. That includes the Switch 2's task and mesh shaders, which are new to this generation.
  • The shaders. These are translated once, ahead of time, from your own dump. Ocarina of Time has about 42,000 of them.

The project is clear that it is not an emulator, and on the technical merits it is right. It is also clear that it is experimental, which is the more useful framing.

The Frame Rate Nobody Is Quoting

Every figure below is the project's own, measured on one phone: a POCO F8 Pro with a Snapdragon 8 Elite, an Adreno 830 and 12 GB of RAM, running a custom Turnip driver.

  • 12.7 to 16.2 fps at the start of the game. Before a change called the shader page index, it was 4.8 to 5.4 fps.
  • 59.1 milliseconds of GPU time per frame inside Link's house, down from 121.6 milliseconds.
  • Not 30 fps, and the project says so plainly. The terrain shaders in Kokiri Forest are the main remaining cost.
  • About 0.8 to 1.0 of normal game speed at that frame rate. This is a subtle and genuinely clever fix. The game divides its logic by its frame ratio, so at 15 fps it previously ran at roughly a quarter speed. The host now steps that division, so the game runs at the right pace even while the picture is slow.
  • Memory is the limit. About 10 of the phone's 10.9 GiB were in use while it played, and Android started closing background apps to make room.

It stayed in the forest for 18 minutes without being closed, and saving from the pause menu worked. That is the honest high water mark.

The project's own known issues list is worth repeating, because it is unusually candid:

  • Textures pop in while you walk, because ones released under memory pressure have to be remade, and they shimmer.
  • Some foliage is black, a mesh shader problem.
  • Short stalls while walking, from pipelines built late and from memory pressure.
  • Anti-aliasing is not visible at all. The game's smoothing pass runs, but its blend weights all come out zero.
  • The phone gets hot and the frame rate drops when it throttles.

Two other games, Donkey Kong Bananza and Mario Kart World, are listed in the project's table. Both are marked as having been played on Android before this project's changes and not tested again since. Treat them as unknown rather than working.

The Same Game, 60 FPS, on an iPhone

Here is the comparison that makes the Android number land, and it is only possible because both projects picked the same flagship title in the same week.

S2Arm launched on 8 November under an Apache 2.0 licence. It does the Apple side of this job: your own Switch games become a single app on an iPhone, iPad or Apple silicon Mac, built from a graphical launcher on a Mac or a Windows PC.

Its reported figure for the Switch 2 Ocarina of Time, on an iPhone 17 Pro Max, is a full 60 fps while the phone is cool, and 37 to 43 fps once sustained load has heated it up, at about 0.15 joules per frame.

So the same game, in the same week, on two ARM devices:

Anka Native, AndroidS2Arm, iPhone
Test devicePOCO F8 Pro, Adreno 830, 12 GBiPhone 17 Pro Max
Frame rate, cool12.7 to 16.2 fps60 fps
Frame rate, sustainedlower in open areas37 to 43 fps
Main bottleneckterrain shaders, memory pressureheat

That is roughly a four times gap on hardware that is not four times apart. It is not a story about Apple silicon being faster. It is a story about how much engineering has gone into each path, and the Apple path has a month's head start and a much larger project behind it.

S2Arm is worth knowing about for two other reasons. It reports surveying 211 games with a 95 percent first try build success rate, which is a far broader claim than anything on the Android side. And its Android support does not exist yet. The project lists Android and HarmonyOS as coming soon, so today it does nothing at all for the devices this site is about.

It is also open about something most projects in this scene are not. S2Arm ships a control interface specifically so an AI assistant can drive the whole import and build process, and it publishes a policy document about that. We have written about undeclared AI work in this scene before. Declaring it is the better posture, whatever you think of the practice.

Which Handhelds Can Actually Do This

This is the only question most readers have, and the answer is narrower than you would guess.

There are three requirements, and they stack:

  1. An Adreno GPU. Qualcomm graphics. This is the same capability requirement we explained for the Switch 1 toolchain, and Mali cannot meet it.
  2. 12 to 16 GB of RAM. Below 16 GB the project tells you to turn on its RAM saver, which moves large textures into a file so Android can drop them instead of killing the game. It costs about 2 GB of storage writes per area load.
  3. A Vulkan driver with a specific extension. The stock Qualcomm driver on the test phone does not have it. The companion Turnip driver that does is built for Adreno 8xx only, on Android 14 or newer, and it was tested on an Adreno 830 and nothing else.

Requirement three is the one that quietly eliminates devices requirement two would have let through. Here is our catalogue against all three:

HandheldGPURAMVerdict
AYN Odin 3Adreno 830up to 24 GBThe only match. Same GPU generation as the test phone, memory to spare. Untested.
AYN Thor (Max, 16 GB)Adreno 74016 GBClears the memory bar. The Adreno 740 is a 7xx part, outside the companion driver's stated range. Would need a different Turnip build exposing that extension.
AYN Thor (Base, 8 GB)Adreno 7408 GBNo. Fails memory and driver.
Retroid Pocket 6 / 5 / Flip 2 / DuoAdreno8 GBNo. Correct GPU brand, roughly half the memory needed.
Every Anbernic Android handheldMalivariesNo, and no faster Anbernic will change it. A capability gap, not a speed one.
Every Linux handheldvariesvariesNo. This is an Android app.

So the honest answer is one device, and it has not been tried. If somebody does try it on an Odin 3, that result will be the most useful document in this story, the same way the AYN Thor bug report was for the Switch 2 emulator forks.

We are not telling you to buy an Odin 3 for this. It is an excellent handheld for reasons that have nothing to do with a 12 fps tech demo, and those reasons are in our review. Buying hardware for an experimental build that has run on one phone is a bad idea in any month.

The timing is unkind

There is a detail here that is easy to miss. A 12 to 16 GB memory floor arrived in the exact year memory got expensive.

We wrote about the RAM shortage pushing handheld prices up through 2026, and the pattern we found for Prime Day was that memory heavy devices got pricier while memory light ones held steady. The handhelds that meet this requirement are precisely the ones that requirement made more expensive.

What It Costs You to Try

Assume you have an eligible phone. The entry cost is still steep, and the project does not hide it.

  • Your own dump of a game you own. For Switch 2 titles this must be a dump folder or a single file format specific to that console. The older Switch 1 container formats do not work. No keys and no firmware are needed, because data from a jailbroken Switch 2 arrives already decrypted, which we covered in what the Switch 2 dumps actually mean.
  • A long preparation step, once per game. About 42,000 shaders get translated. On the phone itself this takes over an hour and the project tells you to keep it charging. On a computer it needs several GB of free disk.
  • A replacement GPU driver, installed through the app.
  • Free storage, both for the prepared game and for the roughly 2 GB per area load the RAM saver writes.
  • Optionally, your own copy of a Windows frame generation tool, for extra frames. Never included.

A small honest detail from the project's own notes: 76 of those 42,346 shaders do not build at all, on a phone or on a computer. The game plays without them. An earlier version refused to finish unless every shader built, which is why preparation on the phone appeared to succeed and then produced nothing.

About That Version Number

The tip that sent us looking at this said version 0.1.0. That is worth correcting precisely, because 0.1.0 is the one version where the headline feature did not work.

  • 0.1.0 was built without the real on-device packer. Its Prepare step ran a simulated engine. The progress bar filled, and the result was a placeholder containing no game code and no shaders. Play could not start it.
  • 0.1.1 removed Prepare from release builds entirely and told you to prepare on a computer instead, and it flagged any placeholder left behind by 0.1.0.
  • 0.2.0 shipped the real on-device packer.
  • 0.2.1 fixed the shader library rule that was stopping on-device preparation at the very end.

So the capability the tip describes is real, and it arrived two versions after the number attached to it. Use 0.2.1.

Where It Came From

This is not a project that appeared from nothing, and its own changelog says so.

The whole family descends from nxnative, which showed up in mid October 2026 and turns Switch games into Apple apps. We covered that in the native ports guide. From that one root:

  • nx2android took the Switch 1 version to Android.
  • S2Arm took the Apple side further and credits nxnative by name for the layer that connects game graphics straight to Metal.
  • Anka Native is the Switch 2 Android branch. Its changelog describes removing 127 game profiles it inherited from nxnative and keeping three.

That last line is the clearest evidence of the lineage, and it is also the clearest statement of scope. Three games, one of them tested.

It is worth being blunt about what this means for the pace of news here. A scene with one shared upstream moves in bursts, because one improvement at the root reaches every branch. That is why our page went stale in six days, and it is why we would expect the same again.

Frequently Asked Questions

Can my Android handheld run a Switch 2 game natively now?

Almost certainly not. You need an Adreno GPU, 12 to 16 GB of RAM, and a custom Vulkan driver built for Adreno 8xx parts. In our catalogue only the AYN Odin 3 meets all three, and nobody has reported trying it. Every Retroid has too little memory and every Anbernic has the wrong GPU brand.

Is this an emulator?

No, and the distinction is real rather than marketing. The Switch 2 and your phone both use the ARM64 instruction set, so the game's own compiled code runs directly on your chip. Only the operating system and the graphics layer are replaced. There is no processor being simulated and no per frame translation cost.

How well does it actually run?

At the start of Ocarina of Time, 12.7 to 16.2 fps, and lower in open areas. That is the project's own measurement on one phone. Foliage is partly black, textures shimmer and pop in, anti-aliasing does not work yet, and the phone gets hot. It is a working proof, not a way to play the game.

Why does an iPhone get 60 fps in the same game?

Not because the iPhone is faster in any way that would explain a four times gap. The Apple side of this scene started a month earlier and has a much larger project behind it, so far more optimisation work has landed there. The Android branch is a week old.

Does S2Arm help my Android handheld?

Not today. S2Arm covers iPhone, iPad and Apple silicon Macs, and lists Android support as coming soon. Until that ships it does nothing for any device this site covers.

Do I need keys or console firmware?

Not for Switch 2 titles. Game data coming off a jailbroken Switch 2 arrives already decrypted, which is why this route asks for no key files. You do need your own dump of a game you own, in the newer format. The older Switch 1 containers do not work.

Will this ever run on a cheap handheld?

Not on the current design. The memory requirement is the hard part, and it is structural rather than a missing optimisation: the game's textures have to live somewhere, and the workaround is writing gigabytes to storage on every area load. A $100 handheld has neither the RAM nor the right GPU brand.

Related reading