Skip to content

Compatdata Redirect

frostworx edited this page Jun 17, 2021 · 13 revisions

might require some more optimizations and improvements - free to submit test results, improvements, suggestions

When changing the used Proton Version for a game, files in the Compatdata are changed and renewed. This does not always work good and since recent Proton Versions it is even possible, that the Compatdata has to be removed as it got broken.

stl can circumvent this problem, by allowing to map the currently selected Proton Version to a corresponding Compatdata directory. This can be configured via two different ways, by selecting either single-proton or global-proton in the corresponding "Redirect compatdata" Game Menu option. (by default this option is "disabled" - means the regular Compatdata directory is used)

When enabling either of the options stl doesn't migrate any game configuration (yet?) from the current Compatdata to the new one, so the user has to take care for migrating any configs.

single-proton

When using this option the custom Compatdata directory is stored in the compatdata/stl subdirectory as as SteamAppID-Proton Version (f.e. 31337-proton-6.3-4) besides the regular Compatdata of the game.

The regular Compatdata will be replaced with a symlink pointing to the custom Compatdata If the regular Compatdata already exists, it will be

The single-proton mode also works perfectly fine in combination with the mighty One Time Proton. When using this option switching between different proton versions can no longer harm a Compatdata

global-proton

This option works basically almost identical to the single-proton, but the custom Compatdata is stored in $STLPROTCOMPDATDIR/compatdata-Proton Version (f.e. ~/.config/stl/proton/compatdata/compatdata-proton-6.3-4) The Compatdata symlink for the game is created accordingly. Using this option it is possible to share one single Compatdata between all games using this option and the same Proton Version

SteamUser-Redirect

Both single-proton and global-proton options can be combined with the additional per-game REDIRSTEAMUSER option in the Game Menu, which can be used on the SteamUser directory. The following modes are available:

When disabling a symlink again, stl replaces it with a real directory and either recovers the data from the central directory (only when it is a per-game directory) or recovers from the per-game backup if available.

Clone this wiki locally