Closed soredake closed 3 years ago
What libraries are there in Undertale's ./lib
?
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.
Like #237, it's crashing with a segmentation fault. Either something is wrong in the container environment that pressure-vessel has set up, or the game is making assumptions about your system that aren't true any more in the container.
What libraries are there in Undertale's ./lib?
only libsteam_api.so
This could be related, and looks like memory corruption:
'Ý^P^Oï^@^@^@^@Ý' is not a recognized processor for this target (ignoring processor)
It's unclear whether this is a game bug, or a library bug, or pressure-vessel not providing all the right things in the container.
Undertale is a GameMaker Studio game, and I think we've had trouble with those in the past.
I think this is a game bug. The Game Maker interpreter was compiled in a newer environment than the Steam Runtime, so it has dependencies on libraries that it normally gets from your host system: this means the stricter container environment won't work. It wouldn't work on old host OSs like Ubuntu 12.04 either.
We have some ideas for a less strict container environment where games like this are more likely to work, but that isn't currently available. Until then, Game Maker games won't work in the container.
I moved to ubuntu, now game does not launch at all, with or without slr.
when running from terminal
/home/danet/.steam/debian-installation/steamapps/common/Undertale/run.sh: line 3: 123547 Segmentation fault (core dumped) LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH ./runner
I lanuched game with slr, then without: undertale.log
After updates game works at least without slr.
We have some ideas for a less strict container environment where games like this are more likely to work
We now have a prototype of this available. If you go into the list of SLR betas and choose the scout_layered_slim
branch, you'll get the Steam Runtime v1 'scout' LD_LIBRARY_PATH
runtime, running inside the same Steam Runtime v2 'soldier' container that Proton uses.
I don't have Undertale, but I tried this with the demo version of Demetrios (451570) which is another GameMaker title. It segfaults when I use the default or client_beta
branch of SLR, but runs successfully when I use scout_layered_slim
. So, that's promising! Please try it and see how you get on?
If the scout_layered_slim
branch breaks any of your other games, please report that as a separate issue, and make it as obvious as possible that you're using the scout_layered_slim
branch.
If this approach is successful, then it will eventually replace the current approach to running native scout games in SLR.
(This is an implementation of https://github.com/ValveSoftware/steam-runtime/blob/master/doc/possible-designs.md#steam-runtime-2-container-with-ld_library_path-runtime-inside from the design document I wrote a while ago.)
Sorry, I should have mentioned: if launching games in scout_layered_slim
doesn't work immediately, try exiting from Steam completely, and starting Steam again. Similarly, if you go back from scout_layered_slim
to the default or client_beta
branch, you might need to exit from Steam and restart it.
The equivalent of scout_layered_slim
is now in the client_beta
branch too.
We have now shipped the equivalent of scout_layered_slim
as the default.
This seems to work OK for me, using SteamLinuxRuntime depot 0.20210630.32, SteamLinuxRuntime_soldier depot 0.20210630.17 and scout runtime 0.20210630.0 (which are all available in stable/general-availability branches). @soredake, please could you retry?
Here's what I used:
$ cat ~/SteamLibrary/steamapps/common/SteamLinuxRuntime/VERSIONS.txt
#Name Version Runtime Runtime_Version Comment
depot 0.20210630.32 # Overall version number
LD_LIBRARY_PATH - scout - # see ~/.steam/root/ubuntu12_32/steam-runtime/version.txt
scripts v0.20210623.0-0-ga389036 # Entry point scripts, etc.
$ cat ~/SteamLibrary/steamapps/common/SteamLinuxRuntime_soldier/VERSIONS.txt
#Name Version Runtime Runtime_Version Comment
depot 0.20210630.17 # Overall version number
pressure-vessel 0.20210630.0
scripts v0.20210623.0-0-ga389036 # Entry point scripts, etc.
soldier 0.20210629.0 soldier 0.20210629.0 # soldier_platform_0.20210629.0/
$ cat ~/.steam/root/ubuntu12_32/steam-runtime/version.txt
steam-runtime_0.20210630.0
Closing per the last comment.
./run.sh: line 3: 23062 Segmentation fault (core dumped) LD_LIBRARY_PATH=./lib:$LD_LIBRARY_PATH ./runner
underale-slr.log