Skip to content

Use a specific compatibility tool with a Non-Steam Game and write it out to the config.vdf #905

Closed
@trentondyck

Description

@trentondyck

Please see comments at the bottom of #738 for more context

We have the App ID now, so we should be able to configure proton compatibility to Non-Steam Games.

In my own script I'm doing something like the following (Obviously you wont be using vdf just including the example for context):

        /home/deck/.local/bin/pip install vdf 

        export horizon_dir="/home/deck/horizon-xi"
        export steam_dir="/home/deck/.local/share/Steam" 
        config_vdf=${steam_dir}/config/config.vdf
        cp -f ${config_vdf} ${horizon_dir}/bak.config_vdf
        # Documentation - https://github.com/ValvePython/vdf
        echo "Installing Proton layer to ${config_vdf}"

python << END

import vdf 
d=vdf.load(open('${config_vdf}')) 
 
if not 'CompatToolMapping' in d['InstallConfigStore']['Software']['Valve']['Steam']: 
  d['InstallConfigStore']['Software']['Valve']['Steam']['CompatToolMapping']={} 
 
ctm = d['InstallConfigStore']['Software']['Valve']['Steam']['CompatToolMapping'] 
ctm['${app_id}']={ 'name': 'GE-Proton7-42', 'config': '', 'priority': '250' } 
vdf.dump(d, open('${horizon_dir}/config.vdf','w'), pretty=True) 
 
END 
 
        cp -f ${horizon_dir}/config.vdf ${config_vdf} 
        echo "Should have copied ${horizon_dir}/config.vdf to $config_vdf"

        restart_steam
        echo "Successfully added nonsteam game"

Metadata

Metadata

Assignees

No one assigned

    Labels

    Non-Steam GameIssues relating to Non-Steam Games launched through the Steam ClientenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions