C++CC0-1.0Created Nov 30, 2025Last push todayLatest release v1.4.1+42 stars this week+58 this month
Star history
since May 10, 2026
5K stars as of Aug 7, 2026, tracked back to May 10, 2026. Historical curve reconstructed from public GitHub event archives, calibrated to the current total.
Contribution activity
commits per day, last 52 weeks
2,797 commits in the last yearLessMore
Signals and awards
derived from tracked data
Very active
2,797 commits in 52 weeks
Community-driven
~115 contributors
What dusklight does
Dusklight is a fully reverse-engineered engine replacement for the GameCube version of The Legend of Zelda: Twilight Princess. It aims for cycle-accurate replication of the original game logic while completely overhauling the rendering backend to support modern APIs like D3D12, Vulkan, and Metal. By ditching traditional emulation, it offers native performance on PC and mobile devices, along with built-in tools for customizing the experience, applying fixes, and integrating new enhancements directly into the game engine.
Retro gaming enthusiasts, speedrunners, and modders looking for the most accurate and performant way to play and modify Twilight Princess.
Native game engine: completely replaces the need for an emulator by running reverse-engineered game logic directly on the host.
Modern graphics backends: supports D3D12, Vulkan 1.1+, and Metal to ensure high performance on modern hardware.
Asset extraction support: requires users to provide their own dumped `.iso` or `.rvz` files, ensuring no copyrighted material is distributed.
Cross-platform compatibility: designed from the ground up to run natively on both modern PCs and mobile devices.
Extensible architecture: provides built-in tools and options to customize the game experience far beyond what is possible in Dolphin.
Where teams use it
High-performance retro gaming
Players use it to experience Twilight Princess at native 4K resolutions and high framerates without the overhead of GameCube emulation.
Game modification and modding
Modders leverage the native engine architecture to implement complex gameplay changes that would be impossible via standard ROM hacks.
Mobile Zelda emulation
Android users play the game natively on their phones using Vulkan, achieving better battery life and performance than traditional emulators.
Game preservation
Software preservationists study the reverse-engineered codebase to understand the intricate details of the game's original engine.
Getting started: No specific command provided in the excerpt.
Dusklight is a reverse-engineered reimplementation of Twilight Princess.
It aims to be as accurate as possible to the original while also providing new options, enhancements, and tools to customize your experience.
Setup
Important
Dusklight does not provide any copyrighted assets. You must provide your own copy of the original game.
Important
At a minimum, Dusklight requires a GPU with support for D3D12, Vulkan 1.1+, or Metal. For older devices, best-effort support is provided for D3D11 and OpenGL ES (Android), but will not achieve full accuracy or performance. Your experience with specific hardware, operating systems, and drivers may vary.
1. Dump your game
You must dump your own copy of the game. Please see this article for instructions. After dumping, you can use a program like Dolphin or nodtool to convert the .iso to .rvz to save space.
Currently, only the GameCube releases are supported. Support for other versions of the game is planned in the future.
If you'd like to build Dusklight from source, please read the build instructions.
Pull requests are welcomed! Note that we do not accept contributions that are primarily AI-generated and will close your PR if we suspect as much. Please also see the code conventions.
**What's new:**
* **Added:** Support Clawshot hanging & Hawkeye with touch controls
* **Added:** Configure Android Surface.setFrameRate; improves performance on some devices
* **Fixed:** Texture replacement regressions in v1.4.0 (load ordering & missing UI textures)
* **Fixed:** Performance regression on some GPUs (AMD on Windows in particular)
* **Fixed:** Keyboard focus issues on Android and iOS
* **Fixed:** Lock 4:3 aspect issue on PowerVR GPUs
* **Fixed:** Hidden Dusklight menu still receiving inputs in some circumstances
* **Fixed:** GPU backend fallback regression
**Full Changelog**: https://github.com/TwilitRealm/dusklight/compare/v1.4.0...v1.4.1
With the release of Dusklight, it's been our goal to raise the bar for quality and polish in ports. First, we focused our efforts on accuracy, stability and quality of life. Now, we're excited to bring some long-awaited features and improvements: **full mouse controls**, **mobile touch controls**, and **a complete performance overhaul**, among many others! And don't worry, we still have some even bigger features coming soon. Please stay posted!
**What's new:**
* **Added:** Mobile touch controls & customization
* **Added:** Mouse control for third-person camera
* **Added:** Mouse/touch support for in-game menus (disable via "Mouse/Touch in Menus" setting)
* **Added:** Native gyro/rumble support on Android and iOS
* **Added:** Overhauled performance; up to **4x** improvement on CPU-bottlenecked devices
- We've optimized **every** part of the renderer, from game particles to GPU frame submission
- Framerates should be much more stable across areas and with heavy effects
* **Added:** ASTC DDS support for texture replacements
- Texture pack authors can now ship desktop packs with BC7, and mobile packs with ASTC
* **Added:** Load mipmaps from DDS files
- Texture p
**What's new:**
* **Fixed:** Several issues with configuration saving & loading
* Resolves a regression in v1.3.0 where some Android devices would corrupt config file on exit, then crash on launch
* **Fixed:** Enter key clearing text inputs
* **Fixed:** Missing chains in Arbiter's Grounds, Hyrule Castle
* **Fixed:** Improved crash reporting in log files
Thanks to all contributors:
@PJB3005
@dooplecks
@Irastris
@encounter
**Full Changelog**: https://github.com/TwilitRealm/dusklight/compare/v1.3.0...v1.3.1
**What's New:**
- **Added:** New, modernized Depth of Field implementation (+ "Classic" option)
- **Added:** "Data Folder" configuration on Android
- **NOTE:** Large transfers (e.g. texture packs) may cause the app to sit on a black screen on restart. Be patient!
- **Added:** ARM64 Windows and Linux builds
- **Added:** Numpad "Enter" now works in menus
- **Added:** Poe Counter from TPHD
- **Added:** Option to "Hide Owl Statue Markers" after completion
- **Added:** New achievements: "Gorge Skip", "Hero Mode", "Autospin Annihilation", "Surgical Skewer" & "Early City"
- **Added:** Updated Steam Controller support on Linux
- **Added:** "Invert Air/Swim Axis" options
- **Added:** Better crash reporting in log files
- **Fixed:** Adreno vertex shader issues ("vertex explosions", etc.)
- Works around an Adreno driver bug triggered by 16-bit integer arithmetic (thanks @qwtel)
- **Fixed:** VersionName and VersionCode not updating for Android APK
- **Fixed:** Refactor string handling in the original game to prevent crashes or undefined behavior
- **Fixed:** Credits crash on Linux/Android
- **Fixed:** Some instances where Wolf Link couldn't howl
- **Fixed:** "No Heart Dro
**What's New:**
- **Added:** Experimental D3D11 (Windows) and OpenGL ES (Android) graphics backends
- This allows Dusklight to run on devices that don't support Vulkan 1.1, D3D12 or Metal, but be warned that performance and accuracy may suffer! These backends are provided on a best-effort basis.
- **Added:** Capped FPS option: set any framerate limit
- **Added:** "Area" output resampling option
- Smoother resampler for both upscaling and downscaling from the internal resolution
- **Added:** Many, many fixes and improvements to interpolation
- **Added:** Better achievement logic for Skybook characters
- **Added:** Autosave safety (no autosave after loading a state, no autosave after reset, etc.)
- **Added:** Ctrl-R to reset now triggers on release, like the button combo
- **Added:** Option to remove button binds with only controller (press same button again)
- **Added:** Option to enable and disable texture replacements in-game
- **Fixed:** Various crashes on all platforms (Goron Mines elevator & others)
- **Fixed:** Off-center aim reticle on devices with "safe area" (notches, in-screen cameras, etc)
- **Fixed:** Mipmap texture replacement regression in v1.1.1
-
Code frequency
additions and deletions
+5M lines added, -3.2M removed over the last year.
Commits per week
last 52 weeks
2.8K commits in the last 52 weeks.
When work happens
weekday and hour
Commit volume by weekday and hour (UTC). Larger dots mean more commits.