Similar to this question, I need to find a non-Steam game ID so I could locate its Proton prefix inside /home/deck/.local/share/Steam/steamapps/compatdata/
in SteamOS on Steam Deck.
I can find the ID by grepping the ps
output (ps aux | grep "SteamLaunch AppId="
) while the game is running, and that ID is a correct value which I can use to locate the game's Proton prefix inside compatdata
.
However, I cannot figure out where else I could get this value from? What is the hashing function that Steam uses to generate it? I tried the code from the answer in that thread that I linked, but it outputs a different value (different from the one the game actually gets).
Moreover, I did a simple experiment: added an executable as a non-Steam game, wrote down the ID it got, removed that game from Steam library, removed its Proton prefix, added the same executable under the same path as a non-Steam game again, and this time it got a different ID. So apparently there are more arguments (probably a timestamp) to that hashing function than just the path to executable and name/title (that would also explain why the code from that answer outputs a different value).