protonscr

Turn on proton for all games and set individual game's run parameters via command-line only

steamopen Feature RequestProton
ValveSoftware/steam-for-linux#6121 · opened 2019-03-02 by tatsujb · updated 2025-02-01 · 7 comments · github
Ttatsujb 2019-03-02 github

Feature Request

I'd like for it to be possible to streamline the installation of a game via command line / terminal.

right now this is almost possible using steam + steamcmd but the issue remains that you cannot set "proton for all games" to enabled via the command line.

also you cannot edit a game's individual environment commands. (or maybe you can if you know what file to edit but this is not documented.)

I confirm:

  • [x] that I haven't found another request for this feature.
  • [x] that I have checked whether there are updates for my system available that
    contain this feature already.

Description

#!/bin/bash
# launch steam in order to have the user set game launch options and enable steam play for
# all games
steam -login $steam_user_name $steam_password;
# once steam has exited the script may continue (we are assuming the end user correctly did
# his part)
# now we start steam cmd in order to download a game from command line
steamcmd +login $steam_user_name $steam_password +@sSteamCmdForcePlatformType windows +app_update 9420 validate +quit;
# this finishes on it's own then 
# we launch the game via steam to finalize installation. this too cannot be scripted. 
# it would be much more usefull if we could simply run steam check (this thing that
# installs final dependencies such as directX and .net) without having to start steam
# UI nor the game in question
steam -login '$steam_user_name' '$steam_password' -applaunch 9420 -shutdown -nofriendsui;
# it's also worth pointing out (although not the focus of this issue)
# that the "shutdown" and "nofriendsui" arguments are broken and do nothing as it stands.
# also if steam and steamCMD are being run for the first time on a PC, and username and
# password are passed as arguments, the PC they are run on will not be whitelisted by entering 
# in steam guard wheras, if you run steam from GUI first and type in steamguard code once,
# steamguard promt will not show again for either GUI or command line. as it should.
Kkisak-valve maintainer 2019-03-02 github

Hello @tatsujb, this is a feature request for Steam rather than Proton, because it's Steam that handles downloading and managing content, so I've transferred this feature request to the steam-for-linux issue tracker.

Ttatsujb 2019-03-12 github

I've got an example use-case : https://github.com/tatsujb/installFAFscript

my script allows an ubuntu user to enjoy FAF (the unofficial client) + supreme commander forged alliance.

the script unfortunately is not 100% automated, it still requires user input at certain moments, moments which I really feel could easily be fixed.

enabling steam play for all games.

is there is a non gui-way to do this? I would be most pleased to know.

Ttatsujb 2019-04-14 github

@kisak-valve , hi, is there any pointers I can get on this? I'm sure that doing it is actually already possible but that I simply do not know where to look.

perhaps it's a dumb as altering a .config file or something of the nature?

Ttatsujb 2019-04-14 github

I haven't found anything for enabling proton by command line but for setting launch options there may yet be a solution :

for the game's settings I found localconfig.vdf

under ~/.steam/steam/userdata/63405752/config but replacing an entry with something else especially while steam is open, leads to steam replacing it from memory upon close/restart/menu change.

for example I am changing under "Software" :

"9420"
					{
						"LastPlayed"		"1554153269"
					}

into

"9420"
					{
						"LastPlayed"		"1554153269"
						"ViewedLaunchEULA"		"1"
						"ViewedSteamPlay"		"1"
						"BadgeData"		"02000000080b"
						"LaunchOptions"		"PROTON_NO_ESYNC=1  %command%"
					}

the result is not applied if steam was running.

image

Cchyyran 2022-07-04 github

+1 bumping this issue for a feature to set LaunchOptions programmatically, either via a steam:// URL, steamcmd or some API to manually refresh localconfig.vdf.

Current hack to kill steam, edit localconfig.vdf, and restart steam is pretty hacky.

Mmaxpain 2023-07-28 github

Any updates?

Jjayceslesar 2025-02-01 github

@tatsujb does this imply that something like sudo killall steam and then modifying your localconfig.vdf, then restarting steam would apply those changes?

Launch options

Launch lines