ValveSoftware / steam-runtime

A runtime environment for Steam applications
Other
1.19k stars 86 forks source link

Estranged: Act I (261820) will not run under slr #236

Closed soredake closed 4 years ago

soredake commented 4 years ago

estranged-p1.log

smcv commented 4 years ago
pressure-vessel-with-lock: Failed to execute child process "/media/disk1/Steam/steamapps/common/Estranged Act I/hl2.sh" (No such file or directory)

You have your Steam library in a non-default location, which is meant to work, but has caused trouble in the past.

What is the first line of /media/disk1/Steam/steamapps/common/Estranged Act I/hl2.sh?

If you set this game's launch options to env G_MESSAGES_DEBUG=all %command% and try running it like that (it will be slower), you should get more output which might help us to know what is going on.

Also, please upload the Help -> System Information report as a gist and drop a link here. You can use the same link for all your issue reports if it's current and the same issue is still happening.

soredake commented 4 years ago

https://gist.github.com/soredake/ed1fa30f885371dda5f331815920a3ae

soredake commented 4 years ago

What is the first line of /media/disk1/Steam/steamapps/common/Estranged Act I/hl2.sh?

❯ cat "/media/disk1/Steam/steamapps/common/Estranged Act I/hl2.sh" | head -n1
#!/bin/bash

If you set this game's launch options to env G_MESSAGES_DEBUG=all %command% and try running it like that (it will be slower), you should get more output which might help us to know what is going on.

estr1.log

smcv commented 4 years ago

Thanks for the logs, I can see what the problem is now.

It looks like it's caused by this specific game being a bit unusual in a way we had assumed couldn't happen, and you having it installed in a non-default Steam Library path. A workaround would be to move this particular game to the default library directory below /home/bausch/.local/share/Steam.

Most games are launched with the current working directory being something like /media/disk1/Steam/steamapps/common/Estranged Act I, and need that entire directory to be made available in the container. pressure-vessel detects which directory it needs to copy in by looking at the current working directory.

However, this specific game is launched from a subdirectory, /media/disk1/Steam/steamapps/common/Estranged Act I/estrangedact1. pressure-vessel makes that subdirectory available in the container, but not the parent directory, which is what this game actually needs.

This is a design issue with the container-runner, which is not going to be straightforward to fix (basically the Steam client will need to give it more information, either about where your Steam libraries are or about the base directory of this particular game).

smcv commented 4 years ago

https://steamdb.info/app/261820/config/ shows "Extra Info: Working dir: estrangedact1". Any other game with a non-trivial working directory, installed in a non-default library location, will trigger the same bug.

The default library location would work, because pressure-vessel currently always makes everything in ~/.steam/steam and ~/.steam/root available in the container.

qwelias commented 4 years ago

I have what seems like simillar issue, but my install location was not changed, so maybe there's a solution? stdout

kisak-valve commented 4 years ago

Hello @qwelias, TrackMania United Forever does not have a native Linux variant, so there's nothing to run with the Steam Linux Runtime compatibility tool. This is not a bug.

qwelias commented 4 years ago

@kisak-valve ah, ok. But it had it set by default, so I wasn't sure here

smcv commented 4 years ago

The Steam UI ideally shouldn't let you set the Steam Linux Runtime tool as a default for Windows (Proton, Steam Play) games - it can only work for native Linux games at the moment. "Stacking" Proton on top of the Steam Linux Runtime (see #213) would be great to have in future, but currently doesn't exist, and likely won't exist until the Steam Linux Runtime is more mature as a way to run native Linux games.

soredake commented 4 years ago

Better to rename this to "slr and non-default locations" or something like this.

smcv commented 4 years ago

https://steamdb.info/app/261820/config/ shows "Extra Info: Working dir: estrangedact1". Any other game with a non-trivial working directory, installed in a non-default library location, will trigger the same bug.

A solution for this is making its way through the system. I've confirmed that Estranged: Act I can launch from a non-default installation directory now.

Better to rename this to "slr and non-default locations" or something like this.

There are multiple bugs involving non-default locations, with several different root causes. Hopefully most or all of them are fixed by the same batch of improvements as Estranged, but it isn't something we can fix with a single change (containers and "did I share everything I needed to share?" are always going to go side by side).

smcv commented 4 years ago

The original issue involving Estranged: Act I is hopefully fixed in a newer pressure-vessel version. Please try with the "Steam Linux Runtime" set to the public beta branch client_beta, and the latest Steam client beta (Sep 10 2020 or newer). SteamLinuxRuntime/VERSIONS.txt should identify it as pressure-vessel 0.20200909.0+srt1 and scout 0.20200910.0.

Note that the beta Steam Linux Runtime is not expected to work with Steam client versions older than the current beta. This is not considered to be a bug.

soredake commented 4 years ago

Works now, thanks!