-
Notifications
You must be signed in to change notification settings - Fork 130
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
Proton compatibility layer suddenly missing on non-Steam games #672
Comments
Could someone point me in the right direction? In what folder should Proton be for Gamehub to detect it? In the settings, under Steam, I am still correctly authenticated and the installation directory is correct, but there is nothing under Proton. |
Same problem here. Would really like to use Proton as compatibility layer. Grateful for any advice. |
I am having the same issue. I suspect Steam may have changed something about the VDF file format. At launch, GameHub logs I tried investigating this a bit. Right at startup, when trying to find proton versions, GameHub reads a Steam VDF file looking for Proton instances installed. This uses I sadly did not manage to fix this yet, but maybe this can provide some info to code a fix. Edit: What is strange about this is that all my games seem to show up fine. Maybe this is not the actual issue after all. |
I'm glad you two could confirm that it isn't just me. This might finally spark some attention from the developer. |
I fear this project is no longer maintained, considering the last dev activity was nearly a year ago. I don’t have any experience with vala and am not very confindent since @fyr77 (Amazing hint btw) already tried, but I try to look into this again, if I find the time. |
A solution would perhaps be to not look for the proton versions in AppInfo, but instead use the regular path. We can detect the steam location without issue, normally they are found in |
With only looking at the code here on GitHub, my assumption would be, that the problem is happening before the AppInfoVDf is called. In the edit to the appinfo.vdf @fyr77 linked, it looks, like an additional entry (SHA1 checksum) is added an now in the spot where the BinaryVDF was listed before. So I could imagine, that instead of parsing the binary file, the AppInfoVDF Class is now given the SHA1 checksum as parameter, instead of the actual file. Maybe we should look into where the class gets called and how the parameters are chosen. Edit: After reading a bit, it seems like in line 304 of BinaryVDF.vala „seek“ is used to skip the stream by 44 (bytes?). Afterwards the app ID is read from the stream. As this seems pretty hardcoded to me, it may be a fix to just skip/seek a bit further. This states, that the added checksum is 20 bytes long, so maybe just bumping the offset to 64 is enough?? |
Update: I managed to implement using custom Proton versions in This works fine for running games, but the problem with Steam's Proton versions still stands. Edit: This is still kinda hacky, this was just a first attempt. I need to figure out how to get the Steam directory set in the app settings, currently I am just scanning user home. |
Oh wow, it is. That fixes everything. I will test a bit and then push to my fork in case you want to build from source and try it. And yes, Vala doc is kinda bad. |
Amazing! Thank you for testing. |
Either you wait for this to be pulled into the main application, or you do the following:
|
So kind of you. You made my day! |
Will this (proper) fix ever be merged? |
@fionnb I fear that the project dev is no longer working on this. Nothing has happened on this repository in quite a while. |
Expected behavior
When configuring a game, I can choose any version of Proton currently installed by choosing in in the "Compatibility layer" drop-down menu, like I always did. Proton was usually the default.
Actual behavior
When configuring a game, only Retroarch and Wine 32 + 64 show up.
Steps to reproduce
I don't remember doing anything.
Version and environment
The text was updated successfully, but these errors were encountered: