I needed to revert back to previous Proton build to do some testings, so I figured out how to download and add any Proton version manually to Steam.
Go to Steam console steam://nav/console and download with following command (guide here https://steamcommunity.com/sharedfiles/filedetails/?id=889624474)
download_depot <appid> <depotid> [<target manifestid>] [<delta manifestid>] [<depot flags filter>] : download a single depot
Example for Proton 4.2-5:
Download the specific build
download_depot 1054830 1054831 325796197665791634
at the end of download process, locate the download location logged in the console (here ~/.local/share/Steam/ubuntu12_32/steamapps/content/app_1054830/depot_1054831/)
Create the ~/.steam/root/compatibilitytools.d/ folder if it doesn't exist yet, and create a sub folder in it to import your custom version of Proton to Steam, in this example it will be "prouton45"
mkdir ~/.steam/root/compatibilitytools.d/
mkdir ~/.steam/root/compatibilitytools.d/prouton45
Move the content of ~/.local/share/Steam/ubuntu12_32/steamapps/content/app_1054830/depot_1054831/ to ~/.steam/root/compatibilitytools.d/prouton45
Ccreate the VDF file at ~/.local/share/Steam/compatibilitytools.d/prouton45/compatibilitytool.vdf that will make this folder recognized by Steam according to the Proton GitHub.
"compatibilitytools"
{
"compat_tools"
{
"Prouton45" // Internal name of this tool
{
// Can register this tool with Steam in two ways:
//
// - The tool can be placed as a subdirectory in compatibilitytools.d, in which case this
// should be '.'
//
// - This manifest can be placed directly in compatibilitytools.d, in which case this should
// be the relative or absolute path to the tool's dist directory.
"install_path" "."
// For this template, we're going to substitute the display_name key in here, e.g.:
"display_name" "Prouton45"
"from_oslist" "windows"
"to_oslist" "linux"
}
}
}
Start Steam and select "Prouton45" in the available Proton version (in Settings or per game).