Ocarina Recomp Wiki / Hookshot

Hookshot: Ocarina of Time recomp for PC & Linux

Hookshot is NotRexed’s static recompilation of the Switch 2 edition. Hookshot Builder turns your own copy into hookshot.exe or a Linux build in about 40 minutes; the latest release is device-lost-fix.

  • device-lost-fix
  • Windows + Linux
  • 2,006 GitHub stars
  • GPL-3.0
Advertisement

Hookshot at a glance

Repositorygithub.com/NotRexed/Hookshot (GPL-3.0-or-later)
Latest releasedevice-lost-fix, “GPU crash fix, faster builds”, November 8, 2026, 02:34 UTC
PlatformsWindows 10/11 x64 (Hookshot Builder), Linux x86_64 (AppImage)
GameOcarina of Time, Nintendo Switch 2 edition (program 0400486024DEC000, update v131072, build e0f3ccfa)
Developer’s test PCRyzen 5 7600X, RTX 4060 Ti 16 GB: about 50 fps walking without frame generation
Releases / downloads20 releases, 65,221 downloads (November 8, 2026)

Hookshot appeared on November 5, 2026 and has shipped 20 releases since, several a day. Its README calls it experimental and lists the tested area as Kokiri Forest; Hyrule Field and the rest of the game are marked “not tested yet”, and AMD and Intel cards “never tested” by the developer, although many AMD fixes have since come from contributors.

Download Hookshot

FilePlatformSizeBytesSHA-256GitHub
HookshotBuilder.zipWindows x64398.2 MB398,156,393c663d16738e3d8970c40bc12e0f2587f96a2e582228139dc0bbb9b4ed79078d9Download
Hookshot-device-lost-fix-x86_64.AppImageLinux x86_64215.5 MB215,493,11229e6214c4403567fc64b04dffee2d37051208d64f8f4d098c7bd97ad7f222774Download

Hookshot’s release tags are names, not numbers. The author’s rule from the release notes: every release includes all the fixes from the releases before it: always take the newest one. Compare a downloaded file with the SHA-256 checker.

How to build Hookshot on Windows

  1. Download HookshotBuilder.zip from the Releases page, extract it and run HookshotBuilder.exe. Keep the tools folder beside it.
  2. Choose your own game files (the builder accepts a .nup, or romfs and exefs folders). The builder checks that the copy is the supported version.
  3. Choose a language and a folder for the finished game, and start the build. It takes about 40 minutes.
  4. When it finishes, open hookshot.exe in that folder.

The build reads your game and never changes it; it writes to the chosen folder and to %LOCALAPPDATA%\HookshotBuilder. To uninstall, delete both. The command-line route (python -I nx2/make_game.py …) needs Python with lz4, numpy, capstone, unicorn and zstandard, plus the tools folder contents from the builder ZIP.

This site does not explain how to obtain or extract game files. Use a copy you own; never share hookshot.exe, the generated code or the shader caches, because they are made from your game.

Hookshot on Linux

Make the AppImage executable (chmod +x) and start it: it is Hookshot Builder with the compiler, libraries and Vulkan renderer inside, so nothing else has to be installed. Choose your game files, a language and a folder, build, then press Play; the game is also added to your applications menu. --play starts the built game without opening the builder, and --cli takes the same options as make_game.py.

  • Needs a 64-bit x86 PC with glibc 2.35 or newer (Ubuntu 22.04, Debian 12, Fedora, Arch, SteamOS…) and a Vulkan 1.3 driver with mesh shaders (Mesa or NVIDIA).
  • Build files go to ~/.cache/hookshot-builder; saves to ~/.local/share/hookshot.
  • Switches go in hookshot_env.txt beside the game, one NAME=VALUE per line, as on Windows.

In-game menu: frame generation, upscaling, ultrawide

Press Insert in game, or Home (or Select + Start) on a controller. Everything is off by default; choices are saved in hookshot_options.ini.

OptionChoices
Quality presetCustom, Minimum (4GB), Low (6GB), Balanced (8GB), High (12GB), Ultra (16GB+)
Frame generationOff, 2x, 3x, 4x (up to 8x since foliage-linux-updater)
Frame pacingOff, On
ResolutionAuto (the game’s own dynamic resolution), 100%, 75%, 67%, 50%
UpscalingOff, Catmull-Rom, Lanczos
Sharpness0 to 100%
Game speedPer frame, Real time (default since foliage-linux-updater)
Handheld profileOff, On
Ultrawide16:9, Monitor’s shape
FPS counterOff, On

With Game speed on Per frame the game slows down whenever it is under 60 fps; Real time keeps normal speed. Ultrawide keeps the 3D in shape but stretches the HUD and softens the picture, per the README.

Advertisement

Updating to a newer release

A new release is not a patch: the game is built again from your copy with the new code. Close the game, back up the user folder (Windows) or ~/.local/share/hookshot (Linux), extract the new builder to a new folder, and build again with the same input and the same game folder.

KeptReplaced
Your saveshookshot.exe and its files
hookshot_options.ini (menu choices)image.bin and the shader list
hookshot_env.txtlanguage.txt

Mods

Put RomFS mods in a mods folder beside hookshot.exe, in the layout emulators use (mods/<name>/romfs/…). Folders starting with - or _ are off; when two mods change the same file, the folder name that sorts last wins. ExeFS patches (.pchtxt, .ips) are not loaded, because the code is compiled ahead of time.

Environment switches

SettingWhat it does
HOOKSHOT_JOBS=<n>How many files compile at once during a build.
HOOKSHOT_NO_UPDATE_CHECK=1Stops the game from offering newer releases at start.
RX_VK_PIPE_SKIP=0Restores the old behaviour of stopping the frame until a new shader is built (more stutter).
RX_VK_MOVIE_UPSCALE=linearReplaces the movies’ neural upscale with a linear one for small GPUs; softer movies.
RX_VK_NO_FOLLOW=1AMD black-screen test switch from the brighter release; turns off the newest lighting change.
HOS_MODSPoints the mods folder somewhere other than mods beside the game.

If something goes wrong

ProblemWhat to do
“Hookshot supports build e0f3ccfa”The copy is the wrong version or lacks its update. Hookshot checks the version before building.
The game opens and closesUpdate the graphics driver. Since no-visual-studio, CPUs without AVX2 no longer crash at start.
Black screen with sound while a save loadsThe GPU “device lost” crash; device-lost-fix addresses the case seen about 1 start in 7 on NVIDIA. Attach hookshot_log.txt to an issue if it remains.
Black movies on WindowsWindows has no AV1 decoder. The game now says so and opens the free “AV1 Video Extension” page.
Stutter the first time you see somethingShaders are being prepared; it gets better on the second visit. The first start after an update translates every shader again.
Wrong languageChange the code in language.txt beside the game; the file lists them all.
“Incomplete .nup”The input file is truncated. Recent builders name this immediately instead of failing late with “short read”.

Report bugs on the Hookshot issue tracker with where you were in the game, your graphics card and a screenshot or video. Never attach game files.

Recent Hookshot releases

  • device-lost-fix (November 8, 2026): GPU crash while loading fixed (#150); faster builds.
  • no-visual-studio: bundled llvm-mingw compiler; fewer flashes; 30 mesh shaders fixed (#351); CPUs without AVX2 (#363); about 15% more fps (27 → 31 in Kokiri on the test PC); Controls page; text speed; quality presets; Alt+Enter fullscreen; SDL 3.4.20 with Steam Controller support.
  • foliage-linux-updater: EvilOOT foliage and lighting; update offer from the game; Linux AppImage; frame generation up to 8x; rumble on DualSense and Xbox.
  • movie-sync, less-stutter, small-vram: movie sound in sync, laptop dual-GPU fix, shorter shader freezes (worst 2.6 s → 1.2 s), 4–8 GB VRAM fixes.

Every release is in the changelog. To compare Hookshot with the other projects, see Hookshot vs Ocarina Recomp.

Advertisement

Frequently asked questions

What is Hookshot?

Hookshot (NotRexed/Hookshot) is a static recompilation of The Legend of Zelda: Ocarina of Time for Nintendo Switch 2. It translates the game’s code to C, reimplements the console’s system software and rebuilds the graphics on Vulkan, producing hookshot.exe on Windows or hookshot on Linux from your own copy. It is GPL-3.0-or-later and was created on November 5, 2026.

Who makes Hookshot?

NotRexed, who also lists BlueShell (Mario Kart World), Skybound (Tears of the Kingdom) and the a64-kit tools in the credits. EvilBoyce (evilmfkr) contributed the foliage, lighting, water and fog fixes, and many contributors send pull requests.

Is Hookshot on GitHub?

Yes, at github.com/NotRexed/Hookshot. Builds are attached to its Releases page; there is also a Discord linked from the README. The repository had 2,006 stars and 186 forks on November 8, 2026.

Does Hookshot need Visual Studio?

Not any more. Since the no-visual-studio release (November 8, 2026), Hookshot Builder brings its own compiler (llvm-mingw), Python and libraries. Visual Studio 2022 is only needed to change the builder itself.

How long does a Hookshot build take?

About 40 minutes according to the README, and you can use the PC meanwhile. device-lost-fix runs one compiler per CPU thread (as many as free memory allows), so builds are faster than before. Rebuilding over the same folder with the same input skips re-reading the game.

Does Hookshot run on Linux and Steam Deck?

Linux: yes, through the AppImage (glibc 2.35 or newer, Vulkan 1.3 with mesh shaders on Mesa or NVIDIA). The README lists SteamOS among compatible systems, but only one Linux PC had been tested and no Steam Deck result is reported. On AMD with RADV, batching submits raised a Radeon 8060S from about 10 to 30–50 fps.

How do I update Hookshot?

Download the new builder (or AppImage), then build again with the same input and the same game folder. Saves (user, or ~/.local/share/hookshot on Linux), hookshot_options.ini and hookshot_env.txt are kept. Since foliage-linux-updater the game also offers newer releases at start (turn off with HOOKSHOT_NO_UPDATE_CHECK=1).