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

Winecfg override doesn't save most of the time on Steam Deck #202

Closed visor841 closed 10 months ago

visor841 commented 1 year ago

Describe the bug When using Protontricks to add dinput8 as an override in winecfg for Trackmania (2020) (which is F2P), it seems to save roughly once every 5 tries. If I go back into winecfg without closing Protontricks, the override shows up, but if I close out of Protontricks and go back into winecfg, it doesn't show up anymore.

To Reproduce Steps to reproduce the behavior:

  1. Open Protontricks.
  2. Go into Trackmania 2020, default prefix, and open winecfg.
  3. Go to the libraries tab and add dinput8 as an override.
  4. Click Apply or OK in winecfg
  5. Fully close out of Protontricks.
  6. Reopen Protontricks and check winecfg
  7. 4 out of 5 times, dinput8 will be missing from the override list, and if I open the game, I can tell that it's not working.

Expected behavior When reopening Protontricks and checking the overrides, dinput8 is still in the list, and the override functions in-game.

System (please complete the following information):

Additional context

The dinput8 override is required to use Openplanet, a very useful plugin system for Trackmania. I can tell that the override isn't "hidden", because Openplanet only functions when dinput8 shows up as an override after restarting Protontricks.

I can also add that other settings, like the "show dot files" setting (which is also needed for Openplanet), seem to function normally.

Matoking commented 1 year ago

The override should appear prechecked on the list if Winetricks detects it has been installed (i.e. the dinput8.dll file exists in the prefix's system32 directory).

Does the verb still appear rechecked if you install the override and then close Protontricks and reopen it without launching the game in the meantime? There's a chance the game or Proton might modify the prefix during launch, which might explain the override's installation status disappearing.

termdisc commented 1 year ago

Workaround: add the following to the launch options in the game's properties in Steam:

WINEDLLOVERRIDES="dinput8=n,b" %command%

visor841 commented 1 year ago

Does the verb still appear rechecked if you install the override and then close Protontricks and reopen it without launching the game in the meantime?

This was actually the normal way I checked. Immediately closing out of Protontricks and reopening, it did not appear checked.

I went back to investigate more, and now I'm unable to remove the override. It no longer shows up in winetricks (opened through Protontricks) after I removed it a few times, but if I check the prefix, dinput8.dll is in the system32 directory, and Openplanet is still working. So it seems that something is disconnected between Protontricks/Winetricks and the actual state of the prefix.

Matoking commented 1 year ago

Winetricks verbs can generally be only installed, not removed. The workaround for the latter is to remove the prefix and start from scratch.

Nevermind, ignore what I stated previously. Manual changes in overrides in winecfg should persist if you haven't launched via Steam, and even in the latter case Steam hasn't changed them automatically in my experience.

If you remove the override from the list and apply the changes, is something printed to output? You can check the output by starting Protontricks via console using the following command:

flatpak run com.github.Matoking.protontricks -v --gui

The output might be large, in which case you might want to upload the output to gist.github.com.

Matoking commented 10 months ago

Closing due to inactivity.