centollOS / SwitchWakerHD
git clone https://github.com/centollOS/SwitchWakerHD.git
v0.4.7 · 6d ago
Wind Waker HD (Wii U) static recompilation for Nintendo Switch, deko3d renderer. Requires your own game dump.
—
stars, 24h
—
stars, 7 days
+164
stars, 30 days · #1,502
164
★ total
10
forks · 16 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageC++
LicenseMPL-2.0
Created2026-10-04 (16d ago)
Last pushtoday
Watchers6
OwnerOrganization
GitHub topics
Links
- GitHub: github.com/centollOS/SwitchWakerHD
- Homepage: https://github.com/centollOS/SwitchWakerHD/releases
- Releases · Issues · Hacker News mentions
README excerpt
# SwitchWakerHD ## What it is SwitchWakerHD is an unofficial native port of a 2013 Wii U adventure game (title ID `00050000-10143500` USA or `00050000-10143600` Europe, version 0) to the Switch (homebrew). The game's PowerPC code is translated to C ahead of time by a static recompiler, the Cafe OS libraries the game uses are reimplemented natively, and its GX2 graphics are drawn with deko3d, the Switch's own GPU API. There is no CPU emulation and no GPU command emulation. It is a fork of ZeldaWWHDRecomp, which runs the same recompilation on macOS, Linux, Windows and Android. Those platforms still build from this repository; their instructions are in the upstream README, kept as docs/upstream-README.md. How the recompilation works: docs/how-it-works.md. ## What you need - **Your own legally obtained copy of the game**: the USA version (title `00050000-10143500`) or the European one (title `00050000-10143600`, in its five languages), version 0 (the disc or eShop release without the update), dumped from your own Wii U. The runtime checks `code/cking.rpx` against those versions at startup. - **This repository contains no game code, assets, keys or data.** The NRO you build contains the game's code recompiled from your dump, and the shader caches are made from the game's shaders: they are for your own use only; do not share them. - **No release binaries are provided** for the Switch, precisely because they carry the recompiled game. ## Build for the Switch **The short way** (step-by-step guide for players: INSTALL.md): `python3 tools/switch/make_sd.py --image game.wux` (or `--wua game.wua`, or `--game-dir `) checks the game version, recompiles, builds the NRO and lays out `build/sd/switch/wwhd/` for the SD card. On Windows it builds with a native devkitPro, no Docker or WSL needed (INSTALL.md); elsewhere in Docker or Podman. The steps it runs, by hand: Requirements: Python 3 with `pycryptodome` (for the extractor), and Docker or Podman (the Switch toolchain runs in the `devkitpro/devkita64` image). On the Mac also the Xcode command line tools. [code] `WWHD_JOBS= ` limits parallel compiles (the generated code needs a lot of memory per file); `WWHD_DEKO3D_DEBUG_LIB=ON` links deko3d's debug library (`wwhd_dk_debug.nro`: every GPU call checked, readable errors). Details, architecture and the history of the port: docs/switch-port.md; the renderer: docs/deko3d-plan.md. ### The shader cache The renderer compiles each game shader with uam the first time it is drawn (about 70 ms on the console, in a background thread; until then its draws are skipped, so on a first start some textures stay black for a while) and keeps the result in `shadercache_dksh_local.bin`, so a shader is compiled once per console. A `shadercache_dksh.bin` next to the NRO is loaded whole at start-up. **The first start** (docs/background-shaders-plan.md) prepares about three quarters of the game's shaders behind a loading screen, with no computer and nothing shipped: the title scree