← recipe book

Needs test

The Legend of Zelda: A Link to the Past (PC Port)

Native Linux Action-adventure 1991 (SNES); PC decompilation port active 2022-2026 other
Does it run on your Deck?

About

A decompilation-based native PC port of The Legend of Zelda: A Link to the Past for SNES, produced by the snesrev GitHub organization. The zelda3 project reverse-engineers the original SNES binary into annotated C source that compiles and runs natively on Linux. It supports MSU-1 CD-quality audio, widescreen patches, and frame rate improvements over the original SNES hardware.

Requires building from source with a plain Makefile (make -j$(nproc)) and SDL2, plus a valid USA SNES ROM (renamed zelda3.sfc) for the one-time asset extraction step. The snesrev organization also maintains decompilation ports of Super Mario World and Super Metroid using the same approach.

Identity

Developersnesrev and contributors (github.com/snesrev/zelda3)
PublisherIndependently released (decompilation fan port)
Released1991 (SNES); PC decompilation port active 2022-2026
GenreAction-adventure
ModesSingle-player
Engineother
TypeNative Linux
AliasesALTTP PC Port, zelda3 snesrev, Link to the Past Decompilation

Launch

Binary
zelda3
Needs files
  • A Link to the Past USA SNES ROM, renamed to zelda3.sfc (must match the SHA256 the project expects) — used for asset extraction only

Runtime

Runs as
Native Linux
Proton
not needed

The one thing to know

Supply your own copy: You must supply a USA ALTTP SNES ROM (v1.0) for asset extraction — deckport links nothing.

Build required: A tagged v0.3 release exists on GitHub, but it is Windows-oriented; for Linux / Steam Deck the practical path is to compile zelda3 yourself from github.com/snesrev/zelda3.

Steam Deck: The recommended path is to open a Distrobox Ubuntu container in Desktop Mode, install build dependencies (make, gcc/clang, and the SDL2 dev headers — libsdl2-dev), clone the repo, run the asset-extraction step against your zelda3.sfc ROM, then make -j$(nproc). The project uses a plain Makefile (no cmake).

Install: After a successful build, add the zelda3 binary as a non-Steam game.

Audio: MSU-1 audio packs are community-made and provide CD-quality music; download and configure them separately.

Community guides

Write-ups and threads from people who got this (or a similar) game running. deckport links to them — it doesn't reproduce them.

Get the artwork

deckport never hosts game images. Open this game on SteamGridDB, pick the cover / hero / logo / icon you like, and drop them into the game folder under .deckport-art/ before you push it to the Deck. The importer files them under the right names automatically.

Run it on your Deck

Two files: the one-time importer (deckport.py) in your Deck's home folder, and this game's install helper. Copy the game into ~/Games and run the helper with Steam closed — it writes the recipe (binary, launch options) and registers the shortcut with artwork.