Closed lgmventura closed 3 years ago
Hello @lgmventura, starting with Proton 5.13, Proton uses Pressure Vessel to run inside the Steam Linux Runtime - Soldier container environment. Since no Proton log was generated, that hints that there was an issue with Pressure Vessel before Proton had a chance to run.
Please could you show us a log of what pressure-vessel is thinking, and exactly what happens? You can do this without involving Proton (which should make things a bit simpler) like this:
cd /path/to/SteamLinuxRuntime_soldier
PRESSURE_VESSEL_VERBOSE=1 ./run -- steam-runtime-system-info --verbose 2>&1 | tee container.log
and then send container.log as a gist. You can edit/censor the log if there's anything in it that you consider private, as long as it's obvious where it has been edited, for instance replacing your username with REDACTED.
The SteamLinuxRuntime_soldier directory will be in one of your Steam libraries. The most likely place is ~/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier if you haven't reconfigured the installation path. (from https://github.com/ValveSoftware/steam-runtime/issues/312#issuecomment-741037038)
Also, please let the extended diagnostics information finish getting gathered for your system information and update your gist with the result.
I have the same issue but for me proton seems to run and the log generates (see here for a log made with PROTON_LOG=1 https://github.com/ValveSoftware/Proton/issues/3189#issuecomment-767573803). As I mentioned there the game runs once I disable the runtime.
My system info https://gist.github.com/EmmerichFrog/55fd25547b8ea6c86b320aff662d532e the container.log [container.log] (https://github.com/ValveSoftware/steam-runtime/files/5873910/container.log)
both logs should have my user name censored with "user", let me know if it breaks something or if you need more logs.
@EmmerichFrog:
for me proton seems to run and the log generates
This means you do not have the same issue. Please could you open a separate issue report for that? If we mix up different situations in the same issue report, we won't be able to keep track of whose issue is fixed and whose issue is still open.
@EmmerichFrog:
for me proton seems to run and the log generates
This means you do not have the same issue. Please could you open a separate issue report for that? If we mix up different situations in the same issue report, we won't be able to keep track of whose issue is fixed and whose issue is still open.
sure, I thought it was one issue per game like on the Proton issue tracker
I don't even have the folder SteamLinuxRuntime_soldier
anywhere in my Steam installation directory or in my ~/.steam/
directory. Is it supposed to be installed with Steam?
SteamLinuxRuntime_soldier
is installed like Proton or a game. It should be in one of your Steam library directories, probably whichever one is set as the default.
If you set the library view in the Steam UI to show installed "tools", you should see Proton 5.13, Proton Experimental and Steam Linux Runtime - soldier showing up there as though they were games.
I managed to uninstall Steam and delete the folder ~/.local/share/steam
and reinstall it. At least I got the folder SteamLinuxRuntime_soldier
back. Since Ate of Empires II is installed in another drive, I haven't touched it yet. There are also the Proton folders. I had deleted them trying to debug the problem, thinking everything would be automatically reinstalled, but it didn't happen with SteamLinuxRuntime_soldier
.
The game is still not launching. I ran PRESSURE_VESSEL_VERBOSE=1 ./run -- steam-runtime-system-info --verbose 2>&1 | tee container.log
from inside the Soldier folder and got the output file as gist:
https://gist.github.com/lgmventura/f4f1ebb7730dd5965eda1fc30353b032
Any update on this thread?
There is at least a problem with the multi GPU setup, it wants to use a different GPU for GL and Vulkan:
vulkan: "renderer" : "Intel(R) HD Graphics 4600 (HSW GT2)"
GL: "renderer" : "GeForce GTX 760M/PCIe/SSE2"
Those particular problems are being actively worked on, @kisak-valve can probably link to the latest on this.
You're probably thinking of #312. @lgmventura, if that's the case, then https://github.com/ValveSoftware/steam-runtime/issues/312#issuecomment-739441559 may help as a workaround.
@lgmventura, if you're able to try the beta branch of SteamLinuxRuntime_soldier
and get system info similar to https://github.com/ValveSoftware/steam-runtime/issues/338#issuecomment-770254401, that should give us some more information about how your GPUs get detected, which will help us to understand what's going on.
The changes to Vulkan layer loading in the beta branch might also solve this for you - I can't say whether this will solve it or not because we don't understand the root cause, but the beta should do this more correctly.
See https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#using-a-beta-or-an-older-version for details.
I successfully disabled the Intel .json
files by renaming them as suggested in the comment in #312 , but the game still doesn't launch. Still the same behaviour: a small window from Steam pops up saying "preparing to launch", then it disappears and the launch button gets its text changed from "launching" into "stop". Then, after a couple of seconds, it turns to back to the original green button "play".
So, there must be another reason. I run Steam from terminal to see if there is an output, but nothing comes out after clicking "play" either.
I can gladly test the beta branch if I get this to work.
I can gladly test the beta branch if I get this to work
I'm asking you to try the beta branch because it might help to get this to work :-)
Since you originally opened this issue, we've improved the ability to get debug logs from the container runtime. The preferred mechanism is described here: https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information
Alright, thanks, I will give a try. I thought you meant if that would solve the problem, then the beta version could probably solve it without having to rename the json
files... :)
ERROR: [Loader Message] Code 0 : libVkLayer_MESA_device_select.so: cannot open shared object file: No such file or directory
This could have been part of the problem. It looks as though libVkLayer_MESA_device_select.so
was not getting set up correctly in version 0.20210105.2, which is the latest version you provided a log for: we're putting it in a subdirectory instead of in the normal library search path, but the JSON manifest says to look for it in the normal library search path. That was a bug in 0.20210105.2 which is fixed in newer releases.
Another piece of information that would be useful to know is: is this specific to AoE2, or does it happen for multiple games?
I often use Floating Point and Life is Strange episode 1 as test games, because they're free (so anyone can install them), single-player (so there's no anti-cheat stuff getting in the way), not too big, old enough to run acceptably even on weak hardware, and available for both Windows and Linux. By default they will install as native Linux games, but if you force them to run on Proton 5.13 in the same way you did for AoE2, then Steam will install the Windows version instead.
If games like those work well, then that points us in the direction of looking for something that is different about AoE2; or if those games fail in the same way as AoE2, then that points us in the direction of a more general problem.
Where can I find the SteamLinuxRuntime_soldier
repository? The closest one I found was the steam-runtime
, but it doesn't have a beta branch.
Thanks, I didn't try with other games, but I can try with those using Proton 5.13 then, if needed.
It appears in your Steam library as a "tool" (like Proton), named SteamLinuxRuntime - soldier
. You can opt in to a beta branch in the same way as for a game: see https://support.steampowered.com/kb_article.php?ref=9847-WHXC-7326, but instead of CS:GO, open the properties of Steam Linux Runtime - soldier
.
The beta branch is officially only meant to be used with the beta Steam client, but it should actually be OK in the ordinary non-beta Steam client at the moment.
I installed Floating point and it launched normally first. Then I forced it to use Proton 5.13 as a compatibility tool and then it didn't launch, exactly like AoE II DE I described here. :O
OK, please provide logs and system info according to https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information (for either of those games, it shouldn't matter).
It looks like I can't see all other Proton versions in Library -> Downloads. Even AoE II isn't listed there:
Click on Library again to see everything in your library, and look in the left sidebar. The Downloads page only shows what you have downloaded during the current Steam session.
You might need to change the filtering options to show everything, or at least everything that's installed. I don't think titles classified as a "tool" (like Proton and Steam Linux Runtime) get shown by default.
After cleaning download cache, this downloads section showed only "SteamWorks common distributable". I clicked on launch and then all the library appeared on the sidebar. I don't know why, but at least I got till there. Then I found Steam Linux Runtime - soldier
and changed to Beta. I restarted Steam and it looks like this:
But it doesn't look like it installed or changed anything. Nothing changed on trying to start the games though. Does it mean the beta version is already running?
The [client_beta]
label means you already have the beta version of soldier installed, yes.
Good, so I can generate the log again and upload as Gist?!
Whenever you launch a game that uses Proton 5.13 or Proton experimental, Steam will automatically use whatever version of Steam Linux Runtime - Soldier is currently installed.
Please follow https://github.com/ValveSoftware/steam-runtime/blob/master/doc/reporting-steamlinuxruntime-bugs.md#essential-information to get a current log from launching one of those games, and upload it as a gist.
I got the gist here: https://gist.github.com/lgmventura/4718030ff0114b5d42e6120e65f0f052 It points to something I observed before:
OSError: [Errno 22] Invalid argument: '/media/luiz/Volume/Downloads/SteamLinux/steamapps/common/Proton 5.13/dist/./share/default_pfx/dosdevices/z:'
20:46:12.527033: pressure-vessel-adverb[98482]: Command exited with status 1
I had tried to download also Proton 6.0 Beta and the "Glorious Eggroll" fork and manually extract it into the folder. But in the extraction, I always get an error that it's not possible to extract this c: or z: because these are not valid filenames.
File "/media/luiz/Volume/Downloads/SteamLinux/steamapps/common/Proton 5.13/proton", line 943, in <module>
g_proton.extract_tarball()
File "/media/luiz/Volume/Downloads/SteamLinux/steamapps/common/Proton 5.13/proton", line 186, in extract_tarball
tar.extractall(path=self.dist_dir)
File "/usr/lib/python3.7/tarfile.py", line 2004, in extractall
numeric_owner=numeric_owner)
File "/usr/lib/python3.7/tarfile.py", line 2046, in extract
numeric_owner=numeric_owner)
File "/usr/lib/python3.7/tarfile.py", line 2124, in _extract_member
self.makelink(tarinfo, targetpath)
File "/usr/lib/python3.7/tarfile.py", line 2217, in makelink
targetpath)
File "/usr/lib/python3.7/tarfile.py", line 2118, in _extract_member
self.makedir(tarinfo, targetpath)
File "/usr/lib/python3.7/tarfile.py", line 2147, in makedir
os.mkdir(targetpath, 0o700)
At this point Proton is running, which means that Pressure Vessel is doing its part properly, but you've encountered an issue with Proton, most likely from an NTFS formatted Steam Library.
What filesystem are you using with /media/luiz/Volume/Downloads/SteamLinux/
?
It might be related to this issue: https://github.com/ValveSoftware/Proton/issues/2419 I'm using a NTFS partition (drive "Volume"). I'll look if I can free some space in the EXT4 partition and transfer the Proton installation to there… I'll test and post my update here.
OSError: [Errno 22] Invalid argument: '/media/luiz/Volume/Downloads/SteamLinux/steamapps/common/Proton 5.13/dist/./share/default_pfx/dosdevices/z:'
If you have Proton or your Steam library on an NTFS partition, you need to mount it with options that allow creating files with :
in their names. If you're using ntfs-3g
, you can't use the windows_names
option, because that disallows :
.
(This might hurt interop with Windows, but it should be OK if Windows and Linux/Proton are using separate Steam libraries.)
I transferred Proton to my EXT4 partition (will try different mounting options later) and now I am at least able to start the game AoE II DE 🥳. Thank you all!! But once I get to any menu other than the main menu or to the game itself, it starts freezing and the FPS goes below 1 Hz. Actually it mostly goes fluid for a fraction of a second and freezes for several seconds, including mouse pointer, even when I do an alt-tab to switch to another window and start moving the mouse over something else. But the main menu of the game is still fluid, even if it looks exactly like the other menus. This is the same I described in the issue post in the section Symptoms.
I created a new gist here. The last two lines correspond to my alt+F4. The game is completely unplayable in this current state.
Hello @lgmventura, glad to hear you got it running. At this point I think we're done investigating this as a separate steam-runtime issue.
Feel free to add your performance experience to https://github.com/ValveSoftware/Proton/issues/3189 to be pondered on Proton's side.
Compatibility Report
System Information
I confirm:
PROTON_LOG=1 %command%
added to the Game's Launch Options. No log file was generated though.Symptoms
Until May the game was working fine for Single Player games. In June there was an update that made the game start to freeze all the time, also in the menus, except for the main menu. It was completely unplayable since the mean FPS lied below 1 Hz, including the mouse pointer. Now, with the last updates, it doesn't even launch.
Reproduction