Published onJune 25, 2026

Dusklight

At this point, I may sound like a broken record, but gaming is not what it used to be.
Instead of trying new games, shelling out $70 for yet another mediocre experience, I wanted to revisit some games from the golden age of gaming.
With an absolute classic—The Legend of Zelda: Twilight Princess—celebrating its 20th anniversary later this year, I felt it was the perfect time to go for another playthrough.
The stars aligned perfectly as Dusklight, a source port of said game, had just come out a little over a month ago, and I decided to check it out and take it for a spin.

To get in the mood, give Twilight, a synth-heavy song from the game's OST, a listen.

Twilight

0:00|--:--

About Dusklight

Dusklight is a source port of The Legend of Zelda: Twilight Princess.
A source port usually describes the resulting product from the act of porting a game from one platform to another, largely reusing the original source code.
Since it’s a fan project, and Nintendo sure as hell didn’t open source their game, the original game had to be reverse-engineered. Some call these types of projects decompilation projects since the original game has to be decompiled in order to port it to another platform.
Original game assets are not provided by the Dusklight team, though, which means you’ll have to bring your own copy of the original GameCube game.

One of the most substantial changes introduced by Dusklight is related to frame rate.
In terms of gameplay, art style, storytelling, sound design, and world building, the game is still as much a masterpiece as it was back in 2006.
Being locked to 30 FPS makes Twilight Princess a little harder to enjoy, though, given that most of us are well accustomed to high refresh rates beyond 120 Hz.
Dusklight uses a technique they themselves refer to as interpolation, which is not to be confused with frame interpolation techniques we know all too well these days.
In the case of Dusklight, interpolation describes a technique used to render additional frames between ticks, a metric used to describe how often the game is being updated per second, using information about how objects are moving through the world.
Don't be fooled, though. The game still uses a tick rate of 30 internally; it's simply rendering at higher frame rates using the aforementioned technique.
The result is a buttery-smooth experience, which clearly is a well-deserved modernization for such an already amazing game.
Just look at how awesome Zelda’s Link’s sheathing animation looks:

Link sheathing his sword after a fight.

While Dusklight reuses parts of the original codebase, the team added a plethora of additional features, including support for mods and welcome quality-of-life improvements.

User experience

The user experience of Dusklight is close to perfect, staying true to the game's original direction while modernizing several key aspects of the game.

Setup

The setup process is incredibly straightforward and well-documented over on their website.
If you have issues with getting it up and running, a dedicated FAQ section offers answers to the most frequently asked questions.
Should you need support beyond that, checking Dusklight’s Discord is always a good idea.
On macOS, you can grab the latest release from their GitHub, extract it, then move the resulting app to your Applications folder. Or, even better, you may use Homebrew, my package manager of choice:

bash
brew install dusklight

To complete the setup, point Dusklight to your copy of the game. You need access to the original GameCube release of the game, not the Wii version, and not the HD version available on the Wii U.
You can either manually dump your game files from a genuine disc or… sail the high seas—it’s your choice.

'caution' icon.

Save games

Save games are tied to the region of your game.
Dusklight supports both the NTSC and PAL versions of the game, but keep in mind that changing regions later on will force you to start from scratch, unless you convert your save game to the new region.

Configuration

Dusklight’s menus offer full controller support, allowing you to navigate them easily, ultimately making changes on the fly a breeze.
Since Dusklight is highly configurable, you can even skip its custom menu and boot right into the game, as if it were 2006.
Modern displays are supported, offering native support for wider aspect ratios and resolutions even beyond 4K.

Only the act of updating the game involves a little more manual labor than expected, but that’s a negligible caveat.
To install updates, you can click on a dedicated button in the lower right corner of Dusklight’s main menu, bringing you to the GitHub “Releases” page.
You’ll then have to grab the correct version for your system—the file with a -macos-arm64.zip suffix in my case—and install it by replacing your existing version of Dusklight.

Performance

Both on a base-level M4 Mac mini, as well as a much more potent M4 Max Mac Studio, the game ran flawlessly.
The Mac mini managed to achieve a locked 120 FPS at 1440p, while the Mac Studio easily coped with resolutions beyond 4K, still maintaining those 120 FPS.
I used an HD texture pack during both tests in combination with maxed out settings.
Even on the Mac mini, the game looks as good as ever.


What about emulation?

In one of my early articles from 2024, in which I talked about OpenGOAL, which brought the Jak & Daxter series to the PC, we had a pretty heated debate about emulation vs source ports and decompilation projects.
While these projects are usually the best option to play any given game, the main issue lies in their very nature—they usually cover just a single game.

Using an emulator, you can play hundreds, if not thousands of games using the same piece of software. In the case of PCSX2, we’re currently looking at 2679 playable games, with only 11 titles not deemed playable, including Final Fantasy XI and its expansions, which already account for almost half the list.
Concentrating efforts on an emulator makes more sense in the long run, given that you can cover a large library of titles with minimal adjustments for most of them.
While native ports usually offer an even better experience compared to their emulated counterpart, it takes a lot of resources to get these ports to where they’re at.
A lot of them come with their own set of quirks, like in the case of OpenGOAL, where menus can be incredibly laggy.
Dusklight is definitely a prime example of good source ports, so we always have to keep that in mind when comparing emulation to source ports.

Source ports are—in most cases—objectively better than their emulated counterparts, but that is due to the fact that entire teams can focus on getting a single game close to perfection, whereas emulators are more general purpose, allowing a vast library of games to be playable.

Despite me preferring emulation in general, Dusklight is a fantastic source port and, without a doubt, the best way to enjoy an already fantastic classic.
I’m greatly looking forward to the Wind Waker decompilation project, which is coming along nicely.
I’ve put my first ever playthrough of the game on hold for the time being, hoping it'll receive proper 60+ FPS support in the near future.

Tags

  • Gaming

  • Review

  • Zelda

  • RPG

An image of Daniel Rodich.

Written by Daniel Rodich

Software engineer, freelancer, and longtime gamer. Writes about games, software, and related technology.

rodich.me
An arrow icon.A dotted pattern