Steam Deck and Linux Native Setup Guide

Install the native Vulkan tarball on SteamOS or desktop Linux, configure 90 Hz OLED Gamescope pacing, and avoid legacy >30 FPS freezes.

  • Package: linux-x86_64.tar.gz
  • Deck UI Scale: 150% Auto (v1.1.3+)
  • OLED Target: 90 FPS at 90 Hz (or 60@60 Hz)
  • Freeze Fix: v1.1.5+ (hypotf & NVIDIA)
Front view of a Valve Steam Deck handheld PC running Linux
Linux x86_64 Vulkan build on SteamOS with Gamescope VSync and 150% auto menu scaling

Run the native Linux x86_64 Vulkan build – not Proton

rob646464/luigis-mansion-recompiled ships a first-class native 64-bit Linux & SteamOS tarball (LuigisMansionRecompiled-1.1.6-linux-x86_64.tar.gz, 151.1 MB) running directly on Vulkan via Dawn and SDL3. You do not need Wine or Proton: the native build auto-detects SteamOS Gamescope, scales the F1 menu to 150% for the handheld screen, and compiles your GameCube disc in under a minute with its bundled Linux clang and ld.lld toolchain.

Step-by-step Steam Deck installation (Desktop Mode & Game Mode)

  1. Switch your Steam Deck to Desktop Mode (STEAM > Power > Switch to Desktop).
  2. Download LuigisMansionRecompiled-1.1.6-linux-x86_64.tar.gz from the download page and verify its SHA-256 digest (b61eb4a6b9816def...).
  3. Extract the tarball into a folder on your internal NVMe SSD (~/Games/LuigisMansionRecompiled) or microSD card:
    mkdir -p ~/Games
    tar xzf ~/Downloads/LuigisMansionRecompiled-1.1.6-linux-x86_64.tar.gz -C ~/Games
    Optional SD card tip: run touch portable.txt inside the extracted folder before first launch so your compiled game module, .gci saves and shader cache stay together on the microSD card.
  4. Launch ./LuigisMansionRecompiled.sh once in Desktop Mode, click Browse... to select your GLME01 / GLMP01 / GLMJ01 disc image, and click Install (~30–60 s compile + initial shader precache).
  5. Open desktop Steam, click Add a Game > Add a Non-Steam Game > Browse, change file type to All Files, pick LuigisMansionRecompiled.sh, and add --fullscreen under Properties > Launch Options (do not force a Proton compatibility tool).
  6. Return to Gaming Mode and launch! In Steam Input, choose the standard Gamepad with Joystick Trackpad template; bind a rear grip button (such as L4) to keyboard F1 and R4 to Esc so you can open and close the options menu without touching a keyboard.

Critical Steam Deck OLED (90 Hz) vs LCD (60 Hz) frame-rate rule

As documented in packaging/README-linux.txt, SteamOS Gaming Mode (Gamescope) always enforces VSync, meaning presented frame rates must divide the panel’s active refresh rate evenly. If you pick 60 FPS while a Steam Deck OLED panel is running at 90 Hz, Gamescope steps down to the next even divisor (45 FPS, and the game shows a one-time notice). Use one of these exact pairings:

Handheld ModelRecommended SettingResult
Steam Deck OLED (90 Hz panel)90 FPS or Match display refresh rate in F1 > Visuals (keep SteamOS at 90 Hz)Locks evenly to 90 Hz Gamescope VSync (3 interpolated frames per 30 Hz game tick).
Steam Deck OLED (60 FPS battery target)Set SteamOS Quick Access (...) > Performance > Refresh Rate to 60 Hz, then 60 FPS in F1Avoids the uneven 90/60 division that otherwise drops Gamescope to 45 FPS.
Steam Deck LCD (60 Hz panel)60 FPS (interpolated) or Original (30 FPS) in F1 > VisualsBoth 60 FPS and 30 FPS divide 60 Hz evenly out of the box.

History of the Linux & Steam Deck >30 FPS freeze fixes

If you previously tried v1.0–v1.1.4 on Linux or Steam Deck and hit a black screen after pressing START or unpausing above 30 FPS, update immediately to v1.1.6 (v1.1.5+ resolved the root cause):

ReleaseIssuesRoot Cause & Upstream Fix
v1.1.5 (2026-10-27)#2, #11, #26Fixed glibc_compat.c exporting a hypotf shim that called itself through the PLT on the first 2D sliding-picture layout blend, curing the black-screen freeze above 30 FPS on every Linux distro and Steam Deck.
v1.1.4 (2026-10-22)#2Disabled the per-frame GPU completion check on Linux that locked up proprietary NVIDIA Vulkan drivers ~20 seconds after launch.
v1.1.3 (2026-10-22)#11, #20Forced VSync under SteamOS Gamescope with timer-pacing fallback + hang phase diagnostics, and added F1 > Visuals > Menu size (75–300%, defaulting to 150% Auto on Steam Deck).
v1.1.2 (2026-10-22)#9, #14, #16Restricted Linux Vulkan MSAA options to supported Off and 4x (fixing 2x/8x startup aborts) and added portable.txt / SD-card Portable Mode.

Desktop Linux packages & CLI flags

  • Ubuntu 22.04+, Debian 12+, Linux Mint 21+, Pop!_OS 22.04+: sudo apt install mesa-vulkan-drivers vulkan-tools libcurl4 (or proprietary nvidia-driver-* on GeForce GPUs).
  • Fedora 36+: sudo dnf install mesa-vulkan-drivers vulkan-tools libcurl.
  • Arch Linux / EndeavourOS / CachyOS: sudo pacman -S vulkan-radeon (or vulkan-intel / nvidia-utils) vulkan-tools curl.
  • Useful launcher flags & environment overrides:
    ./LuigisMansionRecompiled.sh --fullscreen          # Start directly in full screen
    ./LuigisMansionRecompiled.sh --setup               # Add or swap GLME01 / GLMP01 / GLMJ01 discs
    SDL_VIDEO_DRIVER=x11 ./LuigisMansionRecompiled.sh  # Force XWayland/X11 if a Wayland compositor misbehaves
    LM_PORTABLE=1 ./LuigisMansionRecompiled.sh         # Use ./portable/ for a single session

Luigi's Mansion Recompiled reads full analog L/R trigger travel (0 to 150) alongside the 85% digital L/R click threshold for Poltergust 3000 suction and Fire/Water/Ice pressure, plus dual-stick C-stick aiming via SDL3 and DSU:

ControllerBest For in Luigi's MansionHardware AdvantageLink
GameSir Cyclone 2Dual-stage analog & click triggersTMR sticks + physical microswitch/analog trigger locks matching GameCube L/R click feelView on Amazon
Sony DualSenseSmooth L2/R2 travel & SDL3 / DSULong-throw analog L2/R2 sensors, crisp D-pad for Game Boy Horror, USB/Bluetooth SDL3View on Amazon
8BitDo Ultimate 2 WirelessWindows, Linux & SteamOS dock playZero-drift TMR sticks, Hall analog triggers, charging dock, 2.4 GHz & Bluetooth switchView on Amazon
Xbox Wireless ControllerPlug-and-play Windows 10/11Native SDL3 XInput binding with 500 ms refreshed rumble and 85% trigger click thresholdView on Amazon

As an Amazon Associate, this site earns from qualifying purchases.

Victorian gable-and-turret timber mansion facade in deep pine green and cream
Victorian gothic manor architecture echoing the four-area mansion setting
Desktop gaming PC workstation with dual monitors and tempered glass chassis
Windows 10/11 Direct3D 12 workstation running Hor+ ultrawide and up to 320 FPS interpolation
Indigo Nintendo GameCube console with Slot A memory card and wired controller
Retail GameCube hardware base (GLME01 USA, GLMP01 Europe, GLMJ01 Japan)

Common questions

Why did my Steam Deck freeze on a black screen at 60 or 90 FPS in older versions?

In versions prior to v1.1.5, a Linux glibc compatibility wrapper for hypotf accidentally resolved back to itself through the dynamic linker PLT, triggering infinite recursion the first time 2D interpolation blended a sliding UI element. Updating to v1.1.5 or v1.1.6 fixes it permanently.

Where is the crash log stored on Steam Deck and Linux?

Every launch via LuigisMansionRecompiled.sh writes ~/.local/share/Luigi's Mansion Recompiled/last_run.log (and preserves the prior run in previous_run.log), or portable/last_run.log in Portable Mode.

Can I update straight from Gaming Mode on Steam Deck?

Yes, as long as your Deck is connected to Wi-Fi and libcurl is present (included on SteamOS), opening F1 > Game > Updates downloads, verifies and installs new Linux tarballs in place.