Matoking / protontricks

A wrapper that does winetricks things for Proton enabled games, requires Winetricks.
GNU General Public License v3.0
1.62k stars 34 forks source link

Errors with new Proton versions without --no-bwrap #142

Open SeongGino opened 2 years ago

SeongGino commented 2 years ago

Describe the bug Title; New Proton versions (GE-Proton7-14, Current Experimental) will be unable to access the main shell window without --no-bwrap appended.

Instead, when invoked normally:

pressure-vessel-wrap[73512]: W: Disabling gtk3-nocsd LD_PRELOAD: it is known to cause crashes.
pressure-vessel-wrap[73512]: W: Binding directories that are located under "/usr/" is not supported!
/home/seong/.cache/protontricks/proton/Proton-GE/bin/wineserver-keepalive: line 76: 73518 Segmentation fault      (core dumped) wine cmd.exe /c "/home/seong/.cache/protontricks/proton/Proton-GE/bin/wineserver-keepalive.bat" &> /dev/null
------------------------------------------------------
warning: Your version of wine  is no longer supported upstream. You should upgrade to 5.x
------------------------------------------------------
Executing mkdir -p /path/to/steamapps/compatdata/12345
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
------------------------------------------------------
WINEPREFIX INFO:
Drive C: total 4
drwxr-xr-x 1 seong seong 168 Apr  8 12:06 .
drwxr-xr-x 1 seong seong 126 Apr  8 12:06 ..
drwxr-xr-x 1 seong seong  34 Apr  8 11:49 openxr
drwxr-xr-x 1 seong seong  18 Apr  8 11:46 ProgramData
drwxr-xr-x 1 seong seong 118 Apr  8 11:46 Program Files
drwxr-xr-x 1 seong seong 128 Apr  8 11:46 Program Files (x86)
drwxr-xr-x 1 seong seong  30 Apr  8 11:46 users
drwxr-xr-x 1 seong seong   6 Apr  8 11:46 vrclient
drwxr-xr-x 1 seong seong 484 Apr  8 11:46 windows
-rw-r--r-- 1 seong seong   9 Apr  8 12:06 .windows-serial

Registry info:
/path/to/steamapps/compatdata/12345/pfx/system.reg:#arch=win64
/path/to/steamapps/compatdata/12345/pfx/userdef.reg:#arch=win64
/path/to/steamapps/compatdata/12345/pfx/user.reg:#arch=win64
------------------------------------------------------
------------------------------------------------------
warning: /home/seong/.cache/protontricks/proton/Proton-GE/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message "" 
------------------------------------------------------

To Reproduce Steps to reproduce the behavior:

  1. Set game's Forced Steam Play compatibility tool to Proton Experimental or Proton GE 7-14
  2. Run command protontricks appid --gui/select a prefix using the appid gui.
  3. Observe the errors as winetricks exits early.
  4. Run the same command with --no-bwrap appended before appid.
  5. Observe winetricks launching properly.

Expected behavior The winetricks shell window should appear in normal use without additional flags.

System

Additional context

Issue does not seem to apply to 1.7.0 (the version available in protontricks PKGBUILD), and behaves as expected. Issue applies to 1.8.0, with the only difference being a lack of pressure-vessel-wrap and wineserver-keepalive errors, but does maintain the bad wine version error and empty AppData string message before exiting early.

Matoking commented 2 years ago

From what I can gather so far, you might have a Steam library configured under /usr which Steam Runtime is complaining about and is not supported. If you can, you could try removing the corresponding Steam library temporarily and check if that fixes the issue.

That said, the real issue might be something else: if so, try running the command again with -v flag (eg. protontricks -v <appid> --gui) for additional log messages and post them here. You can upload it under gist.github.com if it's very long.

SeongGino commented 2 years ago

From what I can gather so far, you might have a Steam library configured under /usr which Steam Runtime is complaining about and is not supported. If you can, you could try removing the corresponding Steam library temporarily and check if that fixes the issue.

That said, the real issue might be something else: if so, try running the command again with -v flag (eg. protontricks -v <appid> --gui) for additional log messages and post them here. You can upload it under gist.github.com if it's very long.

I can say for certain that no library of mine is using /usr; the only subdirs Steam is using for games is under /mnt (a different drive) and /home (the running system's drive). The error is also the same regardless of it being a used prefix or fresh with no verbs added, if that helps any.

Output of protontricks -v 35140 --gui listed below:

protontricks (INFO): Using default Steam Runtime at /home/seong/.steam/root/ubuntu12_32/steam-runtime
protontricks (INFO): WINETRICKS environment variable is not available. Searching from $PATH.
protontricks (INFO): Found 3 Steam library folders
protontricks (INFO): Multiple compatdata directories found for app 230270
protontricks (INFO): Multiple compatdata directories found for app 1493710
protontricks (INFO): Multiple compatdata directories found for app 1580130
protontricks (INFO): Multiple compatdata directories found for app 254700
protontricks (INFO): Multiple compatdata directories found for app 265550
protontricks (INFO): Multiple compatdata directories found for app 282800
protontricks (INFO): Multiple compatdata directories found for app 287700
protontricks (INFO): Multiple compatdata directories found for app 32430
protontricks (INFO): Multiple compatdata directories found for app 349250
protontricks (INFO): Multiple compatdata directories found for app 35140
protontricks (INFO): Multiple compatdata directories found for app 351970
protontricks (INFO): Multiple compatdata directories found for app 357190
protontricks (INFO): Multiple compatdata directories found for app 374320
protontricks (INFO): Multiple compatdata directories found for app 6060
protontricks (INFO): Multiple compatdata directories found for app 63380
protontricks (INFO): Multiple compatdata directories found for app 638650
protontricks (INFO): Multiple compatdata directories found for app 678960
protontricks (INFO): Multiple compatdata directories found for app 692850
protontricks (INFO): Multiple compatdata directories found for app 71250
protontricks (INFO): Multiple compatdata directories found for app 71340
protontricks (INFO): Multiple compatdata directories found for app 738540
protontricks (INFO): Multiple compatdata directories found for app 9480
protontricks (INFO): Multiple compatdata directories found for app 976730
protontricks (INFO): Multiple compatdata directories found for app 218620
protontricks (INFO): Multiple compatdata directories found for app 22330
protontricks (INFO): Multiple compatdata directories found for app 22380
protontricks (INFO): Multiple compatdata directories found for app 225540
protontricks (INFO): Multiple compatdata directories found for app 235460
protontricks (INFO): Multiple compatdata directories found for app 238090
protontricks (INFO): Multiple compatdata directories found for app 239140
protontricks (INFO): Multiple compatdata directories found for app 239350
protontricks (INFO): Multiple compatdata directories found for app 24240
protontricks (INFO): Multiple compatdata directories found for app 246580
protontricks (INFO): Multiple compatdata directories found for app 1056640
protontricks (INFO): Multiple compatdata directories found for app 1086860
protontricks (INFO): Multiple compatdata directories found for app 1178830
protontricks (INFO): Multiple compatdata directories found for app 12210
protontricks (INFO): Multiple compatdata directories found for app 15750
protontricks (INFO): Multiple compatdata directories found for app 200260
protontricks (INFO): Multiple compatdata directories found for app 209000
protontricks (INFO): Multiple compatdata directories found for app 210870
protontricks (INFO): Multiple compatdata directories found for app 211420
protontricks (INFO): Multiple compatdata directories found for app 213610
protontricks (INFO): Multiple compatdata directories found for app 21690
protontricks (INFO): Multiple compatdata directories found for app 377160
protontricks (INFO): Multiple compatdata directories found for app 379720
protontricks (INFO): Multiple compatdata directories found for app 3970
protontricks (INFO): Multiple compatdata directories found for app 410320
protontricks (INFO): Multiple compatdata directories found for app 42700
protontricks (INFO): Multiple compatdata directories found for app 42710
protontricks (INFO): Multiple compatdata directories found for app 427190
protontricks (INFO): Multiple compatdata directories found for app 429660
protontricks (INFO): Multiple compatdata directories found for app 45770
protontricks (INFO): Multiple compatdata directories found for app 489830
protontricks (INFO): Multiple compatdata directories found for app 501590
protontricks (INFO): Multiple compatdata directories found for app 544750
protontricks (INFO): Multiple compatdata directories found for app 582010
protontricks (INFO): Multiple compatdata directories found for app 585910
protontricks (INFO): Currently logged-in Steam user: seongaleque
protontricks (INFO): Found 0 Steam shortcuts running using Steam compatibility tools
protontricks (INFO): User has configured default Proton version (CompatToolMapping): Proton-GE
protontricks (INFO): Found active custom compatibility tool: Proton-GE
protontricks (INFO): Active compatibility tool is a Proton installation
protontricks (INFO): Using separately installed Steam Runtime: Steam Linux Runtime - Soldier
protontricks (INFO): Running Steam Runtime using bwrap containerization.
If any problems arise, please try running the command again using the `--no-bwrap` flag and make an issue report if the problem only occurs when bwrap is in use.
protontricks (INFO): Created Steam Runtime Wine binary directory at /home/seong/.cache/protontricks/proton/Proton-GE/bin
protontricks (INFO): WINE environment variable is not available. Setting WINE environment variable to Proton bundled version.
protontricks (INFO): WINESERVER environment variable is not available. Setting WINESERVER environment variable to Proton bundled version
protontricks (INFO): Starting bwrap launcher process: /home/seong/.cache/protontricks/proton/Proton-GE/bin/bwrap-launcher
protontricks (INFO): Starting wineserver keepalive process: /home/seong/.cache/protontricks/proton/Proton-GE/bin/wineserver-keepalive
protontricks (INFO): Attempting to run command ['/usr/bin/winetricks', '--gui']
protontricks - wineserver-keepalive 530526: Starting wineserver-keepalive process...
protontricks - bwrap-launcher 530525: Following directories will be mounted inside container: /boot /etc /home /mnt /opt /root /sbin /srv /tmp /run/media /usr/share/steam/compatibilitytools.d/proton-ge-custom
protontricks - bwrap-launcher 530525: Using temporary directory: /tmp/protontricks-yqcza1kd
winetricks GUI enabled, using zenity 3.42.0
pressure-vessel-wrap[530525]: W: Disabling gtk3-nocsd LD_PRELOAD: it is known to cause crashes.
pressure-vessel-wrap[530525]: W: Binding directories that are located under "/usr/" is not supported!
/home/seong/.cache/protontricks/proton/Proton-GE/bin/wineserver-keepalive: line 76: 530533 Segmentation fault      (core dumped) wine cmd.exe /c "/home/seong/.cache/protontricks/proton/Proton-GE/bin/wineserver-keepalive.bat" &> /dev/null
protontricks - wineserver-keepalive 530526: Cleanup finished, goodbye!
------------------------------------------------------
warning: Your version of wine  is no longer supported upstream. You should upgrade to 5.x
------------------------------------------------------
Executing mkdir -p /mnt/BigBeru/SteamGames/steamapps/compatdata/35140
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
------------------------------------------------------
WINEPREFIX INFO:
Drive C: total 4
drwxr-xr-x 1 seong seong 138 Apr  8 15:45 .
drwxr-xr-x 1 seong seong 154 Apr  8 20:32 ..
drwxr-xr-x 1 seong seong  34 Apr  8 20:31 openxr
drwxr-xr-x 1 seong seong  18 Apr  2 16:40 ProgramData
drwxr-xr-x 1 seong seong 154 Apr  8 15:45 Program Files
drwxr-xr-x 1 seong seong 164 Apr  8 15:45 Program Files (x86)
drwxr-xr-x 1 seong seong  30 Apr  2 16:40 users
drwxr-xr-x 1 seong seong   6 Apr  2 16:40 vrclient
drwxr-xr-x 1 seong seong 522 Apr  8 20:31 windows

Registry info:
/mnt/BigBeru/SteamGames/steamapps/compatdata/35140/pfx/system.reg:#arch=win64
/mnt/BigBeru/SteamGames/steamapps/compatdata/35140/pfx/userdef.reg:#arch=win64
/mnt/BigBeru/SteamGames/steamapps/compatdata/35140/pfx/user.reg:#arch=win64
------------------------------------------------------
------------------------------------------------------
warning: /home/seong/.cache/protontricks/proton/Proton-GE/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message "protontricks - wine 531158: Checking for running wineserver instance
protontricks - wine 531158: Setting default env: WINEFSYNC=1
protontricks - wine 531158: Setting default env: WINEESYNC=1
protontricks - wine 531158: Starting Wine process using 'pressure-vessel-launch'" 
------------------------------------------------------
protontricks (INFO): Terminating wineserver keepalive process 530526
protontricks (INFO): Terminating launcher process 530525
protontricks (INFO): Launcher process terminated
Matoking commented 2 years ago

I wasn't able to reproduce the issue on Arch using either the newest Proton Experimental or by placing the newest GE-Proton version under /usr/share/steam/compatibilitytools.d; the latter works without problems despite the warning.

Since you didn't have any issues on 1.7.0, it could be related to pressure-vessel-launch that is used starting with 1.8.0.

Could you try starting a shell with the command protontricks -v -c bash 35140 and testing the following commands:

$ "$PROTON_DIST_PATH/bin/wine" --version
wine-7.0 (Staging)
$ wine --version
protontricks - wine 63821: Checking for running wineserver instance
protontricks - wine 63821: Found running wineserver instance with PID 63166
protontricks - wine 63821: Copying env var from running wineserver: WINEESYNC=1
protontricks - wine 63821: Copying env var from running wineserver: WINEFSYNC=1
protontricks - wine 63821: Starting Wine process using 'pressure-vessel-launch'
protontricks - wine 64070: Starting Wine process inside the container
protontricks - wine 64070: Appending to LD_LIBRARY_PATH: /usr/share/steam/compatibilitytools.d/GE-Proton7-14/files/lib:/usr/share/steam/compatibilitytools.d/GE-Proton7-14/files/lib64:
wine-7.0 (Staging)

The first command runs the Wine executable directly without using pressure-vessel-launch, while the second command uses it. In my case, both commands work correctly, but in your case the second command will likely fail.


One another issue I can think of is that your /tmp (which Protontricks uses to store a socket and some other temporary files) might have different settings that are causing problems. We could test this by using a different location for temporary files and checking if that fixes the issue:

mkdir ~/tmp
TMPDIR=~/tmp protontricks -v 35140 --gui
SeongGino commented 2 years ago

To part 1: it's exactly what you said would happen.

$ "$PROTON_DIST_PATH/bin/wine" --version
wine-7.0 (Staging)
$ wine --version
protontricks - wine 143650: Checking for running wineserver instance
protontricks - wine 143650: Setting default env: WINEFSYNC=1
protontricks - wine 143650: Setting default env: WINEESYNC=1
protontricks - wine 143650: Starting Wine process using 'pressure-vessel-launch'
Segmentation fault (core dumped)

To part 2: No change from before, so I'll leave the output attached. output.txt

Matoking commented 2 years ago

OK, there's a chance that the Soldier runtime + launcher isn't playing nicely with your system. To check this, we can run the commands Protontricks uses manually and check what happens. To do this, open your Steam library and find "Steam Linux Runtime - Soldier" (you'll have to check "Tools" under the options to make it visible), right-click it and select -> Properties -> Local Files -> Browse...

Open two terminals in the directory, and run this command in the first terminal and keep it running:

$ ./run --share-pid --launcher --filesystem /boot --filesystem /etc --filesystem /home --filesystem /mnt --filesystem /opt --filesystem /root --filesystem /sbin --filesystem /srv --filesystem /tmp --filesystem /run/media --filesystem /usr/share/steam/compatibilitytools.d/proton-ge-custom -- --socket="$HOME/test.socket"

After that, run the following command in the second terminal:

$ ./pressure-vessel/bin/pressure-vessel-launch --share-pids --socket="$HOME/test.socket" --pass-env-matching="*" -- vkcube

The latter command should display a window with a spinning cube or crash with a similar error as when you're using Protontricks. If it crashes, does either command print a more verbose error?


Another possible cause if the previous test didn't reveal anything, is testing --no-bwrap --background-wineserver like so:

$ protontricks -v --no-bwrap --background-wineserver 35140 --gui

Background wineserver is only enabled by default when bwrap is used, so turning off bwrap might appear to be the reason for the crash even if the background wineserver is actually at fault here.

SeongGino commented 2 years ago

The second command simply prints Segmentation fault (core dumped). All I get from the first terminal is:

pressure-vessel-wrap[1359185]: W: Disabling gtk3-nocsd LD_PRELOAD: it is known to cause crashes.
pressure-vessel-wrap[1359185]: W: Binding directories that are located under "/usr/" is not supported!
socket=/home/seong/test.socket
dbus_address=unix:path=/home/seong/test.socket

Apologies for my ignorance, but am I supposed to be seeing something else here that's more helpful?

The latter command (despite the winetricks update notice, ugh) works though.

$ protontricks -v --no-bwrap --background-wineserver 35140 --gui
protontricks (INFO): Found Steam directory at /home/seong/.steam/steam. You can also define Steam directory manually using $STEAM_DIR
protontricks (INFO): Using default Steam Runtime at /home/seong/.steam/root/ubuntu12_32/steam-runtime
protontricks (INFO): WINETRICKS environment variable is not available. Searching from $PATH.
protontricks (INFO): Found 3 Steam library folders
protontricks (INFO): Multiple compatdata directories found for app 1493710
protontricks (INFO): Multiple compatdata directories found for app 254700
protontricks (INFO): Multiple compatdata directories found for app 265170
protontricks (INFO): Multiple compatdata directories found for app 265550
protontricks (INFO): Multiple compatdata directories found for app 282800
protontricks (INFO): Multiple compatdata directories found for app 287700
protontricks (INFO): Multiple compatdata directories found for app 32430
protontricks (INFO): Multiple compatdata directories found for app 349250
protontricks (INFO): Multiple compatdata directories found for app 35140
protontricks (INFO): Multiple compatdata directories found for app 351970
protontricks (INFO): Multiple compatdata directories found for app 357190
protontricks (INFO): Multiple compatdata directories found for app 374320
protontricks (INFO): Multiple compatdata directories found for app 638650
protontricks (INFO): Multiple compatdata directories found for app 678960
protontricks (INFO): Multiple compatdata directories found for app 692850
protontricks (INFO): Multiple compatdata directories found for app 71250
protontricks (INFO): Multiple compatdata directories found for app 71340
protontricks (INFO): Multiple compatdata directories found for app 738540
protontricks (INFO): Multiple compatdata directories found for app 755630
protontricks (INFO): Multiple compatdata directories found for app 9480
protontricks (INFO): Multiple compatdata directories found for app 976730
protontricks (INFO): Multiple compatdata directories found for app 235460
protontricks (INFO): Multiple compatdata directories found for app 238090
protontricks (INFO): Multiple compatdata directories found for app 239140
protontricks (INFO): Multiple compatdata directories found for app 239350
protontricks (INFO): Multiple compatdata directories found for app 24240
protontricks (INFO): Multiple compatdata directories found for app 1056640
protontricks (INFO): Multiple compatdata directories found for app 1086860
protontricks (INFO): Multiple compatdata directories found for app 1178830
protontricks (INFO): Multiple compatdata directories found for app 12210
protontricks (INFO): Multiple compatdata directories found for app 15750
protontricks (INFO): Multiple compatdata directories found for app 200260
protontricks (INFO): Multiple compatdata directories found for app 209000
protontricks (INFO): Multiple compatdata directories found for app 210870
protontricks (INFO): Multiple compatdata directories found for app 211420
protontricks (INFO): Multiple compatdata directories found for app 213610
protontricks (INFO): Multiple compatdata directories found for app 21690
protontricks (INFO): Multiple compatdata directories found for app 218620
protontricks (INFO): Multiple compatdata directories found for app 22330
protontricks (INFO): Multiple compatdata directories found for app 22380
protontricks (INFO): Multiple compatdata directories found for app 225540
protontricks (INFO): Multiple compatdata directories found for app 377160
protontricks (INFO): Multiple compatdata directories found for app 379720
protontricks (INFO): Multiple compatdata directories found for app 3970
protontricks (INFO): Multiple compatdata directories found for app 410320
protontricks (INFO): Multiple compatdata directories found for app 42700
protontricks (INFO): Multiple compatdata directories found for app 42710
protontricks (INFO): Multiple compatdata directories found for app 427190
protontricks (INFO): Multiple compatdata directories found for app 429660
protontricks (INFO): Multiple compatdata directories found for app 45770
protontricks (INFO): Multiple compatdata directories found for app 489830
protontricks (INFO): Multiple compatdata directories found for app 501590
protontricks (INFO): Multiple compatdata directories found for app 544750
protontricks (INFO): Multiple compatdata directories found for app 582010
protontricks (INFO): Multiple compatdata directories found for app 585910
protontricks (INFO): Multiple compatdata directories found for app 6060
protontricks (INFO): Multiple compatdata directories found for app 246580
protontricks (INFO): Multiple compatdata directories found for app 63380
protontricks (INFO): Multiple compatdata directories found for app 230270
protontricks (INFO): Currently logged-in Steam user: seongaleque
protontricks (INFO): Found 0 Steam shortcuts running using Steam compatibility tools
protontricks (INFO): User has configured default Proton version (CompatToolMapping): Proton-GE
protontricks (INFO): Found active custom compatibility tool: Proton-GE
protontricks (INFO): Active compatibility tool is a Proton installation
protontricks (INFO): Using separately installed Steam Runtime: Steam Linux Runtime - Soldier
protontricks (INFO): Created Steam Runtime Wine binary directory at /home/seong/.cache/protontricks/proton/Proton-GE/bin
protontricks (INFO): WINE environment variable is not available. Setting WINE environment variable to Proton bundled version.
protontricks (INFO): WINESERVER environment variable is not available. Setting WINESERVER environment variable to Proton bundled version
protontricks (INFO): Starting wineserver keepalive process: /home/seong/.cache/protontricks/proton/Proton-GE/bin/wineserver-keepalive
protontricks (INFO): Attempting to run command ['/usr/bin/winetricks', '--gui']
protontricks - wineserver-keepalive 1366924: Starting wineserver-keepalive process...
winetricks GUI enabled, using zenity 3.42.0
------------------------------------------------------
warning: You are running winetricks-20210206-next, latest upstream is winetricks-20220411!
------------------------------------------------------
------------------------------------------------------
warning: You should update using your distribution's package manager, --self-update, or manually.
------------------------------------------------------
Executing mkdir -p /mnt/BigBeru/SteamGames/steamapps/compatdata/35140
------------------------------------------------------
warning: You are using a 64-bit WINEPREFIX. Note that many verbs only install 32-bit versions of packages. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug.
------------------------------------------------------
Using winetricks 20210206-next - sha256sum: 57ff30bced6c84e79932d5d98993a6361f12331b3a33f51cc1e65d8c9af2656c with wine-7.0 (Staging) and WINEARCH=win64
protontricks (INFO): Terminating wineserver keepalive process 1366924
protontricks - wineserver-keepalive 1366924: Cleanup finished, goodbye!

^ ^The main window appears fine in this, so I exited normally.

Matoking commented 2 years ago

OK, it appears that Steam Runtime's pressure-vessel-launcher isn't working correctly for some reason.

Protontricks uses it to launch individual Wine processes more quickly: in 1.7.0 and older, every time a Wine command was called Protontricks would use Steam Runtime to launch the command inside a new sandbox, which has a small startup time which starts to add up once lots of Wine commands are executed.

Starting with 1.8.0, Protontricks instead launches a pressure-vessel-launcher process that creates a single sandbox and listens for any commands to run inside the sandbox. Protontricks uses this method to launch Wine commands without the startup time cost, greatly improving performance with Winetricks and other applications that run a lot of short Wine commands.

The fact the Segmentation fault (core dumped) error happens even when we test Steam Runtime in isolation seems to indicate it's an issue with Steam Runtime, not Protontricks. You could try verifying the local files for "Steam Linux Runtime - Soldier" and check if that solves the issue, but I'm a bit doubtful that'll work. In that case, opening a new issue for Steam Runtime seems to be the best option.

SeongGino commented 2 years ago

OK, it appears that Steam Runtime's pressure-vessel-launcher isn't working correctly for some reason.

Protontricks uses it to launch individual Wine processes more quickly: in 1.7.0 and older, every time a Wine command was called Protontricks would use Steam Runtime to launch the command inside a new sandbox, which has a small startup time which starts to add up once lots of Wine commands are executed.

Starting with 1.8.0, Protontricks instead launches a pressure-vessel-launcher process that creates a single sandbox and listens for any commands to run inside the sandbox. Protontricks uses this method to launch Wine commands without the startup time cost, greatly improving performance with Winetricks and other applications that run a lot of short Wine commands.

The fact the Segmentation fault (core dumped) error happens even when we test Steam Runtime in isolation seems to indicate it's an issue with Steam Runtime, not Protontricks. You could try verifying the local files for "Steam Linux Runtime - Soldier" and check if that solves the issue, but I'm a bit doubtful that'll work. In that case, opening a new issue for Steam Runtime seems to be the best option.

Indeed, I tried verifying files, but Steam doesn't find anything wrong with the runtime. Interesting! Especially since you say you couldn't reproduce it on your system. Unfortunately, I simply don't have the disk space to try a second install and piece out what wayward package could be somehow causing issue with this, but there isn't anything particularly unusual for my Arch install that I could think of which might be an issue...

laclcia commented 2 years ago

hello, currently experiencing the same issue on Manjaro Cinnamon on X. any version above 7.14 of proton give the error. same step's to reproduce as SeongGino. and as mentioned --no-bwrap even when using --gui makes it work.

installation method: built from source (AUR) version: 1.8.1 proton GE version tested 7.14 7.15 7.16 7.17 7.18 7.19 7.20

SeongGino commented 2 years ago

Strange; since my last comment I've reinstalled Endeavour on my system (for wholly logistical reasons). And I think I've gotten back most of my old packages/AUR imports, but protontricks works fine now. So I can't seem to be able to reproduce the initial issue. (It's the same exact piece of install media too, but both installs are/were online; also the same exact ~/.steam instance that I'd transferred from/back to my home, and tested with prefixes that also were transferred whole from the old install.)

Could Manjaro be the issue? Maybe reinstalling the base system could fix it? That's the only way I was able to get expected behavior from my end, anyways.

Seltyk commented 2 years ago

Reproduced with Call of Duty: Black Ops (42700) and Proton Experimental