A Nintendo Switch emulator for macOS
Find a file
2025-12-07 19:12:48 +01:00
.github/workflows Bundle dependencies 2025-09-26 17:31:53 +09:00
externals support cubeb on iOS 2025-12-07 13:21:20 +01:00
img readme: update status 2025-05-24 16:06:02 +02:00
res remove nx-hbloader 2025-12-05 08:04:58 +01:00
src shader-decomp: fix fmul neg 2025-12-07 19:12:48 +01:00
.clang-format format: put template defs on separate line 2025-07-01 11:22:25 +02:00
.gitignore SwiftUI: Fix the aspect ratio to 16:9 and set content to fill window (#62) 2025-10-31 09:42:11 +01:00
.gitmodules support cubeb on iOS 2025-12-07 13:21:20 +01:00
CMakeLists.txt support cubeb on iOS 2025-12-07 13:21:20 +01:00
hydra.ios.entitlements ios: enable extended memory limit & sdl3: link Cocoa 2025-11-23 19:24:50 +01:00
hydra.macos.entitlements swiftui: initial iOS support 2025-11-23 18:56:10 +01:00
LICENSE.txt update LICENSE.txt 2025-04-04 12:27:01 +02:00
README.md readme: add contributing section 2025-11-11 10:36:26 +01:00

Hydra

Hydra is an experimental Nintendo Switch emulator for macOS.

Status

The emulator is still in very early stages. A few homebrew apps work perfectly, and some official games get in-game with various degrees of playability.

Showcase

Only the NRO, NSO and NCA formats are supported. You can extract an NSP file into NCA with this tool.

In order to run official games, you will need to download a set of patches to prevent crashes. You can get the patches together with a guide on how to install them here.

Usage

You can download the latest release from here.

Dependencies

You can install Hydra dependencies with a package manager of your choice, like brew.

brew install cmake ninja sdl3 fmt

Building

First, clone the repository and update submodules.

git clone https://github.com/SamoZ256/hydra.git
cd hydra
git submodule update --init --recursive

Now configure CMake and build with Ninja.

cmake . -B build -G Ninja -DMACOS_BUNDLE=ON
ninja -C build

You will find a macOS app at build/bin/Hydra.app. If you want to use the SwiftUI frontend instead of SDL3, you can use the -DFRONTEND=SwiftUI option.

Configuring

You can find a config file at ~/Library/Application Support/Hydra/config.toml after launching the emulator at least once.

Firmware

Some games require firmware files from a Nintendo Switch console to function properly. The firmware files need to be decrypted, which can be done with this tool.

To use the firmware, set the firmware_path option in the config file to the path of the decrypted firmware files.

Contributing

Pull requests are very welcome. Feel free to join the official Discord server for better communication.