diff options
| author | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-28 19:32:06 -0500 |
|---|---|---|
| committer | SulfurNitride <SulfurNitride@users.noreply.github.com> | 2026-04-28 19:32:06 -0500 |
| commit | 817524ce9e1146cfad05b7a2e7d41495bcde537b (patch) | |
| tree | 20bf2b8c09700a01be2626af280970802cc618de | |
| parent | 6ac0b0a41257ba1bf902d4a71a5301a6f3944297 (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.cpp | 10 |
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", ""); |
