steam-runtime
steam-runtime copied to clipboard
Can only launch games using older Soldier runtime. v0-113-g56a4e6d / 0.20201022.0+srt1
Your system information
- Steam Runtime Version: Soldier Runtime, Proton Experimental Current: v0.20201124.0-2-g0f9c98f /0.20201203.0+srt1 Old working Version: v0-113-g56a4e6d / 0.20201022.0+srt1
- Distribution : Arch
- Link to your full system information : 5.9.8-95-tkg-upds, VEGA10, MESA 20.3 (Will put newer mesa back on when I actually plan to play CP2077), 64GB RAM, 3950x https://gist.github.com/BillFleming/d44c1e95b63841f7e75788d90bae9bcd#file-sysinfo_x370_dec_2020-txt
- Have you checked for system updates?: [Yes]
- Are you using the Steam Linux Runtime compatibility tool?: [Yes]
Please describe your issue in as much detail as possible:
Using the current or previous release steam soldier runtime probably all games hard crash, sometimes at a black screen. Using the version before the previous release I can still launch games on my system. In this case I launch Cyperpunk from here off of an EXT4 MDADM RAID5 array (defaults,relatime,data=ordered,nofail,x-gvfs-show): /mnt/2TB_RAID5/Games/Steam/steamapps/common/Cyberpunk 2077 Runtime is installed here: /home/bill/.steam/root/steamapps/common/SteamLinuxRuntime_soldier Steam was installed a very long time ago on this system, possibly in 2016 or 2017. I didn't install it in any exotic way.
If you are using the Steam Linux Runtime compatibility tool, please provide the information requested here:
https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md
See attached logs. Separate folder for the working runtime vs new runtime: Old_Vs_New_Soldier_CP2077.tar.gz
I set the following launch options for CP2077 to also generate log of it starting up: PROTON_LOG=1 WINE_CPU_TOPOLOGY=8:0,1,2,3,4,5,6,7 %command% --launcher-skip I also included a crash dump from steam that was in the tmp directory.
I hear Cyberpunk 2077 hardly works on Windows at the moment, so having it try to work on Linux using Proton is still somewhat ambitious.
/home/bill/.local/share/Steam/steamapps/common/Proton - Experimental/proton
Sorry, I don't think either the Steam Runtime developers or the Proton developers can really support experimental versions of Proton.
Is there a Windows game that works well on official builds of Proton 5.13 using the old runtime, and fails on the same builds of Proton using the new runtime, with everything else the same, and as few workarounds as possible? That would help us to narrow down what is failing and why. One game that we frequently use for testing is Life Is Strange, which has a free demo, and a native Linux version that we can compare with the Windows version.
From your logs, it looks as though the pressure-vessel container is starting up fine, but something is causing a Wine process to crash in the new container (that didn't crash in the old container). There are a lot of moving parts involved in this.
There are three components varying here:
- The
soldier
runtime (soldier_0.x.y/
directory containing shared library stack) changed from 0.20201022.1 to 0.20201203.0- SDL has changes to make controller hotplugging work better.
- Fonts from outside the container are available in the container.
- Various smaller updates.
- The pressure-vessel container-launcher (
pressure-vessel/
directory) changed from 0.20201022.0+srt1 to 0.20201203.0+srt1- Vulkan layers are brought into the container; they weren't before. You could try disabling this by running Steam as
PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0 steam
(adding this to the Launch Options won't work, it has to be in Steam's environment to have an effect). -
LD_LIBRARY_PATH
is handled differently. - Lots of internal changes.
- Vulkan layers are brought into the container; they weren't before. You could try disabling this by running Steam as
- The scripts that control the overall flow of the container setup (
_v2-entry-point
,_start-container-in-background
,run-in-steamrt
) changed from v0-113-g56a4e6d to v0.20201124.0-2-g0f9c98f-
LD_LIBRARY_PATH
is handled differently. - Better compatibility with old versions of bash.
- Better compatibility with bash installed in unusual locations.
-
I think the first thing I would be inclined to look at is whether PRESSURE_VESSEL_IMPORT_VULKAN_LAYERS=0
resolves this for you. If it does, then the crash is something to do with your Vulkan layers (vkBasalt and perhaps others).
Distribution : Arch
"os-release" : { "id" : "antergos", "id_like" : [ "archlinux" ],
If your distribution is Antergos and is similar, but not identical, to Arch Linux, please say that when reporting bugs. Please don't say it is Arch Linux when it isn't!
I'm just using CP2077 as an example, as the launch issues affects all games and also proton 5.13. I have converted the machine to RebornOS, which is ARCH, but some system strings still remain that says Antergos from the original installation. Thanks for the tip, will check it after work.
Metro: Exodus worked fine with Proton 5.13-4 (DX12/vkd3d). Update to soldier 0.20201203.0 stopped working, everything else being mostly the same (running on mesa git).
Disabled all layers and it worked. Tracked it to Mangohud. Not using vkBasalt so can't say about this one.
Vulkan layer support is known to be awkward at the moment. We have a change under review in the Vulkan loader at the moment, which we'll backport into soldier when accepted (probably early 2021 at this point): see https://github.com/ValveSoftware/steam-runtime/issues/303#issuecomment-742461400.
Vulkan layers inject arbitrary code into all games that use Vulkan, which is difficult to deal with from a robustness point of view, so turning off non-essential Vulkan layers is a good troubleshooting step. We had to implement Vulkan layer support in pressure-vessel because some things that are functionally necessary (notably NVIDIA GPU-switching) are currently also implemented as Vulkan layers.