GameCube · platform artwork

You can play Twilight Princess on Windows, Linux, Mac and Steam Deck with Dusklight, which adds sharper graphics, smoother movement and mouse controls. Choose TPVR on Windows if you want to play in virtual reality (VR) with a headset and motion controls. You need your own GameCube or Wii game data for either program.

Unofficial fan ports. This site contains no game files. You must supply your own copy of the game.

On this page
  1. Download & install
  2. Troubleshooting
  3. Controls
  4. Mods & enhancements
  5. Which port should I use?
  6. PC port vs emulator
  7. FAQ
  8. Update history
  9. Community
  10. Sources

Download & install

Check your game version first: both projects need an original GameCube or Wii retail disc image (your game disc saved as a single file), not Twilight Princess HD for Wii U; the Korean Wii release is unsupported.

Windows

TwilitRealm GitHub avatar

Dusklight

WinLinuxmacOSDeck
Recommended

v2.0.3 ·

Playable Decomp

You need: Original GameCube or Wii retail version, as a disc image (Korean Wii version unsupported)

Why this port: Dusklight lets you play without a VR headset or extra headset software.

Download on GitHub: Dusklight releases

Before you start: a graphics card and current driver supporting D3D12, the graphics system used by this Windows program. Choose x86_64 for most Intel/AMD PCs, or arm64 for a Windows ARM device. For VR, expand Other options on Windows below and follow TPVR.

  1. Download the Windows zip for your type of PC from the Dusklight Release page. Right-click it, choose Extract All, and keep the extracted folder together.
  2. Open dusklight.exe. Choose Select Disc Image, select your existing game data and wait for the program to finish checking it.
  3. Press Play. If controls need setting up, use the Controls section below. Once you can move Link, turn the camera and hear the game, you are ready to play.

If the program will not start, see Troubleshooting.

Other options on Windows

Before you start: a 64-bit Intel/AMD Windows PC (x86-64) with D3D12 graphics support, a headset connected to your PC and a VR runtime (the software that connects the game to your headset). For Quest, the project suggests Virtual Desktop with its VDXR headset software option; see the TPVR README's Setup section for preparation. The Quest controller layout is in Controls below.

  1. Download the Windows zip from the TPVR Release page and extract it into its own folder.
  2. Open your headset's PC connection software and connect the headset, then run Dusklight.exe from the TPVR folder.
  3. In the desktop window, choose Select Disc Image, select your existing game data and press Play when the check finishes.
  4. Put on the headset. Once you see the game in 3D, can move Link with the controllers and hear the game, you are ready to play.

Linux

TwilitRealm GitHub avatar

Dusklight

WinLinuxmacOSDeck
Recommended

v2.0.3 ·

Playable Decomp

You need: Original GameCube or Wii retail version, as a disc image (Korean Wii version unsupported)

Why this port: Dusklight lets you play without setting up a VR headset connection.

Download on GitHub: Dusklight releases

Before you start: a graphics card and driver supporting Vulkan 1.1 or newer, the graphics system used by this Linux program. Choose the AppImage (a Linux program file) for your processor: x86_64 for a standard Intel/AMD PC, or arm64 for an ARM machine.

  1. Download the Linux AppImage for your type of PC from the Dusklight Release page.
  2. Right-click the AppImage and open Properties → Permissions. Turn on Allow executing file as program (or Is executable, depending on your file manager), then close Properties and double-click the AppImage.
  3. Choose Select Disc Image, select your existing game data and press Play after the check finishes. Set up your controls below if needed; when you can move Link, turn the camera and hear the game, you can start playing.

For a failed Linux launch, start with Troubleshooting.

Other options on Linux

Before you start: 64-bit Intel/AMD Linux (x86-64), Vulkan graphics drivers, FUSE (the system component used to open this AppImage) and a working headset runtime. This Linux package is experimental; the project's tested setup is CachyOS (a Linux system) with WiVRn (Monado) for connecting the headset to the game.

  1. Download the experimental Linux AppImage from the TPVR Release page.
  2. Right-click the AppImage, open Properties → Permissions and allow it to run with Allow executing file as program or Is executable. Close Properties.
  3. Start your configured headset runtime and connect the headset, then open the AppImage. In the desktop window, choose Select Disc Image and select your existing game data.
  4. Press Play after the check finishes. Once you have a 3D view, can move Link with the controllers and hear the game, you are ready to play.

macOS

Before you start: a Mac with Metal graphics support, Apple's graphics system. Choose the Apple silicon package (arm64) or Intel package (x86_64) to match your Mac.

  1. Download the Mac zip for your processor from the Dusklight Release page.
  2. Double-click the zip to extract Dusklight.app, drag it into Applications and open it.
  3. Choose Select Disc Image, select your existing game data and press Play after the check finishes. Set up controls below if needed; once you can move Link, turn the camera and hear the game, you are ready to play.

If the app does not open, go to Troubleshooting.

Steam Deck

Before you start: Steam Deck's Linux desktop and its Vulkan graphics driver. Use the Linux AppImage (a Linux program file) labelled x86_64; this is the package for Steam Deck.

  1. Press Steam → Power → Switch to Desktop. Download the Linux x86_64 AppImage from the Dusklight Release page.
  2. Right-click the AppImage, open Properties → Permissions and turn on Is executable. Close Properties and double-click the AppImage.
  3. Choose Select Disc Image, select your existing game data and press Play when the check finishes. Keep Steam running while using a gamepad layout in Desktop Mode. Set up controls below if needed.
  4. In Desktop Steam, choose Games → Add a Non-Steam Game to My Library → Browse, select the AppImage and click Add Selected Programs. Use Return to Gaming Mode, then open Dusklight from your library. Once you can move Link, turn the camera and hear the game, you are ready to play.

For trouble starting on Deck, see Troubleshooting.

Troubleshooting

Dusklight

If the disc check fails, read the error and compare your game with the supported editions at the start of Download & install. A hash mismatch means the file check found different data, which may be modified or damaged. Check the Dusklight README for the requirements.

On Linux or Steam Deck, a pipeline-building notification means the program is preparing graphics. It can appear again on later launches while the program reads its saved graphics work; let it finish before playing.

For unresponsive buttons, use the input settings in Controls below. For crashes or graphics problems, check that you chose the right processor package, update the graphics driver and disable added mods (game changes installed separately). If the problem continues, use Dusklight Issues with your program version, operating system, graphics card, game-data region and error message.

TPVR

If the headset stays outside VR, start its PC connection software and runtime before opening TPVR. For a Linux FUSE mount error, follow the AppImage fallback instructions in the TPVR Release notes.

Some boss attacks and sword techniques need a button press even when physical swings work. Press B on the Quest controller, or turn off physical sword swinging in Settings → VR.

For other VR problems, use TPVR Issues with your program version, operating system, graphics card, headset, runtime and the place where the problem happens.

Controls

Dusklight

Press F1, then open Settings → Input → Configure Inputs. Choose Keyboard or your gamepad and set the buttons you want. The default menu button is Back on Xbox 360, View on Xbox One, Select on PS3, Share on PS4 or Create on PS5. If you changed the menu binding, use your custom button instead.

Return to Settings → Input and switch on Mouse Camera to turn with the mouse, or Mouse Aim for supported aiming actions. Both start switched off.

TPVR

With Quest 2/3 controllers, the left stick moves Link and the right stick turns the camera. Right A performs the action shown on screen, right B attacks, and left Menu or right stick click pauses. The project has not tested other headsets; before choosing TPVR for one, use the TPVR Community links to confirm your device and controller mappings.

Hold right stick click + right trigger for a few seconds to open the settings menu, then choose Settings → VR to adjust your view.

Mods & enhancements

For smoother movement in Dusklight, open F1 → Settings → Video, set Unlock Framerate to Capped, then adjust Framerate Cap. The game still updates 30 times per second; it fills the gaps with extra pictures to make movement look smoother. If animations look wrong, switch Unlock Framerate to Off.

Dusklight also has resolution and visual-effect settings, texture replacements (different images for surfaces and objects) and a Mod Manager for enabling game changes. The current release includes the Dusklight Randomizer, which rearranges parts of the game.

TPVR adds tracked sword swings, shield bashes and right-hand aiming. In Settings → VR, you can choose third-person play or turning in steps instead of a continuous camera turn. Third-person mode also lets you use a regular gamepad while wearing the headset.

Which port should I use?

What you wantWhat changes your choice
Controller or keyboard/mouse playDusklight has input settings and optional mouse camera and aiming.
Motion-controlled VRTPVR lets you see the game in 3D and use tracked sword and shield actions.
A regular gamepad while wearing a headsetTPVR's third-person mode supports this.
Less setupDusklight needs no headset connection; TPVR needs both a connected headset and its PC software.

Back up your working save before trying the other project in a separate program folder; the Dusklight FAQ lists its save locations.

PC port vs emulator

Dusklight turns Twilight Princess's reconstructed game code into a PC program. TPVR builds on that program and adds headset and motion-controller support. Both focus on this game and its enhancements.

Dolphin is an emulator, a program that runs games made for another system. It supports many GameCube and Wii games on Windows, Linux and macOS. Choose a port for the controls, mods or VR features you want; keep an existing setup that plays well while you try it.

FAQ

Is this an official PC release or a Steam version?

No. Dusklight and TPVR are unofficial community programs and include no game files. Adding Dusklight to your Steam library creates a shortcut to the program you already have.

Does Wii data change the on-screen controls?

You still get the GameCube on-screen display, including when you use Wii data.

Which project works on Mac or Steam Deck?

Choose Dusklight and follow the corresponding installation tab above.

Update history

ProjectLatest versionRelease date
TPVR 2.3.0
Dusklight v2.0.3

Sources