Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Example configuration for Steam Proton user settings
#!/usr/bin/env python3
import os
user_settings = {
#logs are saved to $HOME/steam-$STEAM_APP_ID.log, overwriting any previous log with that name
# "WINEDEBUG": "+timestamp,+pid,+tid,+seh,+debugstr,+module",
# "DXVK_LOG_LEVEL": "info",
#Enable DXVK's HUD
# "DXVK_HUD": "devinfo,fps",
#Use wined3d for d3d11 instead of dxvk
# "PROTON_USE_WINED3D11": "1",
#Disable d3d11 entirely
# "PROTON_NO_D3D11": "1",
#Disable in-process synchronization primitives
#Debug the Vulkan loader
# "VK_LOADER_DEBUG": "all",
game_id = None
if game_id == None and 'SteamAppId' in os.environ:
game_id = int(os.environ["SteamAppId"])
if game_id == None and 'SteamGameId' in os.environ:
game_id = int(os.environ["SteamGameId"])
if game_id == None and 'STEAM_COMPAT_DATA_PATH' in os.environ:
game_id = int(os.path.basename(os.environ['STEAM_COMPAT_DATA_PATH']))
print("Running user settings for game %s:" % (game_id))
# Age of Empires II: HD Edition
if game_id == 221380:
print("- Skipping launcher")
game_dir = os.path.expanduser('~/.steam/steam/steamapps/common/Age2HD/')
if not os.path.islink(game_dir + 'Launcher.exe'):
os.remove(game_dir + 'Launcher.exe')
os.symlink(game_dir + 'AoK HD.exe', game_dir + 'Launcher.exe')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment