Skip to content

[Request]: Enhance the control over Steam Proton prefixes through Bottles (Launch Arguments) #3512

@ikcii

Description

@ikcii

Tell us the problem or your need

Currently, a LOT of Bottles settings for Steam Proton prefixes have no effect, because they're commands ran ahead of the game executable or env variables set ahead of time (not sure about the specifics in Bottles' case but I run a lot of games through Steam only with stuff like MANGOHUD=1 gamemoderun %command% and so on)

Describe the solution you'd like

Potential solution - Create an extra button next to "Launch with Steam" button inside of the Steam Proton bottle:

  • The button would generate a string of text that the user could paste into the Launch Options text field in the Properties menu of the game in question.
    • Depending on how Bottles launches non-Steam games, there is potential to hook the pre-existing functionality for setting env vars and launch arguments based on individual bottle's settings. Bottles might "dry run" a non-existent shortcut within the given Steam Proton prefix and then convert it into a launch argument compatible with Properties menu in Steam, like the above mentioned MANGOHUD=1 gamemoderun %command% for enabling Feral GameMode and MangoHud for the given program.
    • After the launch arguments string is generated, Bottles can:
      • Display a read-only text field with that launch arguments string so that the user could copy it.
      • Automatically copy it into the clipboard on top of that and/or have a "Copy to Clipboard" button next to the text field aor make the text field itself select and/or copy the entire launch arguments string when clicked for convenience.
      • Display another button which would be a shortcut to the Steam's Properties menu for the given game, this can be done using the Steam browser protocol (for example steam://gameproperties/440 opens the Properties menu for Team Fortress 2, I believe Bottles already extracts the Steam ID of the game in question, so this should be trivial to implement). Very conveniently, the Properties menu has the Launch Arguments text field instantly visible in the 1st tab.

Other solutions?

On top of that, there could be a prompt for the user hooked to closing/saving Bottle settings for Steam Proton bottles, asking them to replace the Launch Arguments for the given game with the up-to-date ones.

Additional context and references

god the ADHD meds are kicking in hard

Edit: This might be handy, tho I'm assuming you guys already know about those things:
https://developer.valvesoftware.com/wiki/Steam_browser_protocol
https://developer.valvesoftware.com/wiki/Command_line_options#Steam

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions