Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failing to Acquire Game List From Steam #431

Closed
Joomsy opened this issue Jul 28, 2024 · 3 comments
Closed

Failing to Acquire Game List From Steam #431

Joomsy opened this issue Jul 28, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@Joomsy
Copy link

Joomsy commented Jul 28, 2024

Describe the bug
ProtonUp-Qt is failing to acquire a list of installed games under Steam.

To Reproduce
Steps to reproduce the behavior:

  1. Run the raw Python version of ProtonUp-Qt
  2. Click "Show game list"
  3. If ran through a terminal, the error below should be produced, and the game list will fail to populate
Error getting ctool map from appinfo.vdf: parse_appinfo() got an unexpected keyword argument 'mapper'
Error updating SteamApp info from appinfo.vdf: parse_appinfo() got an unexpected keyword argument 'mapper'

Expected behavior
The game list should be populated with installed Steam games. Oddly enough, non-Steam games are listed.

Desktop (please complete the following information):

  • Platform: PC
  • System: Pop!_OS 22.04
  • Version: ProtonUp-Qt 2.10.0
  • How did you install ProtonUp-Qt?: Cloned Git repository

Additional context
It was working fine before I ran a git pull on it today, so a recent commit may have broken something. That, or this is just coincidence, and Valve just very recently changed something.

@Joomsy Joomsy added the bug Something isn't working label Jul 28, 2024
@sonic2kk
Copy link
Contributor

sonic2kk commented Jul 28, 2024

You may need to run pip install -r requirements.txt, some dependencies were updated; steam and vdf are now pointing to a fork (#426) because upstream did not merge the required changes in time. You can read some background about the report in #415.

I also run from the main branch, and hit the same issue you are reporting, which is why I suspect a pip install -r requirements.txt will fix it. Although I am using the latest Steam Client Beta, so I am unsure how this works on the Steam Client Stable. But given that it's complaining about an unexpected keyword argument I think this is a dependency version issue, since this argument to my knowledge is not present in the upstream dependencies and was added as a requirement to parse the new VDF file format.

The latest Steam Client Beta changed the appinfo.vdf format, so the behaviour you're describing (although the cause is different) is actually present for those of us running the Steam Client Beta. The cause of that issue is because the old version of the steam and vdf libraries can't parse the appinfo.vdf now that the format has changed.

The issue you're describing is most likely because the dependency that you have installed is the older version that needs updated to use the newer one with the patch to parse the new appinfo.vdf, and as part of that fix there is now an optional mapper argument to the steam dependency's parse_appinfo() function.

The reason Non-Steam Games are displayed is because they are parsed differently from shortcuts.vdf, and appinfo.vdf is not touched at all for these.

@Joomsy
Copy link
Author

Joomsy commented Jul 28, 2024

@sonic2kk Ah, thanks for that! That seemed to do the trick. I would have never thought to do that, but I'll definitely keep this in mind for the future. Thanks for the clarification, as well. That all makes total sense.

@Joomsy Joomsy closed this as completed Jul 28, 2024
@sonic2kk
Copy link
Contributor

I entirely missed it as well and almost opened a bug report for this yesterday, but it dawned on me that I should try updating the dependencies first.

I think this is something you're probably supposed to do in general, but I'm silly and never do it when I pull 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants