ValveSoftware / ValveSoftware/Proton

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

Open
#6,389 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
32.8k
Forks
1.6k
PR merge metrics
PR metrics pending

Description

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/

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the difference between Desktop Mode and Gaming Mode on a Steam Deck using the reported Proton 7.0 user_settings.py path and WINEDLLOVERRIDES setting. Check whether BepInEx/LogOutput.log is created in each mode and trace how the Proton configuration is loaded. Done means the setting is applied consistently in both modes.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.