A Nintendo Switch emulator for macOS
  • C++ 82.7%
  • C 8.9%
  • Swift 6%
  • CMake 1.8%
  • Objective-C++ 0.5%
Find a file
2026-06-04 20:16:20 +02:00
.github/workflows Actions: fix credentials issue (#123) 2026-05-23 13:38:05 +02: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 services/am: stub 2026-06-04 20:16:20 +02: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 change dynarmic source 2026-05-06 11:49:18 +02:00
CMakeLists.txt cmake: bump version to 0.4.2 2026-05-23 11:50:27 +02: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: link to herakles 2026-01-01 03:09:01 +01:00

Hydra

Hydra is an experimental Nintendo Switch emulator for macOS.

Status

The emulator is still in very early stages. A few games and homebrew apps work perfectly, but most will either crash or have issues that make them unplayable.

Showcase

Only the NRO, NCA and NX formats are supported. You can convert an NSP file to NCA with this tool, and NSP to NX 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.