aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-28 19:32:06 -0500
committerSulfurNitride <SulfurNitride@users.noreply.github.com>2026-04-28 19:32:06 -0500
commit817524ce9e1146cfad05b7a2e7d41495bcde537b (patch)
tree20bf2b8c09700a01be2626af280970802cc618de
parent6ac0b0a41257ba1bf902d4a71a5301a6f3944297 (diff)
ProtonLauncher: empty UMU_ID to suppress GE-Proton X:=$HOME mount
Setting UMU_ID="fluorine" triggered protonfixes' setup_mount_drives (GE-Proton/utilities.py), which mounts X:=$HOME, U:=/media, V:=/run/media, W:=/mnt every launch — undoing pruneExtraDrives. Wine's find_drive_nt_root walks the path innermost-out and picks the first matching drive, so X:=$HOME wins over Z:=/ for any path under home, producing X:\games\... launches. Empty UMU_ID: - protonfixes utilities.py:38 `os.environ.get('UMU_ID','')` -> '' falsy -> setup_mount_drives early-exits, no X/U/V/W created - proton:1590 same falsy check -> 'gamedrive' not added to compat_config -> setup_game_dir_drive's setup_dir_drive takes the elif branch and actively removes any stale s: symlink - proton:2340 `"UMU_ID" in os.environ` is still True for "" -> still skips the c:\Program Files (x86)\Steam\steam.exe bridge for non-Steam executables (the original reason we set UMU_ID) Verified against installed Proton-GE proton script + utilities.py and GloriousEggroll's confirmation in umu-launcher#634. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
-rw-r--r--src/src/protonlauncher.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/src/protonlauncher.cpp b/src/src/protonlauncher.cpp
index 8aecd47..d9b371a 100644
--- a/src/src/protonlauncher.cpp
+++ b/src/src/protonlauncher.cpp
@@ -668,8 +668,16 @@ bool ProtonLauncher::launchWithProton(qint64& pid) const
// Proton-GE skips the built-in steam.exe bridge. Without this, Proton
// tries to initialise the Steam client which causes an assertion failure
// for non-Steam executables.
+ //
+ // Use an EMPTY value, not "fluorine". Proton's check is `"UMU_ID" in
+ // os.environ` (key presence) which is True for "" — so the steam.exe
+ // bridge is still skipped. But protonfixes' setup_mount_drives keys on
+ // `os.environ.get('UMU_ID', '')` truthiness; with a non-empty value it
+ // mounts X:=$HOME, U:=/media, V:=/run/media, W:=/mnt and Wine then
+ // canonicalises game paths under X:\... instead of Z:\home\user\....
+ // Empty UMU_ID skips the mount block while preserving the bridge skip.
if (!m_useSteamDrm) {
- env.insert("UMU_ID", "fluorine");
+ env.insert("UMU_ID", "");
}
env.insert("DOTNET_ROOT", "");