protonscr

Proton user_settings.py ignored in Steam Decks 'Gaming Mode'

protonopen
ValveSoftware/Proton#6389 · opened 2022-12-13 by PyroDevil · updated 2022-12-13 · 1 comments · github
1 matching comments, n / p to jump
PPyroDevil 2022-12-13 github

Your system information

Hardware: Steam Deck

SteamOS:

BUILD_ID=20221005.1
VERSION_ID=3.3.2

Steam: Dec 5 2022, at 23:38:29

Steam API: v020

Steam package version: 1670284449

Please describe your issue in as much detail as possible:

I wanted to configure Proton via the user_settings.py, which seems to work when the game is started with Steam from the Desktop Mode. However, those settings seem to be ignored when the game is started from the Steam Decks 'Gaming Mode'.

Steps for reproducing this issue:

  1. Install a Unity Windows game and Proton 7.0 on a Steam Deck
  2. Install Bepinex 5 (Unity modding tool) for the game, it needs to override winhttp.dll to work.
  3. Set the following config: /home/deck/.local/share/Steam/steamapps/common/Proton 7.0/user_settings.py:
    user_settings = {
        "WINEDLLOVERRIDES": "winhttp=n,b",
    }
    
  4. Start game from Steam in Desktop mode. A log file in the game directory [code]BepInEx/LogOutput.log[/code] should be created, meaning the modding tool was successfully loaded.
  5. Delete the log file and change to 'Gaming Mode'
  6. Start the same game from there
Expected:

The log file is created as well, meaning the modding tool was loaded and the game is started the same way in the 'Gaming Mode' as it does in the 'Desktop Mode'

Result:

No log file is created, meaning the modding tool was not loaded, which means the [code]user_settings.py[/code] was not loaded.

Possible workarounds and their downsides:
  • Use a wrapper script/program to set options and start the game (local to each game)
  • Set game launch options containing the environment variables (local to each game)
  • Modify the proton python script (modifies code, that should not be modified)
Other infos

I also posted this on the steam forums: https://steamcommunity.com/app/1675200/discussions/1/3716063566028107561/

Kkisak-valve maintainer 2022-12-13 github

Hello @PyroDevil, my understanding is that Proton's user_settings.py gets called from the proton python script, and the Steam client isn't involved in making any decision to use it or not. I've transferred this issue report to the Proton issue tracker for a Proton dev to ponder this behavior.

If the above is not true, a Proton dev can let me know and we can transfer this back to the steam-for-linux issue tracker.

Proton versions

Launch options

DLLs