Homebrew Homebrew game Slay the Spire 2 - Switch Port

ChanseyIsTheBest

Well-Known Member
Member
Joined
Aug 26, 2022
Messages
600
Reaction score
1,001
Trophies
1
Location
Australia
XP
2,260
Country
Australia

Slay the Spire 2 — Nintendo Switch port (Godot + NativeAOT wrapper)​

This is a native wrapper / loader that runs the original ARM64 Android build of Slay the Spire 2 on Switch homebrew. It contains no game code and no game assets.

Multiplayer/Mods isn't supported yet
Some enemy attacks have visual issues due to Mesa driver issues

Thanks to
dantico + @Nagaa for Vulkan driver
@delson_anr for all his AOT Godot work that made this port possible
Ekyso for making the original Slay the Spire 2 Android port which you need files from

https://github.com/ChanseyIsTheBest/sts2_nx

Make sure if you try this out you give the readme a good read because you need to build the AOT libsts2.so file yourself + need files from multiple sources.

2026082017214200-4C50C9E55CE6EFA8AC8E22437051E3C3.jpg


2026082610581000-4C50C9E55CE6EFA8AC8E22437051E3C3.jpg
 
@ChanseyIsTheBest
Wow, thank you!..

Unfortunately, can't find the file collect-assemblies.ps1 anywhere. It is not in a sts2_nx repo for right now..:( Please, take any hits where to find it! :)

The error message is:
.\scripts\collect-assemblies.ps1 : The term '.\scripts\collect-assemblies.ps1' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
 
@ChanseyIsTheBest
Wow, thank you!..

Unfortunately, can't find the file collect-assemblies.ps1 anywhere. It is not in a sts2_nx repo for right now..:( Please, take any hits where to find it! :)

The error message is:
Sorry that's super sloppy of me I've uploaded it now so it will work.
 
  • Love
Reactions: mathew77
@ChanseyIsTheBest
Thank you!.. The first script did good, but second one (Dockerfile.aot) in the end got that error (steps 1 — 5 were completely OK):
Code:
 => [2/7] RUN apt-get update && apt-get install -y --no-install-recommends         unzip curl ca-certificates py  11.8s
 => [3/7] RUN curl -fsSL -o /tmp/ndk.zip       "https://dl.google.com/android/repository/android-ndk-r27c-linux.  83.1s
 => [4/7] WORKDIR /src                                                                                             0.7s
 => [5/7] COPY . /src                                                                                              0.4s
 => ERROR [6/7] RUN sed -i 's/\r$//' /src/scripts/*.sh  && chmod +x /src/scripts/*.sh                              0.2s
------
 > [6/7] RUN sed -i 's/\r$//' /src/scripts/*.sh  && chmod +x /src/scripts/*.sh:
0.225 sed: can't read /src/scripts/*.sh: No such file or directory
------
Dockerfile.aot:49
--------------------
  48 |     # host checked the files out.
  49 | >>> RUN sed -i 's/\r$//' /src/scripts/*.sh \
  50 | >>>  && chmod +x /src/scripts/*.sh
  51 |
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c sed -i 's/\\r$//' /src/scripts/*.sh  && chmod +x /src/scripts/*.sh" did not complete successfully: exit code: 2
:(
 
Last edited by mathew77,
@ChanseyIsTheBest
Thank you!.. The first script did good, but second one (Dockerfile.aot) in the end got that error (steps 1 — 5 were completely OK):
Code:
 => [2/7] RUN apt-get update && apt-get install -y --no-install-recommends         unzip curl ca-certificates py  11.8s
 => [3/7] RUN curl -fsSL -o /tmp/ndk.zip       "https://dl.google.com/android/repository/android-ndk-r27c-linux.  83.1s
 => [4/7] WORKDIR /src                                                                                             0.7s
 => [5/7] COPY . /src                                                                                              0.4s
 => ERROR [6/7] RUN sed -i 's/\r$//' /src/scripts/*.sh  && chmod +x /src/scripts/*.sh                              0.2s
------
 > [6/7] RUN sed -i 's/\r$//' /src/scripts/*.sh  && chmod +x /src/scripts/*.sh:
0.225 sed: can't read /src/scripts/*.sh: No such file or directory
------
Dockerfile.aot:49
--------------------
  48 |     # host checked the files out.
  49 | >>> RUN sed -i 's/\r$//' /src/scripts/*.sh \
  50 | >>>  && chmod +x /src/scripts/*.sh
  51 |
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c sed -i 's/\\r$//' /src/scripts/*.sh  && chmod +x /src/scripts/*.sh" did not complete successfully: exit code: 2
:(
Download the whole repo now I added missing stuff, really sorry about this.
Edit: added more missing stuff
Post automatically merged:

Download the whole repo now I added missing stuff, really sorry about this.
Edit: added more missing stuff
@mathew77 please let me know if you get it working :)
 
Last edited by ChanseyIsTheBest,
  • Like
Reactions: mathew77
I cannot download the APK from his repository, so I’m unable to extract the .so files. Version 0.2 crashes on launch. I have compiled the .so file myself, and its size is around 140 MB.
 
@ChanseyIsTheBest
All the compiler stages were clear, then textures got converted into ASTC successfully, but.. That error comes:

«The software was closed because an error occured»
test (2).jpg


Build log is OK:
Code:
Build succeeded with 97 warning(s) in 288.0s
  ILC output: /src/aot/bin/Release/net9.0/linux-bionic-arm64/publish/sts2_aot_root.so

== verifying output
file      : /out/libsts2.so
size      : 108,716,432 bytes
arch      : aarch64
type      : shared object
LOAD span : 125.9 MB   (wrapper DOTNET_SO_SLICE must exceed this)
mapped    : 103.7 MB of file, 0.0 MB debug/symbols
NEEDED    : libdl.so, libz.so, liblog.so, libm.so, libc.so
exports   : 8 defined dynamic symbols

  OK  godotsharp_game_main_init
  --  godotsharp_editor_main_init
  --  godotsharp_dllimport_resolver


RESULT: usable

Logfile /switch/sls2_nx/boot_stats.txt here:
Code:
build Aug 26 2026 14:40:39
   1225 ms  modules loaded + init arrays
   1232 ms  GodotLib.initialize
   1234 ms  main pack: FOUND
   1978 ms  GodotLib.setup (project+drivers)

Any advice?.. :)
 

Site & Scene News

Popular threads in this forum