suyu v0.04 release
This repository has been archived on 2026-09-11. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • C++ 62.1%
  • cpp 28.4%
  • POV-Ray SDL 3.9%
  • Kotlin 3.1%
  • CMake 0.9%
  • Other 1.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
suyu team d1d09321d7 feat: build the libretro core for Windows as well as Linux
Only the Linux .so was produced, so no suyu_libretro.dll ever reached the release. RetroArch loads .dll on Windows and .so on Linux, so both are shipped.
2026-09-04 23:14:34 +01:00
.ci Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
.cleanthat Create .cleanthat.yaml 2025-10-17 19:45:13 +01:00
.forgejo Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
.gitea/ISSUE_TEMPLATE Fix build failures, disable ROM encryption, update website URLs (#76) 2026-02-22 10:45:31 +00:00
.github feat: build the libretro core for Windows as well as Linux 2026-09-04 23:14:34 +01:00
.patch Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
.reuse Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
.tmp_diffs feat: Add decryption key installation feature and update user manual 2026-05-04 12:04:36 +01:00
.tx Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
CMakeModules Update 2026-08-12 19:36:48 +01:00
dist fix: eden.png->suyu.png, Qt6Charts module, Vulkan bundled (macOS), libretro cmake flag 2026-09-02 15:02:38 +01:00
docs Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
externals fix: macOS build — metal-cpp cmake target, Metal enum, unused var 2026-09-02 21:37:48 +01:00
hooks Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
img need to fix bugs people! 2024-09-17 10:22:27 +02:00
LICENSES Fix build failures, disable ROM encryption, update website URLs (#76) 2026-02-22 10:45:31 +00:00
scripts Fix Stubs and Port Changes from Eden 2026-06-13 20:45:26 +01:00
src fix: GCC -Werror=shadow in dynarmic headers 2026-09-03 20:06:35 +01:00
tools feat: build the libretro core for Windows as well as Linux 2026-09-04 23:14:34 +01:00
tools-local Fix building (#79) 2026-04-26 18:38:38 +01:00
vcpkg-overlays/mcl Fix building (#79) 2026-04-26 18:38:38 +01:00
.coderabbit.yaml feat: implement core Eden integration with system-wide improvements 2025-11-03 20:15:35 +00:00
.codespellrc Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
.git-blame-ignore-revs Revert "Merge branch 'master' into 'dev'" 2024-03-06 05:26:38 +00:00
.gitattributes Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
.gitignore Update 2026-08-12 19:36:48 +01:00
.gitlab-ci.yml Merge branch 'dev' into ddutchie/uitweaks 2025-04-18 17:29:12 +01:00
.gitmodules fix: switch dynarmic submodule URL to GitHub 2026-09-01 21:14:57 +01:00
.shellcheckrc Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
CMakeLists.txt fix: add all boost sub-library include dirs to boost_headers target 2026-09-03 17:21:56 +01:00
conanfile.txt cross-platform build fixes + eden merge integration 2026-08-21 17:31:42 +01:00
CONTRIBUTING.md rebrand: rename EdenPath API to SuyuPath, fix Eden SPDX headers, update CONTRIBUTING/README 2026-08-30 10:13:55 +01:00
cpmfile.json Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
Doxyfile Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
LICENSE.txt Merge pull request #11684 from Kelebek1/disable_push_descriptor_maxwell 2023-10-07 10:54:52 -04:00
main fix: skip broken nested submodules in CI checkout 2026-09-01 22:05:31 +01:00
master fix: skip broken nested submodules in CI checkout 2026-09-01 22:05:31 +01:00
part fix: skip broken nested submodules in CI checkout 2026-09-01 22:05:31 +01:00
README.md docs: point releases link to releases index (repo-agnostic relative URL) 2026-08-30 23:38:32 +01:00
shell.nix Merge Eden master (1cf29f7574) into suyu 2026-07-22 21:34:54 +01:00
vcpkg-configuration.json Cmake Update 2026-01-28 19:35:28 +00:00
vcpkg.json Fix building (#79) 2026-04-26 18:38:38 +01:00

suyu


suyu
suyu

Nintendo Switch emulator and native recompiler — based on Eden, which itself descends from yuzu.

Status | Building | License


This is the final public release of suyu — v0.04. This repository is a public archive.

No further development or downloads are planned. The codebase is preserved here under GPL-3.0 for historical reference and community use.

About

suyu is a Nintendo Switch emulator and AArch64 native recompiler written in C++. It can run decrypted Switch titles using either:

  • HLE/emulation mode — full hardware-level emulation via the suyu core (GPU, CPU, audio, services)
  • Recompiler mode — ahead-of-time static recompilation of Switch AArch64 game code to native x86-64 executables, bundled with suyu's HLE backend

Based on Eden, with suyu's own improvements to UI, recompiler, and platform support.

Status

Final version: v0.04. Automated builds are published to the releases page by GitHub Actions (Windows, Linux, Android).

Platforms: Windows, Linux, Android. macOS/iOS not included in this release.

suyu is a GPLv3 program, which allows fully free redistribution of its source code and releases liability of its authors for how this software is used as stated in Section 15 and 16.

The suyu Emulator program does not circumvent Nintendo's technological protection measures (TPMs) as the user is required to provide both the Nintendo Switch software & the encryption keys for these games, and the suyu Emulator uses a mode of the Advanced Encryption Standard (AES), an open encryption standard established by the US NIST, along with the encryption keys that the user themselves must lawfully acquire, to decrypt the software. As the standard is public and available to use by all, it does not constitute as the Digital Market Copyright Act's (DMCA) definition of "circumventing a technological measure" as defined in Section 1201(a)(3).

The suyu Emulator also falls under the exemptions stated in Section 1201(f) of the DMCA as this software was created for the purposes of reverse engineering the Nintendo Switch software (known as Horizon OS) to create interoperability with Nintendo Switch games and software with the Windows, macOS, and GNU/Linux operating systems.

Any aggressive DMCA claims or takedown notices against projects that explicitly disclaim piracy support, require user-provided keys, and limit functionality to interoperability (such as suyu) could constitute overreach or misuse of the DMCA.

As derived from §512(f), if Nintendo (or an affiliated entity) knowingly materially misrepresents that a project like suyu is infringing (or circumvents TPMs) when it does not, especially if they fail to consider fair use, interoperability exemptions under §1201(f), or the fact that the emulator requires user-provided keys and does not itself contain proprietary Nintendo code, they can be made liable for any Damages against suyu.

Building

Dependencies

  • CMake 3.15+, Ninja
  • Qt 6.4+ (without bundled Qt: -DYUZU_USE_BUNDLED_QT=OFF)
  • Vulkan SDK, libusb, OpenSSL

Windows

cmake -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_QT=ON -DYUZU_USE_BUNDLED_QT=OFF -GNinja
cmake --build build --target suyu suyu-cmd

Linux

sudo apt-get install ninja-build qt6-base-dev libqt6svg6-dev libusb-1.0-0-dev libssl-dev
cmake -B build -DCMAKE_BUILD_TYPE=Release -DENABLE_QT=ON -DYUZU_USE_BUNDLED_QT=OFF -GNinja
cmake --build build --target suyu suyu-cmd

Android

cd src/android && ./gradlew assembleMainlineRelease

License

GPL-3.0-or-later. See LICENSE.txt.