Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
8.23k stars 429 forks source link

[Linux] Steam Runtime setting not updating #1365

Closed termdisc closed 2 years ago

termdisc commented 2 years ago

Describe the bug

I am using a Steam Deck with Heroic installed via Discover. When I attempt to run a game with the new Steam runtime setting enabled, the game will not load. The game will load if the setting is disabled. Additionally, the next time I open the settings, the checkbox will be checked again even if I did not specifically enable the runtime setting.

Add logs

Steam Runtime enabled:

Launch Command: STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/.steam/steam STEAM_COMPAT_DATA_PATH=/home/deck/Games/Heroic/Prefixes/20XX /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary launch Quail --no-wine --wrapper "/home/deck/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/_v2-entry-point -- '/home/deck/.steam/steam/steamapps/common/Proton 7.0/proton' waitforexitandrun"

System Info:

  Heroic Version: 2.3.3 Brook
  Legendary Version:  0.20.25 Our Benefactors
  OS: Freedesktop.org KERNEL: 5.13.0-valve14-1-neptune-02195-g5b0f749d00fa ARCH: x64
  CPU: AMD Custom APU 0405 @1.97 GOVERNOR: schedutil
  RAM: Total: 14.49 GiB Available: 11.42 GiB
  GRAPHICS: GPU0: Device 163f VRAM: 512MB DRIVER:  
  PROTOCOL: x11

Game Settings: {
    "audioFix": false,
    "autoInstallDxvk": false,
    "autoInstallVkd3d": false,
    "autoSyncSaves": true,
    "enableEsync": false,
    "enableFsync": false,
    "maxSharpness": 2,
    "nvidiaPrime": false,
    "offlineMode": false,
    "otherOptions": "",
    "savesPath": "/home/deck/Games/Heroic/Prefixes/20XX/pfx/drive_c/users/steamuser/Documents/20XX/",
    "showFps": false,
    "showMangohud": false,
    "targetExe": "",
    "useGameMode": false,
    "wineCrossoverBottle": "Heroic",
    "winePrefix": "/home/deck/Games/Heroic/Prefixes/20XX",
    "wineVersion": {
        "bin": "/home/deck/.steam/steam/steamapps/common/Proton 7.0/proton",
        "name": "Proton - Proton 7.0",
        "type": "proton"
    },
    "useSteamRuntime": true
}

Error Log:
[cli] INFO: Logging in...
[Core] INFO: Trying to re-use existing login session...
[cli] INFO: Checking for updates...
[Core] INFO: Getting authentication token...
[cli] INFO: Launching Quail...
pressure-vessel-wrap[810]: W: /dev/shm not shared between app instances (flatpak#4214). The Steam Overlay will not work.
fsync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
Invalid MIT-MAGIC-COOKIE-1 key

Steam runtime disabled:

Launch Command: STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/.steam/steam STEAM_COMPAT_DATA_PATH=/home/deck/Games/Heroic/Prefixes/20XX /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary launch Quail --no-wine --wrapper "'/home/deck/.steam/steam/steamapps/common/Proton 7.0/proton' run"

System Info:

  Heroic Version: 2.3.3 Brook
  Legendary Version:  0.20.25 Our Benefactors
  OS: Freedesktop.org KERNEL: 5.13.0-valve14-1-neptune-02195-g5b0f749d00fa ARCH: x64
  CPU: AMD Custom APU 0405 @2.99 GOVERNOR: schedutil
  RAM: Total: 14.49 GiB Available: 11.15 GiB
  GRAPHICS: GPU0: Device 163f VRAM: 512MB DRIVER:  
  PROTOCOL: x11

Game Settings: {
    "audioFix": false,
    "autoInstallDxvk": false,
    "autoInstallVkd3d": false,
    "autoSyncSaves": true,
    "enableEsync": false,
    "enableFsync": false,
    "maxSharpness": 2,
    "nvidiaPrime": false,
    "offlineMode": false,
    "otherOptions": "",
    "savesPath": "/home/deck/Games/Heroic/Prefixes/20XX/pfx/drive_c/users/steamuser/Documents/20XX/",
    "showFps": false,
    "showMangohud": false,
    "targetExe": "",
    "useGameMode": false,
    "wineCrossoverBottle": "Heroic",
    "winePrefix": "/home/deck/Games/Heroic/Prefixes/20XX",
    "wineVersion": {
        "bin": "/home/deck/.steam/steam/steamapps/common/Proton 7.0/proton",
        "name": "Proton - Proton 7.0",
        "type": "proton"
    },
    "useSteamRuntime": false
}

Error Log:
[cli] INFO: Logging in...
[Core] INFO: Trying to re-use existing login session...
[cli] INFO: Checking for updates...
[Core] INFO: Getting authentication token...
[cli] INFO: Launching Quail...
fsync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
Unable to read VR Path Registry from C:\users\steamuser\AppData\Local\openvr\openvrpaths.vrpath

Game Log:
Time: Mon May 23 17:18:04 2022

Steps to reproduce

  1. Attempt to run game with Steam Runtime enabled (fails)
  2. Change setting to disable Steam Runtime
  3. Attempt to run game (succeeds)

Expected behavior

Expected to run with Steam Runtime enabled.

Screenshots

No response

System Information

Steam Deck, most recent beta OS Heroic 2.3.3

Additional information

No response

flavioislima commented 2 years ago

Yes, it is expected that some games will run better using the system libraries sometimes. But:

Additionally, the next time I open the settings, the checkbox will be checked again even if I did not specifically enable the runtime setting.

That's a bug we will need to fix

termdisc commented 2 years ago

Yes, it is expected that some games will run better using the system libraries sometimes.

I tried 4 games, and not one of them ran with the Steam runtime enabled: 20XX, A Short Hike, AER and Demon's Tilt. They all ran without the Steam runtime enabled, and they all had the Invalid MIT-MAGIC-COOKIE-1 key error with the Steam runtime enabled.

flavioislima commented 2 years ago

all of them with same proton version?

termdisc commented 2 years ago

All of them are using Proton 7 as provided by Steam. I didn't have a problem running them in 2.3.2 or lower.

On Tue, May 24, 2022 at 8:27 AM Flávio F Lima @.***> wrote:

all of them with same proton version?

— Reply to this email directly, view it on GitHub https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/issues/1365#issuecomment-1135924436, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA6SVXYSSFGYM367W7GTHXDVLTKNZANCNFSM5WXIRTYQ . You are receiving this because you authored the thread.Message ID: @.*** com>

dahui commented 2 years ago

I have also experienced this bug on my Steam Deck running version 2.3.3 of Heroic along with the latest Beta OS, but I am also experiencing and issue that I think is related to this bug. As with the original report, I cannot launch a game with the Steam runtime enabled. In addition to that, the only proton runtime that actually works properly is Proton 7, as provided by Steam.

I have tried Proton Experimental, also provided by Steam, as well as the latest version of Proton GE (GEProton-7-18) installed through the Wine Manager, as well as through ProtonUp-QT. None of these versions work, all failing launch with the same error message:

dx12 is not supported by your system. Try running without the -dx12 or -d3d command line argument.

The game then closes. This issue was not present when running games with Heroic Launcher 2.3.2. Games do not have an issue running using any of these Proton versions when launching games installed through Steam. Clearing all configuration files for Heroic and doing a clean install did not help.

flavioislima commented 2 years ago

@dahui this doesn't seem related. ALL your games gives an error about DX12?

dahui commented 2 years ago

@flavioislima Yes, every one of them. The only proton version that works properly is Proton 7.

This behavior is new, and only started with the new version. Different versions of Proton worked just fine prior to 2.3.3 releasing.

flavioislima commented 2 years ago

That doesnt make sense. Which games are you trying? can you provide the logs?

dahui commented 2 years ago

I tried Ghost Wire Tokyo, Final Fantasy 7 Remake, and Scott Pilgrim Complete Edition. I have other games in my library I can try if you need more data. Here is a log from Ghostwire Tokyo:


System Info:

  Heroic Version: 2.3.3 Brook
  Legendary Version:  0.20.25 Our Benefactors
  OS: Freedesktop.org KERNEL: 5.13.0-valve14-1-neptune-02195-g5b0f749d00fa ARCH: x64
  CPU: AMD Custom APU 0405 @1.86 GOVERNOR: schedutil
  RAM: Total: 14.49 GiB Available: 11.03 GiB
  GRAPHICS: GPU0: Device 163f VRAM: 512MB DRIVER:  
  PROTOCOL: x11

Game Settings: {
    "autoInstallDxvk": true,
    "autoInstallVkd3d": true,
    "enableEsync": false,
    "maxSharpness": 2,
    "launcherArgs": "",
    "nvidiaPrime": false,
    "otherOptions": "",
    "savesPath": "/home/deck/Games/Heroic/Prefixes/GhostwireTokyo/pfx/drive_c/users/steamuser/Saved Games/TangoGameworks/GhostWire Tokyo (EGS)/Saved/",
    "showFps": false,
    "targetExe": "",
    "useGameMode": false,
    "wineCrossoverBottle": "Heroic",
    "winePrefix": "/home/deck/Games/Heroic/Prefixes/GhostwireTokyo",
    "wineVersion": {
        "bin": "/home/deck/.steam/steam/steamapps/common/Proton - Experimental/proton",
        "name": "Proton - Proton - Experimental",
        "type": "proton"
    },
    "useSteamRuntime": false
}

Error Log:
[cli] INFO: Logging in...
[Core] INFO: Trying to re-use existing login session...
[cli] INFO: Checking for updates...
[Core] INFO: Getting authentication token...
[cli] INFO: Launching 007ff8f4e30845a687e66aa77eb3e965...
fsync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.

And another from FF7R. This particular game I had working just fine with ProtonGE before the update. I have also deleted my prefix in order to show a fresh run in this case, as after changing the proton version I got the version mismatch error here which doesn't appear to be related to the issue.

Launch Command: STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/deck/.var/app/com.heroicgameslauncher.hgl/.steam/steam STEAM_COMPAT_DATA_PATH=/home/deck/Games/Heroic/Prefixes/FFVIIRemakeIntergrade /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/legendary launch b25ba0f04dc9434f8a04a062719e7aa7 --no-wine --wrapper "'/home/deck/.steam/root/compatibilitytools.d/GE-Proton7-18/proton' run"

System Info:

  Heroic Version: 2.3.3 Brook
  Legendary Version:  0.20.25 Our Benefactors
  OS: Freedesktop.org KERNEL: 5.13.0-valve14-1-neptune-02195-g5b0f749d00fa ARCH: x64
  CPU: AMD Custom APU 0405 @1.95 GOVERNOR: schedutil
  RAM: Total: 14.49 GiB Available: 11.01 GiB
  GRAPHICS: GPU0: Device 163f VRAM: 512MB DRIVER:  
  PROTOCOL: x11

Game Settings: {
    "autoInstallDxvk": true,
    "autoInstallVkd3d": true,
    "maxSharpness": 2,
    "nvidiaPrime": false,
    "otherOptions": "",
    "savesPath": "/home/deck/Games/Heroic/Prefixes/FFVIIRemakeIntergrade/pfx/drive_c/users/steamuser/My Documents/My Games/FINAL FANTASY VII REMAKE/EOS/1b112473d11f494ab36d07df53b25078/",
    "showFps": false,
    "targetExe": "",
    "useGameMode": false,
    "wineCrossoverBottle": "Heroic",
    "winePrefix": "/home/deck/Games/Heroic/Prefixes/FFVIIRemakeIntergrade",
    "wineVersion": {
        "bin": "/home/deck/.steam/root/compatibilitytools.d/GE-Proton7-18/proton",
        "name": "Proton - GE-Proton7-18",
        "type": "proton"
    },
    "useSteamRuntime": false
}

Error Log:
[cli] INFO: Logging in...
[Core] INFO: Trying to re-use existing login session...
[cli] INFO: Checking for updates...
[Core] INFO: Getting authentication token...
[cli] INFO: Launching b25ba0f04dc9434f8a04a062719e7aa7...
Proton: Upgrading prefix from None to GE-Proton7-18 (/home/deck/Games/Heroic/Prefixes/FFVIIRemakeIntergrade/)
fsync: up and running.
wine: RLIMIT_NICE is <= 20, unable to use setpriority safely
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
flavioislima commented 2 years ago

Well I cannot see any heroic issue by the logs. The games are being launched normally and it's not even using runtime. The command is the same as other versions as far as I can see.

If the games are not running its an issue with proton itself.

CommandMC commented 2 years ago

I tried 4 games, and not one of them ran with the Steam runtime enabled: 20XX, A Short Hike, AER and Demon's Tilt. They all ran without the Steam runtime enabled, and they all had the Invalid MIT-MAGIC-COOKIE-1 key error with the Steam runtime enabled.

This has to somehow be related to your system, I've played 20XX just today with the runtime enabled and with 0 issues

termdisc commented 2 years ago

I tried 4 games, and not one of them ran with the Steam runtime enabled: 20XX, A Short Hike, AER and Demon's Tilt. They all ran without the Steam runtime enabled, and they all had the Invalid MIT-MAGIC-COOKIE-1 key error with the Steam runtime enabled.

This has to somehow be related to your system, I've played 20XX just today with the runtime enabled and with 0 issues

Did you run them on the Steam Deck? I’ve seen several other Deck users that have Heroic issues until they disable Steam runtime too.

dahui commented 2 years ago

Just to rule everything possible out, I wiped and reimaged my steam deck tonight and installed fresh versions of Proton from Steam, Wine Tool in Heroic, and ProtonUp-QT. I experienced the same DX12 errors even after a completely fresh reinstall using any version of Proton other than 7.

I want to reiterate that this issue is only present with Heroic. Other sources that use Proton work just fine with all versions.

flavioislima commented 2 years ago

Well, unfortunately, no one in the team has a steam deck to test, we can use a VM but its not the same. What I am doing now is setting the runtime as disabled by default and adding more logs to try to capture more errors. Lets see if this will be improved on next release then.

CommandMC commented 2 years ago

Did you run them on the Steam Deck? I’ve seen several other Deck users that have Heroic issues until they disable Steam runtime too.

Fair point. I'm currently running EndeavourOS, which I thought would be similar enough to SteamOS 3.
I'll try to get a HoloISO image setup in a VM later to test properly

KillerFry commented 2 years ago

I am also having a similar issue with a Steam Deck. At first I thought it might have to do with the fact that I am in the SteamOS beta branch, but maybe it has to do with the device itself.

I've also had this situation where in version 2.3.3 of the launcher no game will launch - although when added to Steam as non-Steam game using Heroic Bash Launcher they launch fine from the Steam Deck's game mode.

If there is some stuff that you'd like me to test to help you troubleshoot it, let me know.

Reckziegel182 commented 2 years ago

Just confirming the issue. When i reverted back to appimage 2.3.2 issue is gone and all works. Is there a way to use 2.3.2 flat version? How do i downgrade? Thank you!