Repository navigation
v0.4.0-linux.1 — native Linux build and AppImage (preview)
Pre-releasePreview. Metroid Dread recompiled for PC v0.4.0 (from yozander2009-stack/Metroid-Dread-Recomp) with a native Linux build: one AppImage that sets up, configures and runs your own copy of the game, like the Windows EXE. Tested on a laptop and a Steam Deck OLED (see below). Please report what happens on yours.
No Nintendo files are included: no game code, no RomFS, no keys.
Playing
- Extract the ExeFS and RomFS of your own Metroid Dread 2.1.0 (with the update merged, or the base game and the update as separate folders).
- Download
Metroid_Dread-x86_64.AppImage, make it executable (chmod +x) and start it. - On first start choose the folder with your game files and press START SETUP. It checks every RomFS file against the 2.1.0 list, translates the game code to C and compiles it with the GCC inside the AppImage. This takes about 10 minutes and needs about 7 GB of free space.
- Press PLAY. Settings, AUTO-SET, controls and mods are on the same screen. In game, F1 opens the menu.
The game is installed in ~/.local/share/MetroidDreadRecomp (set METROID_DREAD_HOME to use another folder). On the same disk as your game files the RomFS is hard-linked rather than copied. Start the AppImage with --play to skip the Play screen, or --launcher to bring it back.
Needs: x86-64 Linux with glibc 2.38 or newer (Ubuntu 24.04+, Fedora 39+, Arch, or a current SteamOS), an OpenGL 4.3 driver, X11 or Wayland (through XWayland), SDL2 for controllers and audio, and zenity or kdialog for the folder picker.
Tested on
| Laptop | Steam Deck OLED | |
|---|---|---|
| Device | Lenovo ThinkPad E14 Gen 5 | Steam Deck OLED ("Galileo") |
| CPU | AMD Ryzen 5 7430U (6 cores, 12 threads) | AMD Custom APU 0932 (4 cores, 8 threads) |
| GPU | AMD Radeon Graphics (integrated, RENOIR) | AMD Custom GPU 0932 (integrated, VANGOGH) |
| Memory | 16 GB | 16 GB |
| System | Zorin OS 18.1 (Ubuntu 24.04 base), kernel 7.0, glibc 2.39 | SteamOS 3.9.5, kernel 7.2, glibc 2.43 |
| Graphics driver | Mesa 25.2.8, OpenGL 4.6 | Mesa 26.1.2, OpenGL 4.6 |
| Screen | 1920x1200, 60 Hz | built-in, Desktop Mode, controller through Steam (gamepad layout) |
| Setup (translation + compilation) | about 10 min | about 18 min (compilation 1085 s) |
| Result | title screen and opening, 60 FPS | title screen, opening and play, 60 FPS held over a session of 9 minutes |
Settings on both: OpenGL, docked, resolution 1.00x, 60 FPS limit.
Steam Deck tips
- Start the AppImage through Steam (add it as a non-Steam game), also in Desktop Mode. Started on its own in Desktop Mode, the Deck's desktop controller layout sends Esc for B, and Esc quits the game.
- Keep the 60 FPS limit (Gameplay > Frame rate). Unlimited runs the title screen at hundreds of FPS for nothing: more heat, less battery.
Known issues
- In fullscreen the mouse cursor stays hidden when the F1 menu is open (fixed in v0.4.0-linux.2).
What changed compared with v0.4.0
- Linux front end: the Windows Play / setup / settings screens run on Linux in their own X11 + OpenGL window (
runtime/dread_ui/fe_sys_linux.cpp). - AppImage (
linux/make_appimage.sh) bundling a relocatable GCC 14.3 and Python 3.12, so nothing needs to be installed. - Linux scripts now build and run natively (they used to need WSL and
/opt/swr). - Fix: the Linux, headless and Android runtimes failed to link (
mouse_map_reset).
Not on Linux yet
- native Vulkan
- updates from the releases page
- the Steam shortcut button
- mouse free aim
- F7 recording
- automatic download of the button-icon packs (the button opens their page)
Licences and sources
The AppImage contains the SwitchRecomp runtime (Apache-2.0, "SwitchRecomp by MZ Labs"), Dear ImGui (MIT) and libvpx (BSD). It also bundles:
- GCC 14.3 and binutils: Bootlin toolchain
x86-64--glibc--stable-2025.08-1, GPL. Source: https://toolchains.bootlin.com/downloads/releases/sources/ - Python 3.12.15: python-build-standalone 20261009, PSF licence. Source: https://github.com/astral-sh/python-build-standalone
Licence texts are in the licenses folder that is created next to the game. Metroid Dread is © Nintendo. This project is not affiliated with or endorsed by Nintendo.
SHA-256 db66cc9fb2492892c394041ba955d04b69db46b9b17783bc374fc04477171fc7 Metroid_Dread-x86_64.AppImage