Wind Waker Recomp Wiki / Steam Deck & Linux

Wind Waker HD Recomp on Steam Deck & Linux

One AppImage file runs The Wind Waker HD natively on a Steam Deck or any recent Linux PC. Here is how to set it up in Desktop Mode, play it in Gaming Mode and pick the frame rate that suits the Deck’s screen.

  • x86_64 + arm64
  • glibc 2.35+
  • AppImage 125.0 MB
  • 40 fps mode
Advertisement

Wind Waker HD Recomp builds for Linux with the same Vulkan renderer and SDL3 host as Windows. The Steam Deck uses the x86_64 AppImage; desktop distributions with glibc 2.35 or newer (Ubuntu 22.04+, Debian 12+, Fedora 36+, Arch, SteamOS 3, Raspberry Pi OS 12) can use either the AppImage or the portable zip.

Linux files in v0.5.1

FileForSizeSHA-256GitHub
WindWakerHD-v0.5.1-linux-x86_64.AppImageSteam Deck, x86_64 PCs: one file125.0 MBe7532b3f4a04ccc0f4b6bb6dfb7bf79ceb8e249d71853c0bf62b0ed1ce5ebf8aDownload
WindWakerHD-v0.5.1-linux-x86_64.zipx86_64: portable folder145.8 MBd7f56850b5b74788f001bab8eecac8cccde5b1e24e11473e14fbd673b7616c3cDownload
WindWakerHD-v0.5.1-linux-aarch64.AppImagearm64: one file126.3 MB9151908c2db0a14fee9da199973a7d7d67133f754f87e15615c1804c20cd45dfDownload
WindWakerHD-v0.5.1-linux-aarch64.ziparm64: portable folder148.8 MBd9aa58c1745e9c9bb32a163bc0dd06b6290cd4832ef852d6084886f3f6a75105Download

Run uname -m if unsure: x86_64 or aarch64. Setup says so when the architecture does not match.

Steam Deck setup

  1. Switch to Desktop Mode and download WindWakerHD-v0.5.1-linux-x86_64.AppImage from the GitHub release.
  2. Check it: in Konsole, sha256sum ~/Downloads/WindWakerHD-v0.5.1-linux-x86_64.AppImage must print e7532b3f4a04ccc0… (full value in the table).
  3. Make it executable: chmod +x the file, or tick “Is executable” in its properties.
  4. Start it once in Desktop Mode and choose your own copy of the game; setup prepares it (about two minutes) and can add a menu entry.
  5. Add it to Steam as a non-Steam game (the AppImage itself), then play from Gaming Mode. To keep the game on the SD card, add --data-dir /run/media/…/wwhd to its launch options before the first start.

Gaming Mode controls

  • Settings overlay: hold View for half a second (issue #112). Save states are in its first tab, Saves, and Quit Game is at the bottom right of every tab.
  • Save-state hotkeys: map L4/R4/L5/R5 to keyboard keys in Steam’s controller settings: Shift+F1 saves slot 1, F6 loads slot 1, F2–F5 load slots 2–5, Shift+F2–F5 save them.
  • Sharp picture by default (v0.4.0, #214): Gaming Mode shows one window at a time, so the game starts full screen with the GamePad as picture-in-picture instead of a blurry second window. Your saved choices and launch options still win.
  • Gyro: the Steam Deck’s own gyro is one of the gyro-aiming sources (Settings › Controls › Controller › Gyro…).
  • One screen (handheld) mode plays like the GamePad in Off-TV Play; it is an option on desktop and Steam Deck.
Advertisement

Frame rate on the Deck

OptionWhy it helps on a Deck
40 fps modeThree game steps over four frames at full speed. Matches the LCD Deck at 40 Hz or the OLED at 80 Hz, so every frame is shown for the same time.
Keep game speedAt 60 fps, in-between frames that do not fit are skipped instead of slowing the game to 21–25 logic steps a second (#178).
Render-thread fast pathOn by default since v0.4.0: 6–9% less render-thread CPU, most on devices where the render thread limits the frame rate, like the Steam Deck.
Record graphics on a second threadGraphics › Advanced, off by default. The developers asked Deck owners to compare it on and off (fps, 1% lows, temperature).
Dynamic resolutionLowers the internal resolution in small steps when the GPU is the limit.
HDRUnder gamescope the game stays on XWayland, which gamescope gives HDR itself.

Desktop Linux notes

  • FUSE: Ubuntu 24.04+ needs libfuse2t64, or start with --appimage-extract-and-run.
  • Where data goes: AppImage: ~/.local/share/wwhd (game, code, saves) and ~/.config/wwhd (settings, controls, save states, caches). Zip: the folder’s own data/. Portable AppImage: start once with --appimage-portable-home or create <AppImage name>.home next to it.
  • Repair or change the game: --setup, or the Setup action of its menu entry.
  • NVIDIA on Wayland (#309): the game sets __NV_DISABLE_EXPLICIT_SYNC=1 itself. If you see flicker or slowdown, start with __NV_DISABLE_EXPLICIT_SYNC=0; if the window still closes, use SDL_VIDEO_DRIVER=x11. Hybrid laptops also need prime-run.
  • Compiler: the zip uses your Python 3 and downloads zig (55 MB) into the folder; you can remove it at the end.
  • HDR on Linux works under Wayland, presenting HDR10 where scRGB is not offered (Mesa), since v0.5.0.
  • Full screen: F11 or Alt+Enter; Ctrl+G shows or hides the GamePad screen.

Linux on ARM

The linux-aarch64 builds target the Raspberry Pi 5, Asahi Linux on Apple Silicon Macs and other ARM boards and laptops. The guest buffer cache, on by default on desktop Linux since v0.2.8, removed a 20 fps lock in busy views on an RK3588 board (#50).

And the GameCube recomp?

Wind Waker Recomp (GameCube) publishes no Linux build: its README lists Windows, Mac, iPhone and iPad, and its downloads moved to BlueWake. On Linux or a Steam Deck, Wind Waker HD Recomp is the native option. See the comparison.

Advertisement

Frequently asked questions

Does Wind Waker HD Recomp run on Steam Deck?

Yes. The README and release notes name the Steam Deck for the x86_64 AppImage, and several releases tuned it for the Deck: a sharp full-screen picture in Gaming Mode by default (v0.4.0), a 40 fps mode for the LCD’s 40 Hz and the OLED’s 80 Hz, and Keep game speed when the GPU cannot hold 60.

How do I open the settings in Gaming Mode?

Hold the View button (two squares, left of the screen) for half a second. Keyboard shortcuts cannot reach the game in Gaming Mode, so map the back buttons to keys in Steam’s controller settings if you want save-state hotkeys: Shift+F1 saves slot 1, F6 loads it.

Should I use the AppImage or the zip on Linux?

The AppImage is one read-only file that keeps the game, saves and settings in ~/.local/share/wwhd and ~/.config/wwhd; it is the easiest choice on a Steam Deck. The zip is a portable folder that keeps everything inside it and starts with wind-waker-hd.

Can I keep the game on the Deck’s SD card?

Yes. Start the AppImage with --data-dir FOLDER (the README’s own example is an SD card on a Steam Deck), or create a folder named like the AppImage plus .home next to it to make it fully portable.

Can I use the Windows build through Proton instead?

The v0.4.0 notes say the Gaming Mode picture fix also applies to the Windows build through Proton, so it is possible, but the native AppImage is the build the project describes for the Deck.

The AppImage does not start on Ubuntu. Why?

Ubuntu 24.04 and newer ship without FUSE 2. Install libfuse2t64 (libfuse2 on older releases) or start it with --appimage-extract-and-run. It also needs glibc 2.35 or newer and a Vulkan driver.