Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Steam invokes UMU on launch, creating "~/Games/umu/umu-default" #394

Open
Tiagoquix opened this issue Feb 18, 2025 · 20 comments · May be fixed by #409
Open

Steam invokes UMU on launch, creating "~/Games/umu/umu-default" #394

Tiagoquix opened this issue Feb 18, 2025 · 20 comments · May be fixed by #409
Assignees

Comments

@Tiagoquix
Copy link
Contributor

Tiagoquix commented Feb 18, 2025

I use the following option to start a non-Steam game I have:

PROTONPATH=GE-Proton WINEPREFIX="/example/folder/here/wine_prefix" umu-run "/path/to/executable.exe"

(I have GE-Proton installed in Steam's compatibilitytools.d folder.)
(The example folder is not in ~/Games.)
Since the latest changes, I have not been using GAMEID=0, because, as I understand it, GAMEID=0 or GAMEID=umu-default will simply do nothing (not apply any fixes).

But still, ~/Games/umu/umu-default is created, even though I have specified the WINEPREFIX.

~/.steam/root/compatibilitytools.d/UMU-Proton-9.0-3.2 is also being created, even though I have never launched umu-run without PROTONPATH=GE-Proton.

In fact, I have uninstalled UMU, deleted its related folders (~/.cache/umu, ~/.local/share/umu and the Proton in compatibilitytools.d) and it still got created after reinstalling and using it as a fresh installation. I've noticed this behavior after version 1.2.2, but I cannot tell you exactly what is causing this to happen.

For one of the non-Steam apps that I use, it is an executable that opens another executable, so I believe umu-run is not carrying the desired Proton (and other options) to executables launched after the main one after the main one itself launches another.

This behavior is not consistent/exactly reproducible, but I believe the cause is what I said in the previous paragraph.

Thanks.

@R1kaB3rN R1kaB3rN self-assigned this Feb 18, 2025
@R1kaB3rN R1kaB3rN added the question Further information is requested label Feb 18, 2025
@R1kaB3rN
Copy link
Member

R1kaB3rN commented Feb 18, 2025

In umu-launcher v1.2.5, the program will only create the WINEPREFIX at $HOME/Games/umu when the environment variable isn't set by the client. For more details on the logic and where it begins, see

if not os.environ.get("GAMEID"):

Steps to reproduce:

  1. Install distrobox
  2. distrobox create -i debian:trixie
  3. distrobox enter debian-trixie
  4. cd $HOME
  5. sudo dpkg --add-architecture i386
  6. curl -LJO 'https://github.com/Open-Wine-Components/umu-launcher/releases/download/1.2.5/python3-umu-launcher_1.2.5-1_amd64_debian-13.deb'
  7. sudo apt install python3-xxhash python3-cbor2 libzstd1
  8. sudo apt install ./python3-umu-launcher_1.2.5-1_amd64_debian-13.deb
  9. umu-run -h
  10. WINEPREFIX=$HOME/Games/umu/umu-0 PROTONPATH=GE-Proton umu-run ""
  11. stat $HOME/Games/umu/umu-default

Terminal output:

📦[foo@debian-trixie foo]> sudo apt install ./python3-umu-launcher_1.2.5-1_amd64_debian-13.deb 
Note, selecting 'python3-umu-launcher' instead of './python3-umu-launcher_1.2.5-1_amd64_debian-13.deb'
Installing:
  python3-umu-launcher

Summary:
  Upgrading: 0, Installing: 1, Removing: 0, Not Upgrading: 12
  Download size: 0 B / 805 kB
  Space needed: 3,506 kB / 8,788 MB available

Get:1 /home/foo/python3-umu-launcher_1.2.5-1_amd64_debian-13.deb python3-umu-launcher amd64 1.2.5-1 [805 kB]
Selecting previously unselected package python3-umu-launcher.
(Reading database ... 22045 files and directories currently installed.)
Preparing to unpack .../python3-umu-launcher_1.2.5-1_amd64_debian-13.deb ...
Unpacking python3-umu-launcher (1.2.5-1) ...
Setting up python3-umu-launcher (1.2.5-1) ...
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to system scope bus via local transport: Host is down
Processing triggers for man-db (2.13.0-1) ...
mount: /etc/localtime: special device /usr/share/zoneinfo/US/Pacific does not exist.
       dmesg(1) may have more information after failed mount system call.
Notice: Download is performed unsandboxed as root as file '/home/foo/python3-umu-launcher_1.2.5-1_amd64_debian-13.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
📦[foo@debian-trixie foo]> which umu-run
/usr/bin/umu-run
📦[foo@debian-trixie foo]> umu-run -v
umu-launcher version 1.2.5 (3.13.2 (main, Feb  5 2025, 01:23:35) [GCC 14.2.0])
📦[foo@debian-trixie foo]> ls Games/umu/
📦[foo@debian-trixie foo]> stat Games/umu/umu-0
stat: cannot statx 'Games/umu/umu-0': No such file or directory
📦[foo@debian-trixie foo]> WINEPREFIX=$HOME/Games/umu/umu-0 PROTONPATH=GE-Proton umu-run ""
INFO: umu-launcher version 1.2.5 (3.13.2 (main, Feb  5 2025, 01:23:35) [GCC 14.2.0])
INFO: No GAMEID set, using umu-default
INFO: GE-Proton is up to date
INFO: steamrt3 is up to date
Proton: Upgrading prefix from None to GE-Proton9-25 (/home/foo/Games/umu/umu-0/)
ProtonFixes[9742] INFO: Running protonfixes
ProtonFixes[9742] INFO: Running checks
ProtonFixes[9742] INFO: All checks successful
ProtonFixes[9742] WARN: Game title not found in CSV
ProtonFixes[9742] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[9742] INFO: No store specified, using UMU database
ProtonFixes[9742] INFO: Using global defaults for UNKNOWN (umu-default)
ProtonFixes[9742] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[9742] INFO: No store specified, using UMU database
ProtonFixes[9742] INFO: No global protonfix found for UNKNOWN (umu-default)
Proton: 
Proton: Executable is inside wine prefix, launching normally.
fsync: up and running.
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: File not found.

Command exited with status: 1
📦[foo@debian-trixie foo]> stat Games/umu/umu-default
stat: cannot statx 'Games/umu/umu-default': No such file or directory
📦[foo@debian-trixie foo]> PROTONPATH=GE-Proton umu-run ""
INFO: umu-launcher version 1.2.5 (3.13.2 (main, Feb  5 2025, 01:23:35) [GCC 14.2.0])
INFO: No GAMEID set, using umu-default
INFO: GE-Proton is up to date
INFO: steamrt3 is up to date
Proton: Upgrading prefix from None to GE-Proton9-25 (/home/foo/Games/umu/umu-default/)
ProtonFixes[10501] INFO: Running protonfixes
ProtonFixes[10501] INFO: Running checks
ProtonFixes[10501] INFO: All checks successful
ProtonFixes[10501] WARN: Game title not found in CSV
ProtonFixes[10501] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[10501] INFO: No store specified, using UMU database
ProtonFixes[10501] INFO: Using global defaults for UNKNOWN (umu-default)
ProtonFixes[10501] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[10501] INFO: No store specified, using UMU database
ProtonFixes[10501] INFO: No global protonfix found for UNKNOWN (umu-default)
Proton: 
Proton: Executable is inside wine prefix, launching normally.
fsync: up and running.
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: File not found.

Command exited with status: 1
📦[foo@debian-trixie foo]> ls Games/umu/
umu-0  umu-default

Note, that in the above terminal output, 'umu-default' is only created when PROTONPATH is the only environment variable is set. Moreover, the directory creation is deterministic and happens only in 1 place. Besides simply executing umu-run followed by an executable as defined in the README, PROTONPATH being set is another case where 'umu-default' is created implicitly, I suspect the cause for the misunderstanding is that you're running the program in either of those two cases.

@R1kaB3rN R1kaB3rN added invalid This doesn't seem right can't reproduce labels Feb 18, 2025
@Tiagoquix
Copy link
Contributor Author

Tiagoquix commented Feb 18, 2025

Thanks for the clarifications.

As I understand it, GAMEID should only be relevant when the user wants to apply fixes.

If I specify WINEPREFIX without specifying GAMEID, it should mean that "I want my files in this prefix folder here and without any game fixes applied". The check should be extended to include WINEPREFIX as well, because it doesn't make sense to create the umu-default WINEPREFIX when I already pointed out that I want a specific folder for that prefix.

GAMEID, by default, should preferably do nothing, like it was with GAMEID=0.
GAMEID is totally irrelevant if WINEPREFIX is set and the user does not want any automatic fixes.
I believe that it was set to umu-default when unset to avoid mistakes for newbies.

@R1kaB3rN
Copy link
Member

R1kaB3rN commented Feb 18, 2025

If I'm understanding correctly, ~/Games/umu/umu-default being created unexpectedly is not a problem but you're suggesting that GAMEID shouldn't be set automatically to 'umu-default' or at all in all of the usages where it's absent because you believe it doesn't make sense? cc @GloriousEggroll for thoughts on this change.

Because no fixes from the protonfixes module will be applied in all cases when it's absent if that's your concern. While the module will continue to execute, there's currently no file umu-default.py so having it set shouldn't be a problem. As an enhancement though, we could set PROTONFIXES_DISABLE=1 to skip some of the module's execution and to guarantee that no fixes will be applied to the prefix at all.

@GloriousEggroll
Copy link
Member

GloriousEggroll commented Feb 18, 2025

GAMEID has to be set to SOME value to satisfy all of the checks throughout both UMU and GE/UMU-Proton. There is no getting around that.

I agree ~/Games/umu/umu-default should not be created if a WINEPREFIX is already defined, but as for GAMEID it MUST have some value. It is not beneficial to our time to go modify every single check for GAMEID we have when it's already doing nothing with a default value that doesnt exist in the database.

@Tiagoquix
Copy link
Contributor Author

Tiagoquix commented Feb 18, 2025

I'm not against GAMEID being set to some value by default. That's not a problem. My main concern is ~/Games/umu/umu-default being created when GAMEID is unset, but WINEPREFIX is set.

That is what I meant to say since from the beginning, and this is my bug report. It is creating a WINE Prefix that serves no purpose.

Regarding compatibilitytools.d, what could be done about it? Suppose we follow this direction of "not creating ~/Games/umu/umu-default when GAMEID is unset, but WINEPREFIX is set", does UMU-Proton stop existing as well in compatibilitytools.d?

@R1kaB3rN
Copy link
Member

This isn’t an issue at all that can be reproduced in v1.2.5. If you read my post, that was what I demonstrated.


📦[foo@debian-trixie foo]> WINEPREFIX=$HOME/Games/umu/umu-0 PROTONPATH=GE-Proton umu-run ""
INFO: umu-launcher version 1.2.5 (3.13.2 (main, Feb  5 2025, 01:23:35) [GCC 14.2.0])
INFO: No GAMEID set, using umu-default
INFO: GE-Proton is up to date
INFO: steamrt3 is up to date
Proton: Upgrading prefix from None to GE-Proton9-25 (/home/foo/Games/umu/umu-0/)
ProtonFixes[9742] INFO: Running protonfixes
ProtonFixes[9742] INFO: Running checks
ProtonFixes[9742] INFO: All checks successful
ProtonFixes[9742] WARN: Game title not found in CSV
ProtonFixes[9742] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[9742] INFO: No store specified, using UMU database
ProtonFixes[9742] INFO: Using global defaults for UNKNOWN (umu-default)
ProtonFixes[9742] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[9742] INFO: No store specified, using UMU database
ProtonFixes[9742] INFO: No global protonfix found for UNKNOWN (umu-default)
Proton: 
Proton: Executable is inside wine prefix, launching normally.
fsync: up and running.
Application could not be started, or no application associated with the specified file.
ShellExecuteEx failed: File not found.

Command exited with status: 1
📦[foo@debian-trixie foo]> stat Games/umu/umu-default
stat: cannot statx 'Games/umu/umu-default': No such file or directory

As for Proton and Steam’s compatibilitytools.d directory, I’m not following your point and it doesn’t hold as ‘umu-default’ isn’t created.

@GloriousEggroll
Copy link
Member

GloriousEggroll commented Feb 18, 2025

Just confirming I also cannot reproduce this issue. umu-default does not get created if WINEPREFIX is set:

tcrider@franky:~$ ls ~/Games/umu/
umu-207350  umu-bns  umu-ea  umu-egs

tcrider@franky:~$ WINEPREFIX=~/Games/testing PROTONPATH=GE-Proton umu-run winecfg
INFO: umu-launcher version 1.2.5 (3.13.2 (main, Feb  4 2025, 00:00:00) [GCC 14.2.1 20250110 (Red Hat 14.2.1-7)])
INFO: No GAMEID set, using umu-default
INFO: steamrt3 is up to date
INFO: GE-Proton is up to date
WARNING: Executable not found: winecfg
Proton: Upgrading prefix from None to GE-Proton9-25 (/home/tcrider/Games/testing/)
ProtonFixes[1056432] INFO: Running protonfixes
ProtonFixes[1056432] INFO: Running checks
ProtonFixes[1056432] INFO: All checks successful
ProtonFixes[1056432] WARN: Game title not found in CSV
ProtonFixes[1056432] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[1056432] INFO: No store specified, using UMU database
ProtonFixes[1056432] INFO: Using global defaults for UNKNOWN (umu-default)
ProtonFixes[1056432] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[1056432] INFO: No store specified, using UMU database
ProtonFixes[1056432] INFO: No global protonfix found for UNKNOWN (umu-default)
Proton: winecfg
Proton: Executable is inside wine prefix, launching normally.
fsync: up and running.
Command exited with status: 0

tcrider@franky:~$ ls ~/Games/umu/
umu-207350  umu-bns  umu-ea  umu-egs

tcrider@franky:~$ WINEPREFIX=~/Games/testing umu-run winecfg
INFO: umu-launcher version 1.2.5 (3.13.2 (main, Feb  4 2025, 00:00:00) [GCC 14.2.1 20250110 (Red Hat 14.2.1-7)])
INFO: No GAMEID set, using umu-default
INFO: steamrt3 is up to date
INFO: UMU-Proton is up to date
WARNING: Executable not found: winecfg
Proton: Upgrading prefix from GE-Proton9-25 to UMU-Proton-9.0-3.2 (/home/tcrider/Games/testing/)
Proton: Prefix has an invalid version?! You may want to back up user files and delete this prefix.
ProtonFixes[1056720] INFO: Running protonfixes
ProtonFixes[1056720] INFO: Running checks
ProtonFixes[1056720] INFO: All checks successful
ProtonFixes[1056720] WARN: Game title not found in CSV
ProtonFixes[1056720] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[1056720] INFO: No store specified, using UMU database
ProtonFixes[1056720] INFO: Using global defaults for UNKNOWN (umu-default)
ProtonFixes[1056720] INFO: Non-steam game UNKNOWN (umu-default)
ProtonFixes[1056720] INFO: No store specified, using UMU database
ProtonFixes[1056720] INFO: No global protonfix found for UNKNOWN (umu-default)
Proton: winecfg
Proton: Executable is inside wine prefix, launching normally.
wine: using kernel write watches, use_kernel_writewatch 1.
fsync: up and running.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: configuration in L"V:\\Games\\testing\\pfx" has been updated.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
wine: using kernel write watches, use_kernel_writewatch 1.
Command exited with status: 0

tcrider@franky:~$ ls ~/Games/umu/
umu-207350  umu-bns  umu-ea  umu-egs

@recreators01
Copy link

Hi, using Steam might cause this issue. When launching Steam from the terminal, you can see that UMU is also started. The command is /usr/bin/python3 /usr/bin/umu-run run /home/Fia/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe and /usr/bin/python3 /usr/bin/umu-run run /home/Fia/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe -d3d12 . Is this expected behavior? What is its purpose?

MECHREV% steam
steam.sh[3004]: Running Steam on arch rolling 64-bit
steam.sh[3004]: STEAM_RUNTIME is enabled automatically
setup.sh[3059]: Steam runtime environment up-to-date!
steam.sh[3004]: Log already open
steam.sh[3004]: Using supervisor /home/Fia/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-supervisor
steam.sh[3004]: Steam client's requirements are satisfied
CProcessEnvironmentManager is ready, 6 preallocated environment variables.
[2025-02-25 10:38:09] Startup - updater built Jan 28 2025 00:50:36
[2025-02-25 10:38:09] Startup - Steam Client launched with: '/home/Fia/.local/share/Steam/ubuntu12_32/steam' '-srt-logger-opened'
02/25 10:38:09 minidumps folder is set to /tmp/dumps
02/25 10:38:09 Init: Installing breakpad exception handler for appid(steam)/version(1738026274)/tid(3116)
[2025-02-25 10:38:10] Loading cached metrics from disk (/home/Fia/.local/share/Steam/package/steam_client_metrics.bin)
[2025-02-25 10:38:10] Using the following download hosts for Public, Realm steamglobal
[2025-02-25 10:38:10] 1. https://client-update.queniuqe.com, /, Realm 'steamglobal', weight was 100000, source = 'update_hosts_cached.vdf'
[2025-02-25 10:38:10] 2. https://media.st.dl.eccdnx.com, /client/, Realm 'steamglobal', weight was 100000, source = 'update_hosts_cached.vdf'
[2025-02-25 10:38:10] 3. https://client-update.fastly.steamstatic.com, /, Realm 'steamglobal', weight was 900, source = 'update_hosts_cached.vdf'
[2025-02-25 10:38:10] 4. https://client-update.akamai.steamstatic.com, /, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2025-02-25 10:38:10] 5. https://client-update.steamstatic.com, /, Realm 'steamglobal', weight was 1, source = 'baked in'
[2025-02-25 10:38:10] 正在验证安装...
[2025-02-25 10:38:10] Verification complete
UpdateUI: skip show logo
Steam logging initialized: directory: /home/Fia/.local/share/Steam/logs

XRRGetOutputInfo Workaround: initialized with override: 0 real: 0xdab15370
XRRGetCrtcInfo Workaround: initialized with override: 0 real: 0xdab13cc0
steamwebhelper.sh[3137]: Using supervisor /home/Fia/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/bin/steam-runtime-supervisor
Fontconfig warning: line 5: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-hinting-slight.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 4: unknown element "description"
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 80: saw unknown, expected number
Fontconfig warning: "/etc/fonts/conf.d/10-sub-pixel-rgb.conf", line 4: unknown element "description"steamwebhelper.sh[3137]: Starting steamwebhelper under bootstrap sniper steam runtime via /home/Fia/.local/share/Steam/ubuntu12_64/steam-runtime-sniper.sh

Fontconfig warning: "/etc/fonts/conf.d/10-yes-antialias.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/11-lcdfilter-default.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/20-unhint-small-vera.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/30-metric-aliases.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/40-nonlatin.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/45-generic.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/45-latin.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/48-spacing.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/49-sansserif.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/50-user.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/51-local.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/60-generic.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/60-latin.conf", line 4: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/65-nonlatin.conf", line 4: unknown element "description"
steamwebhelper.sh[3137]: CEF sandbox already disabled
steamwebhelper.sh[3137]: Starting steamwebhelper with Sniper steam runtime at /home/Fia/.local/share/Steam/ubuntu12_64/steam-runtime-sniper/_v2-entry-point
Steam Runtime Launch Service: starting steam-runtime-launcher-service
Steam Runtime Launch Service: steam-runtime-launcher-service is running pid 3237
bus_name=com.steampowered.PressureVessel.LaunchAlongsideSteam
exec ./steamwebhelper -nocrashdialog -lang=zh_CN -cachedir=/home/Fia/.local/share/Steam/config/htmlcache -steampid=3116 -buildid=1738026274 -steamid=0 -logdir=/home/Fia/.local/share/Steam/logs -uimode=4 -startcount=0 -steamuniverse=Public -realm=Global -clientui=/home/Fia/.local/share/Steam/clientui -steampath=/home/Fia/.local/share/Steam/ubuntu12_32/steam -launcher=0 -use_xcomposite_workaround -no-restart-on-ui-mode-change --valve-initial-threadpool-size=4 --valve-enable-site-isolation --enable-smooth-scrolling --no-sandbox --password-store=basic --log-file=/home/Fia/.local/share/Steam/logs/cef_log.txt --disable-quick-menu --enable-features=PlatformHEVCDecoderSupport --disable-features=SpareRendererForSitePerProcess,DcheckIsFatal,ValveFFmpegAllowLowDelayHEVC
Desktop state changed: desktop: { pos:    0,   0 size: 2560,1440 } primary: { pos:    0,   0 size: 2560,1440 }
Caching cursor image for , size 24x24, serial 2, cache size = 0
fsync: up and running.
Fossilize INFO: Overriding serialization path: "/home/Fia/.local/share/Steam/shader_cache_temp_dir_d3d11_64/fozpipelinesv6/steamapprun_pipeline_cache".
fsync: up and running.
Fossilize INFO: Overriding serialization path: "/home/Fia/.local/share/Steam/shader_cache_temp_dir_d3d12_64/fozpipelinesv6/steamapprun_pipeline_cache".
INFO: umu-launcher version 1.2.5 (3.13.2 (main, Feb  5 2025, 08:05:21) [GCC 14.2.1 20250128])
INFO: No GAMEID set, using umu-default
INFO: steamrt3 is up to date
INFO: Downloading UMU-Proton-9.0-3.2.sha512sum...
INFO: Downloading UMU-Proton-9.0-3.2.tar.gz...
INFO: umu-launcher version 1.2.5 (3.13.2 (main, Feb  5 2025, 08:05:21) [GCC 14.2.1 20250128])
INFO: No GAMEID set, using umu-default
INFO: steamrt3 is up to date
reaping pid: 3876 -- sh

@Tiagoquix
Copy link
Contributor Author

That would explain why the folder was there. Something between version 1.2.3 and 1.2.5 changed and made that folder appear to me, when previously it never was there.

@R1kaB3rN R1kaB3rN reopened this Feb 25, 2025
@R1kaB3rN R1kaB3rN removed invalid This doesn't seem right can't reproduce labels Feb 25, 2025
@R1kaB3rN
Copy link
Member

Thanks for the report. Yes, that is not expected behavior and I would be curious to know if the umu-launcher compatibility tool stored in compatibilitytools.d is the cause. By removing it, does this issue still occur?

@R1kaB3rN
Copy link
Member

I’ll have to verify this later. But functionally, the biggest change that occurred between 1.2.3 to 1.2.5 was dropping GAMEID as a requirement. Assuming Steam has been invoking umu-run this entire time because of the compatibility tool, that would lead to the creation of umu-default.

@recreators01
Copy link

Thanks for the report. Yes, that is not expected behavior and I would be curious to know if the umu-launcher compatibility tool stored in compatibilitytools.d is the cause. By removing it, does this issue still occur?

I removed it from compatibilitytools.d, and now this issue no longer occurs.

@KarlitosVII
Copy link

KarlitosVII commented Feb 25, 2025

Hello, same issue here. The default umu prefix is created each time I launch steam, even without starting a game. For now I have to set a WINEPREFIX env for each steam game in lutris and in steam-native.desktop to avoid this behavior.

@R1kaB3rN
Copy link
Member

Hello, same issue here. The default umu prefix is created each time I launch steam, even without starting a game. For now I have to set a WINEPREFIX env for each steam game in lutris and in steam-native.desktop to avoid this behavior.

No need. Simply remove the umu-launcher directory in compatibilitytools.d

@R1kaB3rN R1kaB3rN removed the question Further information is requested label Feb 25, 2025
@R1kaB3rN R1kaB3rN changed the title UMU creates "~/Games/umu/umu-default" even when "WINEPREFIX" is set Steam invokes UMU on launch, creating "~/Games/umu/umu-default" Feb 25, 2025
@KarlitosVII
Copy link

Yeah I tried, and it worked. But after some times UMU-Proton-9.0-3.2 is reinstalled in compatibilitytools.d. I don't know if it because of umu or something else ? I'm on CachyOS btw.

@Tiagoquix
Copy link
Contributor Author

UMU-Proton was being installed for me in compatibilitytools.d even when I specified GE-Proton as the Proton to use for UMU-Launcher.

If UMU is being started with Steam as another user pointed out, then it probably means that UMU is being launched without taking any arguments, therefore downloading the UMU-Proton by default.

@R1kaB3rN
Copy link
Member

R1kaB3rN commented Feb 26, 2025

Yeah I tried, and it worked. But after some times UMU-Proton-9.0-3.2 is reinstalled in compatibilitytools.d. I don't know if it because of umu or something else ? I'm on CachyOS btw.

CachyOS is Arch-based, which presumably uses the upstream umu-launcher package. The upstream package provides the compatibilitytool as a system package installed in /usr/share/steam/compatibilitytools.d/umu-launcher. This is due to the umu-launcher target being a default target in the Makefile. Same with Fedora or just any distribution that's using our install targets. If you delete that folder as well, then I expect this to no longer be an issue.

If you're familiar with building packages on Arch, then you can use this example PKGBUILD in an Arch chroot:

pkgname=umu-launcher
pkgver=1.2.5
pkgrel=1
pkgdesc="This is the Unified Launcher for Windows Games on Linux, to run Proton with fixes outside of Steam"
arch=('x86_64')
url="https://github.com/Open-Wine-Components/umu-launcher"
license=('GPL-3.0-only')
depends=(
  python
  python-xlib
  python-xxhash
  python-pyzstd
  python-cbor2
  python-urllib3
)
makedepends=(
  cargo
  git
  scdoc
  python-build
  python-installer
  python-hatchling
)
optdepends=(
  'python-truststore: Verify certificates using OS trust stores'
)
source=("git+https://github.com/Open-Wine-Components/umu-launcher.git#tag=$pkgver")
sha256sums=('8dfdb000c9306956b1aab834ba15d6ca95c04f69787ba927afaac68d9b7ce6b5')

prepare() {
  cd "$srcdir"/umu-launcher
  export RUSTUP_TOOLCHAIN=stable
  export CARGO_HOME="${srcdir}"/umu-cargo
  cargo update
  cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
}

build() {
  cd "$srcdir"/umu-launcher
  export RUSTUP_TOOLCHAIN=stable
  export CARGO_HOME="${srcdir}"/umu-cargo
  ./configure.sh --prefix=/usr --use-system-pyzstd --use-system-urllib
  make umu-dist
  make umu-docs
  make umu-delta
}

package() {
  cd "$srcdir"/umu-launcher
  make DESTDIR="$pkgdir" umu-dist-install
  make DESTDIR="$pkgdir" umu-delta-install
  make DESTDIR="$pkgdir" umu-docs-install
}

Or apply the same changes to the umu-launcher-git PKGBUILD file.

@R1kaB3rN
Copy link
Member

R1kaB3rN commented Feb 26, 2025

I looked into this issue a bit more and the problem appears to be more than just the umu-launcher compatibility tool. In fact, as long as you have any Proton in Steam's compatibilitytools.d with a compatibilitytool.vdf file and where it's require_tool_appid key is 1628350, then the Steam client will use a Proton there and launch two executables:

  • $HOME/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe
  • $HOME/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe -d3d12

These commands will run within the prefix at $HOME/.local/share/Steam/steamapps/compatdata/0. I haven't looked further on why Steam does this, but this must be a bug.

@R1kaB3rN
Copy link
Member

Linking relevant upstream issue: ValveSoftware/steam-for-linux#11435

@KarlitosVII
Copy link

Yeah I tried, and it worked. But after some times UMU-Proton-9.0-3.2 is reinstalled in compatibilitytools.d. I don't know if it because of umu or something else ? I'm on CachyOS btw.

CachyOS is Arch-based, which presumably uses the upstream umu-launcher package. The upstream package provides the compatibilitytool as a system package installed in /usr/share/steam/compatibilitytools.d/umu-launcher. This is due to the umu-launcher target being a default target in the Makefile. Same with Fedora or just any distribution that's using our install targets. If you delete that folder as well, then I expect this to no longer be an issue.
[...]

It worked. Thank you.

@R1kaB3rN R1kaB3rN marked this as a duplicate of #407 Mar 4, 2025
R1kaB3rN added a commit that referenced this issue Mar 5, 2025
@R1kaB3rN R1kaB3rN pinned this issue Mar 5, 2025
@R1kaB3rN R1kaB3rN linked a pull request Mar 5, 2025 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants