Repository navigation
SwitchWakerHD runs The Wind Waker HD (Wii U, version 0: USA 00050000-10143500 or Europe 00050000-10143600) natively on a Switch with custom firmware: the game's code is statically recompiled to C and drawn with deko3d. No emulation.
No game inside, no binaries. Every build carries the game's code recompiled from your own dump, so you build it on your computer and copy the result to your SD card. Do not share what you build.
Install
- Windows 10/11: download
SwitchWakerHD-Installer.exebelow and run it. - macOS: download
SwitchWakerHD-Installer-macOS-*.zip(Apple silicon or Intel), unzip it and open the app (the first time: System Settings > Privacy & Security > Open Anyway). - Linux: download
SwitchWakerHD-Installer-linux-*.tar.gz, extract it and start the installer. - By hand (any system): download
SwitchWakerHD-v1.0.0.zip, unzip it and follow INSTALL.md:python3 tools/switch/make_sd.py --image game.wux # or --wua game.wua, or --game-dir <extracted game>
The installers install what the build needs, build from your dump, prepare the graphics and copy the result to the microSD card (a card reader, or hekate's Tools > USB Tools > SD Card), then check every file on the card. Start the Homebrew Menu in title mode (hold R while starting any game), or use the HOME-screen icon.
Updating from v0.4.7: run the installer again (or make_sd.py) and copy the result over the old one. Your saves and settings stay. Your game files (code, content, meta) don't need copying again.
What's new since v0.4.7
Our priority for this release: a steady 30 fps. Most of the work went into the places where the game dropped below 30 fps (Outset's tall grass, Windfall, the lava rooms, the sea at night): the handheld GPU profile, the recompiler, the main thread's costs and frame pacing. The goal is a rock-solid 30 fps everywhere, and our roadmap keeps heading there: the next releases continue with the spots that still dip.
No more black places the first time you get there (#88, #49, #45)
- The installers and
make_sd.pynow prepare the graphics on your computer before the first start: a list of the game's shader states that ships with the release, combined with your own game files, is compiled into the shader cache copied to the card. Places, cutscenes, the items Link gets and enemies appear right away instead of black for a few seconds. A shader that isn't in the list yet is still compiled the first time, as before. - No first-start "preparing" screen when the graphics were prepared.
New: AMD FSR 1 upscaling and sharpening (try it: Picture tab, "FSR 1 upscale and sharpening")
- Docked, the game draws at 720p and the TV shows 1080p: FSR 1's EASU upscales along the edges instead of stretching the picture, for a sharper, cleaner image on the TV. It also kicks in whenever dynamic resolution lowers the internal resolution.
- Handheld, at the screen's own 720p, FSR 1's RCAS sharpens the picture: crisper text and edges.
- It runs in the final pass on the GPU, with no CPU cost. Thanks to @depende3000!
- It is off by default while it is new: turn it on, play a while, and tell us in an issue how it looks and runs on your console, docked especially. Your reports decide whether it becomes the default.
Mods (#43)
- Code mods built into the NRO: the installers offer the GameCube sea minimap (
gc-minimap, experimental), andmake_sd.py --guest-mod. - From upstream ZeldaWWHDRecomp v0.4.0: built-in mods (faster ivy climbing and ledge hanging, jump anywhere), more cheats (infinite rupees, bait and spoils, swimming, "Fill the bags"), Last session and auto save save states (Saves tab, off by default).
- The settings menu is reorganised into Picture, Controls and Dev tabs, in the game's language (English, Spanish, French, German, Italian). Developer options and the Warp tab are behind tick-boxes.
- FXAA edge smoothing (#21); anisotropic filtering level, shadow map quality (Original by default, Fast/High) and ambient occlusion on/off (Cemu's graphic-pack options).
- Handheld: the GPU runs at 384 MHz instead of the stock 307 MHz (one of Nintendo's own profiles for games, not an overclock): about +4.7 fps in the busiest spot of the benchmark (Outset's tall grass). Docked is unchanged (the system's 768 MHz).
Fixed
- Freeze and System Error at Gohma's boss door in Dragon Roost Cavern, and Picto Box pictures staying black after one was taken while a shader was still being prepared (#37).
- Prepare graphics halting on the way from the Tower of the Gods to Ganon's Tower, and only one place prepared per restart after a place that does not load (#18).
- An out-of-memory abort at the first start on some consoles; long-session memory use (shader variants of unused places are freed, a deko3d leak fixed).
Performance: besides the handheld GPU profile above, the recompiler inlines small hot functions and lays out hot code together, and several main-thread costs were cut (each step measured at stock clocks: about +0.3 to +1 fps in Windfall, the lava rooms and the night sea).
Installers and setup (#48, #47, #31)
- New macOS and Linux installers, with the same steps as the Windows one.
- The installers and
make_sd.pycheck your game files against the list for your region, and check the copy on the SD card file by file (#48). The game logs the files it cannot find or open (#47), which helps with bug reports. - The NRO and the HOME-screen icon use the game's own title-screen logo and the name "Wind Waker HD" (#31).
- Copying over USB with MTP (DBI) was removed from the installers: it did not land files reliably. Use a card reader or hekate's USB mass storage.
Update notice (#83): at start the game says when a newer release is out (it only reads GitHub's release list; it does not download anything).
Full list of changes: CHANGELOG.md and the v1.0.0 milestone.
Thanks
- Code: @depende3000 (FSR 1, FXAA, the reorganised and translated settings menu, the graphic-pack options, the handheld GPU profile and its benchmark, the CPU and recompiler performance work, the shader compile stalls, the performance test's demanding set, the game's icon in the NRO, the log of missing game files, and the idea of the update notice, #83), @l0nkDev (the custom icon and metadata for the NRO and the forwarder, #44) and @Pulpparty.
- Reports and ideas that shaped this release: @LFranco1213 (#37), @iSharKoS (#49), @KTroopA9 (#45), @josete2k (#43), @SimisFul (#31), @valentyn-l (#21), and everyone who sent logs, save states and screenshots.
- The ZeldaWWHDRecomp project and its contributors, whose v0.4.0 this release includes.