LAS Recomp, a native build of Link's Awakening on desktop
Static recompilation of Link's Awakening (Switch) to native macOS, Windows and Linux
At a glance
- What is it?
- LAS Recomp statically recompiles the Nintendo Switch version of The Legend of Zelda: Link's Awakening into a native Windows, macOS and Linux application, with an unlocked aspect ratio and a deep randomizer. It is a beta, it needs your own extracted game files, and it was written almost entirely by an AI.
- Who is it for?
- LAS Recomp suits players on an Apple Silicon Mac, an x86-64 Windows box or an x86-64 Linux machine who want the Switch release running natively, with a wider window and a randomizer that the retail build does not have. It does not suit anyone who wants a turnkey install, because you must supply your own extracted v1.0.0 files, and it does not suit Apple Silicon only requirements on Intel Macs, which are not listed as supported.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.
Editorial analysis
Static recompilation, not emulation, and the platform list is short
LAS Recomp takes the Nintendo Switch release of The Legend of Zelda: Link's Awakening from 2019 and recompiles its code statically into a native desktop application. The distinction from emulation is the point of the project, and the documentation states it as a feature rather than a nuance: this is not emulation, it runs natively on Windows, macOS and Linux using static recompilation of the Switch code. The supported platform list is narrower than that sentence suggests. macOS is Apple Silicon only, using the Metal graphics backend with MetalFX. Windows is x86-64 only, on Vulkan. Linux is x86-64 on Vulkan, distributed as an AppImage, and Linux aarch64 is marked experimental, meaning it builds but has not been tested on real hardware, with reports welcome. A feature that comes with the recompilation is an unlocked aspect ratio, where a wider or taller window shows more of the island up to ultrawide, while houses and dungeons keep their framing and the original 16:9 view stays one option away. That framing is the practical reason to recompile rather than emulate, since it is not something the original binary can do.
You supply the game files, and the app recompiles itself on first launch
No game files are included, and the project is explicit that instructions on how to obtain them will not be provided. What you need is your own legally obtained copy of the extracted game files for Link's Awakening v1.0.0, with no updates applied, and during setup you point the app at a folder containing the exefs and romfs folders or their contents. Nothing else is bundled either: no game files, no assets, and no fonts. On first launch the app sets up what it needs, including performing the recompilation locally, and the start screen you see is the setup screen rather than Nintendo artwork. There is a related constraint around text. Switch games use fonts built into the Switch operating system for some text, and sensible replacements are used by default, but you may optionally set up the Switch fonts for an authentic look. The documentation states plainly that Switch fonts are Nintendo IP and that you must provide them from your own hardware. So the honest summary of the setup path is: bring the game, bring the fonts if you want them, and the first run does the compilation work.
The Makefile detects the platform from uname and switches the target
The build system is a single Makefile at the repository root, and its first job is to work out what it is running on:
UNAME := $(shell uname -s)
comma := ,
ifneq ($(filter MINGW% MSYS% CYGWIN% Windows_NT,$(UNAME) $(OS)),)
PLATFORM := windows
else ifeq ($(UNAME),Linux)
PLATFORM := linux
else
PLATFORM := macos
endifArchitecture is handled separately from platform, and the comments in the Makefile explain why that separation exists. On Linux, ARCH defaults to the host architecture, and when you cross build, the generated code differs per arch, because AArch64 hosts run the guest's floating point and SIMD work as inline assembly while other targets use the portable C in simd.h, so a cross build gets its own generated-<arch> and build/<arch> directories, with SYSROOT pointing at the target's root filesystem for headers and libraries. The compiler selection is equally explicit:
CC := clang $(MINFLAG) $(CROSS)
CXX := clang++ $(MINFLAG) $(CROSS)
IMGUI := third_party/imgui
GENFLAGS := -O1 -fno-strict-aliasing -Wno-return-type -Wno-unused-label -fvisibility=hidden -IruntimeThree more variables shape a local build: B is the build directory, MACOS_MIN sets the oldest macOS version to run on, and DEPS points at a prefix holding SDL3 and FFmpeg instead of Homebrew's copies, which the comments describe as being set together by a make app target. The repository also carries a fonts directory, a runtime directory, a third_party directory, a tools directory and docs, including docs/BUILD-windows.md for the MSYS2 UCRT64 shell used on Windows and docs/linux.md for Linux.
A randomizer with enough options to make seeds unreproducible by accident
The randomizer is the largest part of the feature list, and it is built in layers. The basics are an in-game seed generator, seed IDs for sharing or reproducing an exact seed, per-seed save games, and a switch between vanilla and any seed without restarting the application. On top of that sit a set of toggles that each change the logic: full item shuffle, Trade Quest shuffle, disabling Acorn and Piece of Power drops, bomb and magic powder shuffle, a hookshot that latches onto any wall or object, environment and enemy randomizers, and a music randomizer. The enemy randomizer shuffles overworld enemies and optionally mini-bosses, though not all mini-bosses are included yet, since more will be added as they are made to work outside their dungeons. Then come the sanity options, which are where the project shows its personality: Potsanity, where pots are golden until checked, Bushsanity, where bushes are golden until checked, Digsanity, which makes every diggable overworld tile a check, about 5,000 of them, and Keysanity and Shopsanity. Shopsanity gives the shop's six items a vanilla or randomized price, or lets you simply steal them, with a sold-out sign on the slot either way. Entrance Randomizer shuffles dungeon entrances, houses and caves, and the Dungeon Room Shuffler shuffles all dungeon rooms. That last option is the one the status section flags as especially experimental.
The overlay menu and remapping that cannot lock you out
Presentation features are where a recompile can add things the original never had, and the list here is specific. An in-game overlay menu opens with F1, or with Minus plus Plus on a controller, and it carries the settings you would otherwise lose. Internal resolution can be raised or lowered in steps, matched to the display, or set to dynamic resolution, and on macOS the Apple MetalFX upscaler is the default, so the documentation claims even a MacBook Air should handle this with the right settings, while on Windows bilinear upscaling is currently the only option. Controller support is thorough: keyboard and controller with every button and key remappable from the Controls tab, and the menus keep a fixed layout so a remap can never lock you out of the settings. Button prompts follow your hardware, with Xbox or PlayStation icons in the game's own interface when SDL reports that controller, or you pick the icon set yourself, and the icons follow your remapping. Optional extras include 360-degree movement, blur removal, and a hidden Hero Mode icon. Small touches like the Escape Bottle, which every seed grants you from the start as a warp tool that the logic never requires, show that the seed designer was thinking about what makes a seed tedious.
Beta, AI-written, and released under a custom licence
Three governance facts sit around the code. The project calls itself a beta, and says so directly: bugs are likely, crashes could occur, randomizer seeds could possibly be unsolvable, dungeon room shuffle modes are especially experimental, and some graphics issues remain, especially in wide and ultrawide aspect ratios. Known issues are tracked on the GitHub issues page, and CONTRIBUTING.md explains what to include in a report. The README also carries an important notice: the project was made almost exclusively with AI, with nearly all of the code, tooling, reverse engineering and documentation written and to be maintained by Anthropic's Claude through Claude Code, directed, tested and reviewed by a human, and the author asks readers who do not agree with that to ignore the project. The licence is a custom one that GitHub cannot classify, with the terms in the LICENSE file, so read it rather than assuming a standard open source grant. The release history is unusual too: beta_4 on 2026-10-15, then two releases named test-perf-6 and test-perf-5 on 2026-10-19, and the last push was on 2026-10-19. Expect the tag names to move.
Where LAS Recomp is the wrong tool
The setup burden is the first objection and it is not small. There is no installer that handles the game for you, the instructions for extracting the files are deliberately not provided, and the required version is v1.0.0 with no updates applied, so a copy of the patched release will not do. If you are not prepared to do that work, this is the wrong project, and no amount of tolerance for beta bugs compensates. The platform list excludes more machines than the headline suggests: Intel Macs are not listed, only Apple Silicon, and the ARM Linux build is untested on real hardware. And the randomizer, which is the main reason many people would come, is the source of the risk, because a beta with seed logic still being reworked can hand you a run that cannot be finished. One boundary worth stating: this project ships a recompiler and a runtime, not game content, so a copy of the game you already own is the only input, and the project itself notes it is shared as a courtesy rather than as a commercial release.
Editorial conclusion
LAS Recomp suits players on an Apple Silicon Mac, an x86-64 Windows box or an x86-64 Linux machine who want the Switch release running natively, with a wider window and a randomizer that the retail build does not have. It does not suit anyone who wants a turnkey install, because you must supply your own extracted v1.0.0 files, and it does not suit Apple Silicon only requirements on Intel Macs, which are not listed as supported. Before you start, read LICENSE, since the licence is a custom one GitHub cannot classify, check that docs/BUILD-windows.md and docs/linux.md match your toolchain, and expect beta bugs in wide aspect ratios and in unsolvable randomizer seeds.
Frequently asked questions
Does LAS Recomp include the game files?
No. You need your own legally obtained copy of the extracted game files for Link's Awakening v1.0.0 with no updates applied, chosen as a folder containing the exefs and romfs folders or their contents, and the project states that instructions for obtaining them are not provided.
Which platforms does LAS Recomp support?
macOS on Apple Silicon only with the Metal backend and MetalFX, Windows on x86-64 with Vulkan, and Linux on x86-64 with Vulkan as an AppImage. Linux aarch64 is marked experimental, meaning it builds but has not been tested on real hardware.
Is LAS Recomp an emulator?
No. The documentation states that it runs natively on Windows, macOS and Linux through static recompilation of the Switch code, which is what enables the unlocked aspect ratio, the overlay menu and the randomizer.
How is LAS Recomp built?
A Makefile at the repository root detects the platform from uname and selects clang with platform-specific flags, with architecture handled separately through ARCH and SYSROOT for cross builds. Windows builds use the MSYS2 UCRT64 shell described in docs/BUILD-windows.md and Linux builds are described in docs/linux.md.
Is the randomizer safe to play in a beta release?
The status section warns that randomizer seeds could possibly be unsolvable, and that dungeon room shuffle modes are especially experimental at this point. Seed IDs are provided for sharing or reproducing an exact seed, and per-seed save games let you return to a run.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/peiikai-lasrecomp)Was this useful?