Matoking / protontricks

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

Unable to run winecfg on Steam Deck #166

Closed Dwismas closed 1 year ago

Dwismas commented 2 years ago

I am trying to mod a game through Bepinex following this guide: https://docs.bepinex.dev/articles/advanced/proton_wine.html When I try to select "run winecfg", the window closes, and then reopens. I am assuming that the winecfg window breaks in some way and the previous window reopens in response. FYI I am using an alternative build with D-Bus enabled through Flatseal to get this to work on the Deck (https://github.com/flathub/com.github.Matoking.protontricks/pull/31#issuecomment-1234733878)

Steps to reproduce the behavior: (I am using the gui)

  1. Open Protontricks
  2. Select any game
  3. Select default wine prefix
  4. Select "run winecfg"
  5. Watch the window close and reopen

Expected behavior I should be able to see and configure winecfg

System (please complete the following information):

Matoking commented 2 years ago

Copying relevant comment from #164:

So winecfg and the gui worked. Regedit, explorer, taskmanager just return to the previous menu. Maybe my issue is the test build didn't completely download? 2mb of 16. All in the Gist: https://gist.github.com/guymanley/8abbcffcd87f408d2c516d89f9b71187 I used the discover app to remove protontricks before replacing test builds. I should clarify, the gist shows me installing the test build you posted lastly twice because I thought it failed the first time and uninstalled via discover, which is not shown in the gist. When the same behavior happened on the 2nd attempt to install, I just decided to move on with testing. I was able to edit a dll in Resident Evil 4 HD and remove the launch command override that did the same function so winecfg at least is working. Not sure how much else is not working.

I was able to reproduce the issue on Proton 7.0, but not Proton 6.3 using the following method:

# Open two terminal emulators.
# On the first one, open a Windows command prompt, and leave it open. This will ensure a wineserver process is left open.
$ protontricks -v --no-background-wineserver -c bash APPID
$ wine cmd.exe 

# On the second one, open Winetricks GUI as normal, then select winecfg, close it, and open winecfg again.
# It should crash with the same error.
$ protontricks -v --no-background-wineserver APPID --gui

My guess is it's related to the recent Steam Runtime update since --no-bwrap also fixes the issue, but I'll have to look into this more. Protontricks 1.9.0 and non-Flatpak environment also trigger the same error.

Matoking commented 1 year ago

I've looked into this issue and managed to reproduce it on just Steam Runtime Soldier + Proton 7.0, which leads me to believe it's a bug with either of the two projects. I've submitted an upstream bug report here:

https://github.com/ValveSoftware/steam-runtime/issues/529

MattyXarope commented 1 year ago

I've looked into this issue and managed to reproduce it on just Steam Runtime Soldier + Proton 7.0, which leads me to believe it's a bug with either of the two projects. I've submitted an upstream bug report here:

ValveSoftware/steam-runtime#529

is there a workaround meanwhile?

Matoking commented 1 year ago

I've looked into this issue and managed to reproduce it on just Steam Runtime Soldier + Proton 7.0, which leads me to believe it's a bug with either of the two projects. I've submitted an upstream bug report here: ValveSoftware/steam-runtime#529

is there a workaround meanwhile?

You can disable bwrap using --no-bwrap, which prevents bwrap based Steam Runtime from being used, like so:

$ protontricks --no-bwrap <appid> <command>
RadiantMorningstar commented 1 year ago

WHY HAS THIS CRIPPLING ISSUE GONE UNFIXED FOR OVER A MONTH??????

Matoking commented 1 year ago

I've investigated the issue a few times, and determined some things:

Any help with this would be appreciated.

Matoking commented 1 year ago

This has been fixed in 1.10.3 by disabling background-wineserver by default. While this increases Wine command launch time somewhat, the launch time seems to have improved to a point where it's no longer a problem: 10 seconds for protontricks <appid> good with background-wineserver vs 20 seconds without, most of it spent in Winetricks startup.

The background Wineserver also seems to be responsible for the problem with broken output, although I haven't been able to determine exactly why. In any case, disabling it by default seems to be a no-brainer at this point considering these two longstanding issues.