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

UMU installs games in temp filesystem when "Run installer first" is used #4205

Open
jollycar opened this issue Dec 25, 2024 · 2 comments
Open
Labels
bug:unconfirmed Someone works on identifying the issue

Comments

@jollycar
Copy link

Describe the bug

When using UMU as the Proton runtime in Heroic, selecting "Run installer first" for non-Steam games results in the game being installed in a temporary filesystem (~/.local/share/umu/var/tmp-DG8FZ2/). This causes the game files to disappear after the first launch (launching from the installer by checking "Launch game after install"), making it impossible to select the game executable from the Heroic interface.

Workaround:

  1. Uncheck "Use UMU as Proton runtime" in advanced settings.
  2. Add the game (using Proton-GE) and choose "Run installer first".
  3. Install the game (it will now install on the normal filesystem).
  4. Find and choose the game executable in Heroic.
  5. Re-enable "Use UMU as Proton runtime".
  6. Launch the game (verified UMU usage with ps aux | grep umu).

Add logs

(14:47:44) INFO:    [Legendary]:        Legendary location: /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/legendary
(14:47:44) INFO:    [Gog]:              GOGDL location: /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/gogdl
(14:47:44) INFO:    [Connection]:       Connectivity: check-online
(14:47:44) INFO:    [Connection]:       Pinging external endpoints
(14:47:44) INFO:    [Gog]:              Checking for existing gog manifests
(14:47:44) WARNING: [Backend]:          Failed to register protocol with OS.
(14:47:44) INFO:    [Connection]:       Connectivity: online
(14:47:44) INFO:    [Backend]:          User Not Found, removing it from Store
(14:47:44) ERROR:   [Gog]:              Unable to syncQueued playtime, userData not present
(14:47:44) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/username/.config/heroic/gogdlConfig /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/username/.config/heroic/gog_store/auth.json auth
(14:47:44) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/username/.config/heroic/legendaryConfig/legendary /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/legendary --version
(14:47:44) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/username/.config/heroic/gogdlConfig /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/username/.config/heroic/gog_store/auth.json --version
(14:47:44) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/username/.config/heroic/nile_config /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/nile --version
(14:47:44) INFO:    [Backend]:          AreWeAntiCheatYet data downloaded
(14:47:44) INFO:    [Backend]:          Frontend Ready
(14:47:44) INFO:    [Backend]:          Checking for new Heroic Updates
(14:47:44) INFO:    [Backend]:          
System Information:
CPU: 24x AMD Ryzen 9 5900X 12-Core Processor
Memory: 67.34 GB (used: 8.38 GB)
GPUs:
  GPU 0:
    Name: NVIDIA Corporation GA102 [GeForce RTX 3090]
    IDs: D=2204 V=10de SD=4041 SV=1458
    Driver: nvidia
OS: Manjaro Linux 6.11.11-1-MANJARO (linux)

The current system is not a Steam Deck
We are not running inside a Flatpak container

Software Versions:
  Heroic: 2.15.2 Emeth
  Legendary: 0.20.36 Urban Flight (Heroic)
  gogdl: 1.1.2
  comet: comet 0.1.2

  Nile: 1.1.2 Will A. Zeppeli

(14:47:44) INFO:    [Backend]:          Checking for current version changelog
(14:47:44) INFO:    [Frontend]:         Updated to a new version, cleaaning up the cache.
(14:47:44) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/username/.config/heroic/legendaryConfig/legendary /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/legendary cleanup
(14:47:44) INFO:    [Frontend]:         Refreshing undefined Library
(14:47:44) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(14:47:44) INFO:    [Legendary]:        Refreshing library...
(14:47:46) DEBUG:   [Backend]:          Unable to load Steam Libraries, libraryfolders.vdf not found
(14:47:46) INFO:    [Winetricks]:       Downloading Winetricks
(14:47:47) INFO:    [DXVKInstaller]:    Updating vkd3d to: vkd3d-proton-2.14
(14:47:47) INFO:    [DXVKInstaller]:    Updating dxvk to: dxvk-2.5.2
(14:47:47) INFO:    [DXVKInstaller]:    Updating dxvk-nvapi to: dxvk-nvapi-v0.8.0
(14:47:48) INFO:    [DownloadManager]:  Downloader: Finished downloading https://github.com/Heroic-Games-Launcher/vkd3d-proton/releases/download/v2.14/vkd3d-proton-2.14.tar.xz
(14:47:48) INFO:    [DXVKInstaller]:    Downloaded vkd3d, extracting...
(14:47:48) INFO:    [DownloadManager]:  Downloader: Finished downloading https://github.com/jp7677/dxvk-nvapi/releases/download/v0.8.0/dxvk-nvapi-v0.8.0.tar.gz
(14:47:48) INFO:    [DXVKInstaller]:    Downloaded dxvk-nvapi, extracting...
(14:47:48) INFO:    [DXVKInstaller]:    vkd3d updated!
(14:47:48) INFO:    [DXVKInstaller]:    dxvk-nvapi updated!
(14:47:48) INFO:    [DownloadManager]:  Downloader: Finished downloading https://github.com/doitsujin/dxvk/releases/download/v2.5.2/dxvk-2.5.2.tar.gz
(14:47:48) INFO:    [DXVKInstaller]:    Downloaded dxvk, extracting...
(14:47:49) INFO:    [DXVKInstaller]:    dxvk updated!
(14:47:49) INFO:    [WineDownloader]:   Updating wine versions info
(14:47:49) INFO:    [WineDownloader]:   Fetching upstream information...
(14:47:49) INFO:    [WineDownloader]:   wine versions updated
(14:47:49) INFO:    [Backend]:          Starting the Download Queue
(14:48:23) INFO:    [Backend]:          Heroic: Setting defaultWinePrefix to "/data/games/prefixes" (previous value: "/home/username/Games/Heroic/Prefixes/default")
(14:48:40) INFO:    [Backend]:          Heroic: Setting defaultInstallPath to "/data/games" (previous value: "/home/username/Games/Heroic")
(14:48:40) INFO:    [Backend]:          Heroic: Setting checkForUpdatesOnStartup to false (previous value: true)
(14:48:52) DEBUG:   [Backend]:          Unable to load Steam Libraries, libraryfolders.vdf not found
(14:49:01) INFO:    [Backend]:          Heroic: Setting winePrefix to "/data/games/prefixes" (previous value: "/home/username/Games/Heroic/Prefixes/default")
(14:49:07) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=/home/username/.config/heroic/legendaryConfig/legendary /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/legendary --version
(14:49:07) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=/home/username/.config/heroic/gogdlConfig /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/username/.config/heroic/gog_store/auth.json --version
(14:49:07) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=/home/username/.config/heroic/nile_config /usr/lib/heroic/app.asar.unpacked/build/bin/x64/linux/nile --version
(14:49:12) INFO:    [Backend]:          Heroic: Setting experimentalFeatures to {"enableNewDesign":false,"enableHelp":false,"automaticWinetricksFixes":true,"cometSupport":true,"umuSupport":true} (previous value: undefined)
(14:49:36) INFO:    [WineDownloader]:   Start installation of wine version Proton-GE-Proton9-21
(14:49:38) INFO:    [Backend]:          Downloaded: 14.03 MB / 465.13 MB  @12.05 MB/s (3.02%)
(14:49:39) INFO:    [Backend]:          Downloaded: 71.51 MB / 465.13 MB  @52.85 MB/s (15.37%)
(14:49:41) INFO:    [Backend]:          Downloaded: 148.91 MB / 465.13 MB  @39.41 MB/s (32.01%)
(14:49:43) INFO:    [Backend]:          Downloaded: 186.72 MB / 465.13 MB  @40.02 MB/s (40.14%)
(14:49:44) INFO:    [Backend]:          Downloaded: 224.44 MB / 465.13 MB  @31.3 MB/s (48.25%)
(14:49:45) INFO:    [Backend]:          Downloaded: 264.45 MB / 465.13 MB  @31.26 MB/s (56.86%)
(14:49:47) INFO:    [Backend]:          Downloaded: 307.41 MB / 465.13 MB  @31.12 MB/s (66.09%)
(14:49:48) INFO:    [Backend]:          Downloaded: 349.25 MB / 465.13 MB  @28.73 MB/s (75.09%)
(14:49:50) INFO:    [Backend]:          Downloaded: 405.75 MB / 465.13 MB  @32.52 MB/s (87.23%)
(14:49:51) INFO:    [Backend]:          Downloaded: 458.19 MB / 465.13 MB  @40.51 MB/s (98.51%)
(14:49:52) INFO:    [DownloadManager]:  Downloader: Finished downloading https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-21/GE-Proton9-21.tar.gz
(14:49:59) INFO:    [WineDownloader]:   Finished installation of wine version Proton-GE-Proton9-21
(14:50:24) DEBUG:   [Backend]:          Unable to load Steam Libraries, libraryfolders.vdf not found
(14:51:03) INFO:    [Backend]:          Writing config for 4ZNM7JpH3kcoKqduYBK5KW
(14:51:03) INFO:    [Backend]:          Changed config: wineVersion from {"bin":"/usr/bin/wine","name":"Wine Default - wine-9.22","type":"wine","wineserver":"/usr/bin/wineserver"} to {"bin":"/home/username/.config/heroic/tools/proton/Proton-GE-Proton9-21/proton","name":"Proton - Proton-GE-Proton9-21","type":"proton"}
(14:51:03) INFO:    [Backend]:          Changed config: winePrefix from /data/games/prefixes to /data/games/prefixes/trackmania_turbo
(14:51:03) WARNING: [Backend]:          Required prefix files are missing, running `verifyWinePrefix` to create prefix
(14:51:03) INFO:    [Backend]:          Checking if wine version exists: Proton - Proton-GE-Proton9-21
(14:51:03) INFO:    [Backend]:          Checking if wine version exists: Proton - Proton-GE-Proton9-21
(14:51:03) DEBUG:   [Backend]:          Running Wine command: createprefix
(14:51:27) INFO:    [Backend]:          Checking if wine version exists: Proton - Proton-GE-Proton9-21
(14:51:27) DEBUG:   [Backend]:          Running Wine command: /home/username/Desktop/Trackmania Turbo/setup.exe

Steps to reproduce

  1. Enable "Use UMU as Proton runtime" in Heroic's advanced settings.
  2. Add a new game using Proton-GE.
  3. Choose "Run installer first" for a game that's not from Steam (e.g., a folder with setup.exe).
  4. Complete the installation process.
  5. If "Launch game" is checked in the installer, the game runs once.
  6. Close the game.
  7. Attempt to find and select the game executable in Heroic.

Expected behavior

The game should install in the user-specified location on the normal filesystem, and the game executable should be selectable in Heroic after installation.

Screenshots

No response

Heroic Version

Latest Stable

System Information

OS: Manjaro (fresh install)
UMU-run version: 1.1.4-1
Heroic version: 2.15.2 hotfix#2
No steam installed

Additional information

This issue specifically affects games that are not launched through Steam and require an initial setup process. It appears to be related to how UMU handles the installation process when used as a Proton runtime.

@jollycar jollycar added the bug:unconfirmed Someone works on identifying the issue label Dec 25, 2024
@arielj
Copy link
Collaborator

arielj commented Dec 26, 2024

I cannot reproduce this, when I run the exe with Run installer first, it created the prefix for the thing I was installing and installed it inside there.

I see in your logs that it says Required prefix files are missing, running 'verifyWinePrefix' to create prefix so it is trying to create the prefix. It this /data/games/prefixes/trackmania_turbo not created at all? have you tried picking a different location in case it's some kind of permissions issue?

@jollycar
Copy link
Author

When i add the game, i don't have the wine prefix beforehand. I let Heroic/wine create it in /data/games/prefixes/game_name. The wine prefix itself looks good to me. During install (the setup.exe), I choose the location of /data/games/game_name. This is strange: during the install (inside setup.exe) I choose /data/games/game_name (via dosdevices Z:/) but the installer thinks /data/games is empty, apart from /data/games/prefixes. I have many games installed there (/data/games). So at that point it seems /data/games is a location inside the tempfs. I definitely have the correct permissions there (/data). I have not yet tried a different location. I will try it with the next game i want to install

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug:unconfirmed Someone works on identifying the issue
Projects
None yet
Development

No branches or pull requests

2 participants