suyu-v0.0.4 README

The project's README from github.com/suyu-emu/suyu-v0.0.4. As one markdown file: README.md.

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.

Note: a small number of fixes were later pulled in from a community continuation of this codebase, after users reported that installed updates/DLC, service handler registration, and RomFS registration were all broken in the archived build. Those fixes are folded in here as bug fixes to suyu itself; this remains the same final v0.04 release, not new development.

About

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

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

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.

suyu-v0.0.4 (suyu-emu/suyu-v0.0.4)

x86-64
Searching Database…

282 ·GitHub
archived
What is this?suyu is a Nintendo Switch emulator and AArch64 native recompiler written in C++, preserved at its final public release v0.04.
How does it actually run Switch games?Two ways: HLE emulation mode runs titles through the suyu core (GPU, CPU, audio, services), and recompiler mode statically recompiles a game's AArch64 code ahead of time into native x86-64 executables that use the same HLE backend.
How do I get it running?Grab a prebuilt Windows, Linux or Android package from the GitHub releases page. To build from source instead, you need CMake 3.15+, Ninja, Qt 6.4+, the Vulkan SDK, libusb and OpenSSL.
Do I need my own games to use it?Yes — it runs decrypted Switch titles only, and you must supply both the games and their encryption keys yourself; the emulator ships neither, which is also the core of its legal notice.
Is suyu still being developed?No. v0.04 is the final public release and the repository is a public archive — no further development or downloads are planned; the code is kept under GPL-3.0 for historical reference and community use.
Which platforms can it run on?Windows, Linux and Android — automated builds for all three are published to the releases page. macOS and iOS are not covered by this release.
How does it render Switch games' graphics?In HLE mode the Switch's GPU is emulated by the suyu core alongside CPU, audio and services, and builds depend on the Vulkan SDK, so rendering goes through Vulkan.
What community fixes ended up in this final build?Users reported that installed updates/DLC, service handler registration and RomFS registration were broken in the archived build. Fixes for those were folded in as bug fixes to suyu itself, but the release remains the same final v0.04 — it is not new development.
Is suyu related to Eden or other Switch emulators?It is based on Eden, with suyu's own improvements to the UI, the recompiler and platform support.
Why does the README talk so much about the DMCA?It argues suyu does not circumvent Nintendo's technological protection measures: users supply their own games and keys, decryption relies on the public AES standard, and the project claims the DMCA Section 1201(f) interoperability exemption. It also warns that knowingly misrepresenting such projects as infringing can make the claimant liable under Section 512(f).
Creator
suyu-emu
Size
350 MB
Stars
282
Updated
CommitSep 13
Age
1mo
Commits · 90 Days