MCPcopy Create free account
hub / github.com/SamoZ256/hydra

github.com/SamoZ256/hydra @v0.4.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.4.2 ↗ · + Follow
3,898 symbols 6,444 edges 710 files 239 documented · 6% updated 11d agov0.4.2 · 2026-05-23★ 4514 open issues

Browse by type

Functions 2,621 Types & classes 1,277
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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.

Core symbols most depended-on inside this repo

Shape

Method 2,070
Class 924
Function 551
Enum 353

Languages

C++100%
Python1%

Modules by API surface

src/core/c_api.cpp196 symbols
src/core/horizon/services/hid/internal/shared_memory.hpp65 symbols
src/core/hw/tegra_x1/gpu/renderer/shader_decompiler/ir/builder.hpp56 symbols
src/core/horizon/kernel/kernel.cpp56 symbols
src/core/horizon/services/hid/const.hpp44 symbols
src/core/hw/tegra_x1/gpu/renderer/metal/renderer.cpp42 symbols
src/common/types.hpp42 symbols
src/core/hw/tegra_x1/gpu/renderer/shader_decompiler/codegen/lang/emitter.cpp41 symbols
src/core/hw/tegra_x1/gpu/renderer/shader_decompiler/const.hpp37 symbols
src/common/config.hpp37 symbols
src/core/horizon/loader/plugins/plugin.cpp36 symbols
src/core/hw/tegra_x1/gpu/renderer/const.hpp34 symbols

For agents

$ claude mcp add hydra \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page