Skip to content

Releases

v0.5.0-linux.3 — test AppImage: Linux keyboard remapping and mouse/touchpad aim (PR #44)

Choose a tag to compare

@DaniSald DaniSald released this 03 Nov 17:14

Test build of yozander2009-stack/Metroid-Dread-Recomp#44, which fixes #42 (Linux: no keyboard remapping, mouse unusable). It is upstream v0.5.0 plus that PR. This is not an official release.

No Nintendo files are included: no game code, no RomFS, no keys.

What to test

  • Keyboard remapping: Play screen → Controls → Keyboard. Press SET, then a key; RESET restores the defaults. The keys apply in game.
  • Mouse free aim: Controls → Mouse → Mouse free aim ON. Hold the right button and move the mouse to aim. Left click shoots, middle click arms missiles.
  • Touchpad: also turn on Aim button toggles (touchpads). A right click (two-finger tap) turns aiming on, one finger aims, a one-finger tap shoots, and another right click turns aiming off.
  • Tab toggles fast forward when Gameplay → Fast-forward toggle is on.

When you report a problem, please attach Metroid Dread.log from ~/.local/share/MetroidDreadRecomp. The lines starting with input: tell whether the mouse movement reached the game.

Install

chmod +x Metroid_Dread-x86_64.AppImage and start it. It uses the same install folder as the official AppImage, so an existing setup is reused. If the game code needs rebuilding, the Play screen says so.

SHA-256: d35c3b1dec5f3976efd0dc07c74b33619e16c08a366bc381e7feec3858f7c6dd

v0.4.0-linux.2 — native Linux build and AppImage

Choose a tag to compare

@DaniSald DaniSald released this 25 Oct 04:18

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.

The Windows build from the same source is attached too: MetroidDread-PC-v0.4.0-linux.2.zip.

No Nintendo files are included: no game code, no RomFS, no keys.

Playing on Linux

  1. 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).
  2. Download Metroid_Dread-x86_64.AppImage, make it executable (chmod +x) and start it.
  3. 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.
  4. 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.

Playing on Windows

  1. Extract the ExeFS and RomFS of your own Metroid Dread 2.1.0, as above.
  2. Download MetroidDread-PC-v0.4.0-linux.2.zip and extract the whole Metroid Dread folder. Metroid Dread.exe needs the recompiler folder next to it, so keep them together.
  3. Start Metroid Dread.exe, choose the folder with your game files and press START SETUP, then PLAY.

The Windows game itself is the same as v0.4.0. This zip is built from the v0.4.0-linux.2 tag, so its front end has the changes listed below.

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.

Changes since v0.4.0-linux.1

  • The Windows build (MetroidDread-PC-v0.4.0-linux.2.zip) is attached, built from this tag.
  • The mouse cursor shows while the in-game menu (F1) is open in fullscreen, for its mouse and touch input. It stays hidden while playing.

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:

The Windows zip contains the same runtime and libraries plus:

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 2364d6df96ef84e2efe67c68ec411a45c2b711184f0795d5ada3c1e37fe7910e Metroid_Dread-x86_64.AppImage

SHA-256 1a79dbc322272642656b8bc7d99e5b1f9f8d455d8d67efa341a3e77c4ca06ba8 MetroidDread-PC-v0.4.0-linux.2.zip

v0.4.0-linux.1 — native Linux build and AppImage (preview)

Choose a tag to compare

@DaniSald DaniSald released this 25 Oct 02:36

Preview. 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

  1. 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).
  2. Download Metroid_Dread-x86_64.AppImage, make it executable (chmod +x) and start it.
  3. 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.
  4. 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:

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