Cannot Run Successfully
Closed this issue · 5 comments
Installed from AUR. Log below.
$ ./sif.py --pretend --verbose
Current icon theme: Papirus-Light
Steam version: steam-runtime_0.20220315.0
[ok] Found Steam installation directory:
- /home/ujhhgtg/.local/share/Steam
[ok] Found Steam configuration file:
- /home/ujhhgtg/.local/share/Steam/config/config.vdf
[ok] Found Steam libraryfolders.vdf file:
- /home/ujhhgtg/.local/share/Steam/config/libraryfolders.vdf
[ok] Found Steam library folders:
- /home/ujhhgtg/.local/share/Steam/steamapps
[ok] Found Steam localconfig.vdf file:
- /home/ujhhgtg/.local/share/Steam/userdata/1123682541/config/localconfig.vdf
[ok] Found database.json file:
- /usr/share/SIF/database.json
Traceback (most recent call last):
File "/usr/bin/sif", line 561, in <module>
if any(x in games_with_compat[str(game)]["name"] for x in ["proton", "Proton"]):
File "/usr/bin/sif", line 561, in <genexpr>
if any(x in games_with_compat[str(game)]["name"] for x in ["proton", "Proton"]):
KeyError: 'name'
Installed steam games: Superliminal(native), Among Us(Steam Play: Proton Experimental), Bridge Constructor Portal(native)
Hello, thank you for reporting this! I'm curious how the contents of ~/.local/share/Steam/config/config.vdf
file look in your case. Not necessarily the whole file, but the "CompatToolMapping" section is what I'm interested in. In my case, it contains entries for all games I manually configured to use a specific version of Proton. So it looks like this:
"CompatToolMapping"
{
"0"
{
"name" "proton_7"
"config" ""
"priority" "75"
}
"271590"
{
"name" "GE-Proton7-25"
"config" ""
"priority" "250"
}
"244850"
{
"name" "GE-Proton7-26"
"config" ""
"priority" "250"
}
... (shortened)
}
From your report, it seems that the "name" attribute is missing in some (maybe all) entries. Maybe Steam introduced some new format for this section and I would need to adapt this script to it. But this is probably not the case, because in your log I can see you use six months old Steam version steam-runtime_0.20220315.0
.
Anyway, it doesn't happen in my case, so I don't really have a way to debug this. I will be glad for your cooperation.
I found the error and also the solution. The "name" key below the "CompatToolMapping" should be "Name". Looks like #18 very much lol. I changed line 561 from:
if any(x in games_with_compat[str(game)]["name"] for x in ["proton", "Proton"]):
to:
for game in games_with_compat:
if any(x in games_with_compat[str(game)]["Name"] for x in ["proton", "Proton"]):
and everything works perfectly.
Thank you for testing this. It should be fixed in the latest master commit.
Line 583 in 9aada9a
You are right, it looks very similar to the issue you mentioned. I have no idea how Steam generates those files and which naming convention they use. Could you please test, if the latest version works for you?
Thank you! Seems like it's fixed.