Matoking / protontricks

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

PROTONTRICKS_STEAM_RUNTIME not set #281

Closed ericx closed 1 month ago

ericx commented 5 months ago

Describe the bug When running protontricks 1716740 xaudio2_7=native, it fails early when testing whether wine will run:

warning: /home/ericx/.cache/protontricks/proton/Proton Experimental/bin/wine cmd.exe /c echo '%AppData%' 
returned empty string, error message "steam-runtime-launch-client[15956]: E: Unable to connect to any of 
the specified bus names" 

If I run the command directly:

$ /home/ericx/.cache/protontricks/proton/Proton\ Experimental/bin/wine cmd.exe /c echo '%AppData%'
protontricks - wine 16604: Checking for running wineserver instance
protontricks - wine 16604: Setting default env: WINEFSYNC=1
protontricks - wine 16604: Setting default env: WINEESYNC=1
Unknown PROTONTRICKS_STEAM_RUNTIME value 
[Exit 1 ]

To Reproduce Steps to reproduce the behavior:

  1. Run command protontricks 1716740 xaudio2_7=native
  2. Command fails and error is displayed

Expected behavior Presumably it should set xaudio2_7.dll to native mode without an error.

System (please complete the following information):

Additional context I'm trying to install MO2. So I'm running the modorganizer2-linux-installer by RockerBacon on Github (https://github.com/rockerbacon/modorganizer2-linux-installer). Currently that install script fails when it attempts to run protontricks 1716740 xaudio2_7=native

I can see that the PROTONTRICKS_STEAM_RUNTIME variable is set in the python protontools.utils file; but that's as far as I can get.

If the error happens when trying to run a Protontricks command, run the command again using the -vv flag and copy the output!

https://gist.github.com/ericx/0735909575c9bfd256b03a33e11b75b4

Matoking commented 5 months ago

It seems that the Steam Runtime launcher is not starting up correctly, causing the later "Unable to connect to any of the specified bus names" error. The error here seems to be the culprit:

pressure-vessel-wrap[21671]: E: ':' and '\' in --filesystem argument not handled yet

One of the directories in your root contains a : character that Steam Runtime is not able to grok, causing it to crash.

If renaming or deleting the offending directory is not an option, you should be able to use --no-bwrap flag as a workaround, though that means Proton won't be run under Steam Runtime and you might run into other issues.


As a side note, the executables Protontricks creates under ~/.cache/protontricks/proton are not meant to be run directly, as they rely on various environment variables being set up during runtime. If you want to run them interactively, you can open a shell session using Protontricks so that the environment is correctly set up:

$ protontricks -c bash <appid>
Matoking commented 4 months ago

I pushed a change to master that should now check for successful bwrap-launcher and halt early if something goes wrong. This should make the culprit more obvious going forward, as it should now be the last error in the logs.