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).

1 Answer 1


I found an interesting way to do this:

  • Change the Controller Layout of the game at least once
  • Go to /home/deck/.local/share/Steam/logs/console_log.txt (restart the Steam Deck if is not there)
  • Look for a line mentioning your game that looks like this:

[2024-02-12 20:30:40] Loaded Config for Local Selection Path for App ID 2691939340, Controller 15: /home/deck/.local/share/Steam/steamapps/common/Steam Controller Configs/157949493/config/minecraft/controller_neptune.vdf

In this case, 2691939340 is the App ID.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .