ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.27k stars 174 forks source link

non-steam shortcuts that use proton do not update dependent compatibility tools when starting #7664

Open Treverr opened 3 years ago

Treverr commented 3 years ago

Your system information

Please describe your issue in as much detail as possible:

When adding a non-steam game it fails to launch.

Steps for reproducing this issue:

  1. Add TS4.exe as a non-steam game
  2. Attempt to launch
  3. Failed to launch

error.log:

(steam:23529): Gtk-WARNING **: 16:01:08.472: gtk_disable_setlocale() must be called before gtk_init()

(steam:23529): GLib-CRITICAL **: 16:01:08.472: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed

(steam:23529): Gtk-WARNING **: 16:01:08.554: gtk_disable_setlocale() must be called before gtk_init()

(steam:23529): GLib-CRITICAL **: 16:01:08.554: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed
Installing breakpad exception handler for appid(steam)/version(1613176728)
[0218/160114.609695:ERROR:frame_sink_video_capturer_impl.cc(206)] Invalid resolutions constraints: 0x0 must not be greater than 0x0; and also within media::limits.
GameAction [AppID 3407705798, ActionID 2] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 3407705798, ActionID 2] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 3407705798, ActionID 2] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 3407705798, ActionID 2] : LaunchApp continues with user response "CreatingProcess"
src/clientdll/compatmanager.cpp (740) : Assertion Failed: CCompatManager::GetCompatibilityToolCommandLineInternal: tool 0 "" not found for appID -887261498
src/clientdll/compatmanager.cpp (740) : Assertion Failed: CCompatManager::GetCompatibilityToolCommandLineInternal: tool 0 "" not found for appID -887261498
GameAction [AppID 3407705798, ActionID 2] : LaunchApp failed with AppError_51 with ""
GameAction [AppID 3407705798, ActionID 2] : LaunchApp changed task to Failed with ""

(steam:23529): Gtk-WARNING **: 16:03:27.670: gtk_disable_setlocale() must be called before gtk_init()

(steam:23529): GLib-CRITICAL **: 16:03:27.671: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed

(steam:23529): Gtk-WARNING **: 16:03:27.802: gtk_disable_setlocale() must be called before gtk_init()

(steam:23529): GLib-CRITICAL **: 16:03:27.802: unquote_string_inplace: assertion 'err == NULL || *err == NULL' failed

Crash logs: assert_20210218163323_28.dmp.zip

Treverr commented 3 years ago

FYI: This happens on 20.04 as well clean install. This game plays fine with Wine / Lutris though..

TTimo commented 3 years ago

Did you edit the properties for the game and configure it to use some version of Proton? The latest/default one should be fine, but you don't mention having done that step.

Treverr commented 3 years ago

I have tried it both ways. I set it to each of them in 5.x and experimental and no luck. Still failed to open. Same errors, though.

TTimo commented 3 years ago

Do you have steam games that use Proton, do they work? Let's make sure that part is working fine before looking at non steam games.

Treverr commented 3 years ago

I do have 1, Airport CEO, it wasn't working but it seems to work ok now after I recently did a fresh install.

TTimo commented 3 years ago

Sims 4 is available on the Steam store. I'm guessing you have a non Steam version of it, and you can't switch to using the Steam version instead?

kisak-valve commented 3 years ago

Hello @Treverr, have you configured the non-steam game to use a compatibility tool in the per-game properties or in the global Steam settings? If you have changed the per-game settings, what is it set to? (Right click on the non-steam game in Steam's Library view -> Properties -> Compatibility on the sidebar.)

Treverr commented 3 years ago

@TTimo - correct I have a non steam version of it

@kisak-valve Yes, I have. I have configured it both in the global settings and then also tried to set it on the game specifically. I have tried experimental and then all the 5.x releases, and they all do the same thing.

TTimo commented 3 years ago

@Treverr please provide pressure vessel logs (https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information) and proton logs (https://github.com/ValveSoftware/Proton#runtime-config-options) if you still experience problems.

Based on you having at least some proton steam games working, I suspect this is going to be a Proton issue rather than pressure vessel, possibly specific to TS4 .. we'll see.

Treverr commented 3 years ago

I enabled PRESSURE_VESSEL_VERBOSE=1 PROTON_LOG=1 %command% but I get no logs out from those options. Am I doing something wrong?

Treverr commented 3 years ago

I tried running it via the "older" method doing

PRESSURE_VESSEL_VERBOSE=1 steam 2>&1 | tee ~/pressure-vessel.log

And all it gave me was:

Running Steam on ubuntu 20.04 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Steam client's requirements are satisfied
/home/trever/.steam/debian-installation/ubuntu12_32/steam -nominidumps -nobreakpad
kisak-valve commented 3 years ago

Hello @Treverr, did you close Steam before running it from a terminal? That looks like it saw that Steam is already running and quit.

Treverr commented 3 years ago

Sorry that was my mistake, it wasn't completely closed.

Logs are:

STEAM_RUNTIME_HEAVY: ./steam-runtime-heavy
[2021-03-01 15:25:43] Startup - updater built Feb 12 2021 23:21:33
[2021-03-01 15:25:44] Using the following download hosts for Public, Realm steamglobal
[2021-03-01 15:25:44] 1. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2021-03-01 15:25:44] 2. https://cdn.akamai.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2021-03-01 15:25:44] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2021-03-01 15:25:44] Verifying installation...
[2021-03-01 15:25:44] Verification complete
kisak-valve commented 3 years ago

Is the distro-modified Steam package intercepting stderr and putting it somewhere like ~/.steam/error.log?

Treverr commented 3 years ago

Not seeing ~/.steam/error.log file here. But I do have dumps in /tmp/dumps I ran it again got a little more but still nothing that seems super useful to me:

trever@server:~$ cat pressure-vessel.log 
Running Steam on ubuntu 20.04 64-bit
STEAM_RUNTIME is enabled automatically
Pins up-to-date!
Steam client's requirements are satisfied
/home/trever/.steam/debian-installation/ubuntu12_32/steam -nominidumps -nobreakpad
STEAM_RUNTIME_HEAVY: ./steam-runtime-heavy
[2021-03-01 15:29:07] Startup - updater built Feb 12 2021 23:21:33
Looks like steam didn't shutdown cleanly, scheduling immediate update check
[2021-03-01 15:29:07] Using the following download hosts for Public, Realm steamglobal
[2021-03-01 15:29:07] 1. https://cdn.akamai.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2021-03-01 15:29:07] 2. https://cdn.cloudflare.steamstatic.com, /client/, Realm 'steamglobal', weight was 100, source = 'update_hosts_cached.vdf'
[2021-03-01 15:29:07] 3. http://media.steampowered.com, /client/, Realm 'steamglobal', weight was 1, source = 'baked in'
[2021-03-01 15:29:07] Checking for update on startup
[2021-03-01 15:29:07] Checking for available updates...
[2021-03-01 15:29:07] Downloading manifest: https://cdn.akamai.steamstatic.com/client/steam_client_ubuntu12
[2021-03-01 15:29:08] Download skipped: /client/steam_client_ubuntu12 version 1613176728, installed version 1613176728, downloaded version 0
[2021-03-01 15:29:08] Nothing to do
[2021-03-01 15:29:08] Verifying installation...
[2021-03-01 15:29:08] Performing checksum verification of executable files
[2021-03-01 15:29:08] Verification complete

There are no proton logs outputting to my home dir either, just that pressure one. Would the dumps be helpful?

Treverr commented 3 years ago

Hello. Any ideas on what the next step might be?

kisak-valve commented 3 years ago

Shortcut launch failed (non-steam game)

Issue transferred from https://github.com/ValveSoftware/steam-for-linux/issues/7772. @pseregiet posted on 2021-04-29T11:11:32:

Your system information

Please describe your issue in as much detail as possible:

I play few games outside of steam with proton. I know this might not be a very common use-case, but hey, it works. At least it did until today. For no apparent reason some of my shortcuts (i.e "Add a non-steam game to library") stopped working. I get an error message "Steam - Shortcut launch failed. Failed to launch Name Of The Game". I was using steam beta (must have opted-in way back when because I didn't even remember that). Tried regular Steam, still the same problem. Tried to create another shortcut, still the same problem. Interestingly enough, another shortcut for a different game works just fine. Here's what I see in the terminal when I press Play on such a shortcut:

GameAction [AppID 2532115102, ActionID 9] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 2532115102, ActionID 9] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 2532115102, ActionID 9] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 2532115102, ActionID 9] : LaunchApp continues with user response "CreatingProcess"
src/clientdll/compatmanager.cpp (740) : Assertion Failed: CCompatManager::GetCompatibilityToolCommandLineInternal: tool 0 "" not found for appID -1762852194
src/clientdll/compatmanager.cpp (740) : Assertion Failed: CCompatManager::GetCompatibilityToolCommandLineInternal: tool 0 "" not found for appID -1762852194
GameAction [AppID 2532115102, ActionID 9] : LaunchApp failed with AppError_51 with ""
GameAction [AppID 2532115102, ActionID 9] : LaunchApp changed task to Failed with ""

Negative appID seems strange, doesn't it ? Looking at the compatdata directory I see that the failing game got an appID 2332010280. At first I thought it must be a problem with an int overflow, but the other game that doesn't fail to launch has an even bigger ID...

Steps for reproducing this issue:

  1. Add non-steam game to your library
  2. Try to run it
  3. Get this error

EDIT: I figured out a "fix". If you go to the Compatibility tab for the affected shortcut and uncheck "force a specific version" and then try to launch the game, it won't give you this error. Although the game won't launch either. Then you can go back, select the proton version you want and the game works again.

TTimo commented 3 years ago

This happens because non-steam shortcuts do not support dependencies on compatibility tools, so the shortcuts are being started without any dependency checks and then fail.

The steam client will provide more detailed error information when this and similar situations happen moving forward.

Until the steam client supports dependencies for non-steam shortcuts, a workaround is to start a steam game that uses steamplay configured with the same proton version as your non-steam shortcut, or to manually install the needed compatibility tools ("Proton 6.3" and "SteamLinuxRuntime - soldier" for instance).

IanTrudel commented 3 years ago

I'm also having this issue. None of the non-steam games are launching now. The last time I remember it was working was around 5 months ago. Running either non-steam Windows games with Proton or Linux games would work anymore.

PacaPop commented 2 years ago

Same issue here. Can't launch any non-steam game. Ubuntu 20.04.

sh1sh1n11 commented 2 years ago

This started happening to me today. The non-steam windows games were playing fine through Proton. Then I tried installing the Epic Games Launcher. At first it created an AppID and everything in the .local/share/steam/steamapps/compatdata folder, it launched just fine also. Then when I quit it and tried to re-launch it, it failed. So I tried to remove the app, including the proton prefix associated with the specific appid in the compatdata folder. That is when everything stopped working. Including the previously working non-steam windows games.

ghost commented 2 years ago

Just got this issue today, how do I fix this?

moll commented 2 years ago

I'd like to add that I'm seeing the same behavior on non-Proton shortcuts with the Mar 31, 2022 Steam Beta build. Took a random Linux executable from /usr/bin offered by "Add a Game" (Evince, in this case) and upon hitting "Play" it gets stuck at "Updating Document Viewer", showing "Ready to launch" and a checkbox next to#SteamUI_JoinDialog_LaunchGameReady.

If it's relevant, "Clearing Download Cache" from Steam's settings had no effect.

moll commented 2 years ago

I managed to track down the issue of not being able to launch any non-Steam program, incl. native binaries from /usr/bin down to missing Proton v5.13 in my case. I've no idea why v5.13 was relevant in launching a generic Linux binary and as far as I can tell, of the two Proton-using games I had installed, neither used Proton v5.13.

I found out about Proton v5.13 being the issue from ~/.local/share/Steam/logs/content_log.txt printing out the following as I was launching native Linux binaries:

[2022-04-02 20:09:10] Library folder "" is not writable (Disk write failure).
[2022-04-02 20:09:10] Failed installing AppID 1420170 (Disk write failure)

Why Steam attempted and failed to write to some library with a blank path is beyond me. Manually installing Proton v5.13 worked fine, as did launching and installing Steam games.

craggles17 commented 2 years ago

I discovered in a reddit thread that someone else's steam was throwing the error because it was trying to find a different version of proton that wasn't installed. My fix was to install all versions of proton. I then discovered after that my default steam play proton was set to proton 7 vs experimental (which is what I had for the shortcut to launch.

tl;dr try downloading all proton available versions

Aszuul commented 1 year ago

I just ran into this as well and was able to resolve it by installing Steam Linux Runtime - Soldier via terminal. steam steam://install/1391110 I found the missing compatibility tool by reviewing this log ~/.steam/root/logs/compat_log.txt

IanTrudel commented 1 year ago

I just ran into this as well and was able to resolve it by installing Steam Linux Runtime - Soldier via terminal. steam steam://install/1391110 I found the missing compatibility tool by reviewing this log ~/.steam/root/logs/compat_log.txt

No cake for me. The log did not yield any helpful information. Deleted the Steam Linux Soldier Runtime and verified the files, and then restarted the Steam client. The interesting thing is that the overlay is available when starting a game, alt-tab is working but not screenshots, and then it dies off and become unavailable altogether.