App to simplify installation of fixes for non working games on the steam deck
This tool should be selected as a Steam Play compatibility tool. DeckCompanion will then internally select a working proton version and will apply fixes to the wine prefix, if needed.
Open Konsole and enter the following command:
cd /home/$USER/.local/share/Steam/compatibilitytools.d/ && git clone https://github.com/rennerdo30/DeckCompanion.gitThen restart Steam.
DeckCompanion now shows up under Properties → Compatibility → Force the use of a specific Steam Play compatibility tool for every game.
When Steam launches a game through DeckCompanion, it:
- Runs
git pullon itself, so bundled fixes stay up to date. - Looks up a config for the running game (see below).
- Searches every Steam library (
steamapps/common) andcompatibilitytools.dfor the Proton version named in that config. - Runs the config's fix scripts against the game's wine prefix, in order.
- Hands the original launch command over to that Proton build, with any extra environment variables from the config applied.
Everything is logged to /tmp/DeckCompanion.log.
Configs live in games/<steam-app-id>/config.json. If a game has no directory of its own,
games/config.json is used as the default. A config looks like this:
{
"proton-version": "Proton 7.0",
"env": {
"SOME_VARIABLE": "value"
},
"scripts": [
{ "order": 1, "path": "fix-permissions.sh" },
{ "order": 2, "path": "protontricks.sh" }
]
}proton-version— the folder name of the Proton build to use, e.g.Proton 7.0orProton - Experimental.env— optional environment variables passed to Proton.scripts— optional bash scripts, resolved relative to the game's config directory and executed inorder. They run withPROTON,STEAM_COMPAT_TOOL_PATHSandWINEPREFIXalready set, so they can callprotontricks, patch files in the prefix, and so on.
To add a fix for a game, create games/<steam-app-id>/ with a config.json and the scripts it
references. A few example configs are bundled in this repo.
- Steam Deck (or any Linux Steam install) with at least one Proton build installed
- Python 3 and
git— both ship with SteamOS - Whatever the individual fix scripts need (
protontricks, for example)
vdf is vendored in this repo, so there is nothing to install with pip.