NaGaa95 GitHub avatar

subwaysurfers_nx

NaGaa95

A Nintendo Switch wrapper/port that loads and patches the original Android arm64 binaries of Subway Surfers v3.66.1 so the game runs inside a minimal Android environment on Switch hardware.

Stars

7

7-day growth

No data

Forks

0

Open issues

1

License

MIT

Last updated

2026-07-31

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It is a notable reverse-engineering/porting effort because it runs an unmodified mobile Unity IL2CPP game on Switch by resolving native imports and patching the original binaries, while distributing no copyrighted game assets or code.

Who it is for

  • Nintendo Switch homebrew enthusiasts
  • Developers interested in Android-to-Switch porting or compatibility layers
  • Reverse engineers studying Unity IL2CPP binary loading and patching
  • Subway Surfers players with a legally owned APK and a homebrew-capable Switch

Use cases

  • Running Subway Surfers 3.66.1 on Nintendo Switch from a user-supplied APK
  • Studying how Android game binaries can be loaded, resolved, and patched on Switch
  • Building or testing a forwarder/game override setup for full application memory
  • Optimizing mobile game assets for use in a non-Android environment

Strengths

  • The repository does not distribute Subway Surfers assets or code; users must extract files from their own legally obtained APK
  • It automatically removes unused Android files and converts loose assets into an optimized pack to reduce loading time
  • Clear installation and build instructions are provided for devkitA64 and common Switch portlibs
  • It builds on established so-loader groundwork by recognized developers in the homebrew scene

Considerations

  • Targets a specific Subway Surfers version (3.66.1 arm64); other versions are not supported
  • Requires full application memory via game override or forwarder; album applet mode does not work
  • First launch can take several minutes, and a homebrew-capable Switch is required

README quick start

Subway Surfers — Nintendo Switch port

A wrapper/port of the Android release of Subway Surfers (v3.66.1). It loads the original game binaries (libmain.so, libunity.so and libil2cpp.so, Unity 2022.3 IL2CPP, arm64), resolves their imports against native Switch implementations and patches them so the game runs inside a minimal Android environment.

How to install

Create a folder for the game on your SD card, /switch/subwaysurfers_nx/, and place:

  1. subwaysurfers_nx.nro.
  2. The complete contents of a Subway Surfers 3.66.1 arm64 APK. Open the APK with 7-Zip or another ZIP extractor and extract it directly into the folder.
/switch/subwaysurfers_nx/
  subwaysurfers_nx.nro
  lib/
    arm64-v8a/
      libmain.so
      libunity.so
      libil2cpp.so
  assets/
    bin/Data/ ...

The first launch can take several minutes. The port validates the extracted game, removes unused Android files and converts the loose assets into an optimized pack to avoid long loading time.

Launch with a game override (hold R while starting a title) or a forwarder with full application memory. Album applet mode does not provide enough memory or the required code-memory permissions.

Build

devkitA64 plus these portlibs:

pacman -S switch-mesa switch-libdrm_nouveau switch-sdl2 switch-zlib

Then make from a devkitPro shell.

Credits

  • TheOfficialFloW & Andy Nguyen — the original Android so-loader.
  • fgsfds — the Switch so-loader groundwork reused here.

Support

If you enjoy my work and want to support me :

Legal

No affiliation with SYBO Games or Kiloo. "Subway Surfers" is a trademark of its owner. This repository contains no assets or program code from the original game, and none may be distributed with builds. Users must extract the required files from their own legally obtained copy.

Source code is provided under the MIT License (see LICENSE).

Description

Port of Subway Surfers for Switch.

Related repositories

Similar projects matched by category, topics, and programming language.

Infatoshi
Featured
Infatoshi GitHub avatar

netherite

A from-scratch C/CUDA reimplementation of Minecraft 1.11.2 that is bit-verified against the original Java game and includes batched CUDA reinforcement learning support.

AI & Machine LearningLarge Language Models
258
nsdkinx
Featured
nsdkinx GitHub avatar

twell

Twell is a tiny, embeddable, zero-allocation physics engine for interruptible, Apple-style UI animations, available as a single-header C library with Python bindings.

MobileDesign & Creative
17
sqliteai
Featured
sqliteai GitHub avatar

waste

WASTE is a C-based inference engine that streams MoE experts from disk to run a 2.78 trillion-parameter model on a consumer laptop with 64 GB RAM.

Data & DatabasesData Engineering
14