DavidoTek / ProtonUp-Qt

Install and manage GE-Proton, Luxtorpeda & more for Steam and Wine-GE & more for Lutris with this graphical user interface.
https://davidotek.github.io/protonup-qt
GNU General Public License v3.0
1.16k stars 39 forks source link

Error when trying to open ProtonUp-Qt Flatpak. #377

Closed AirisLuna closed 2 months ago

AirisLuna commented 2 months ago

Screenshot_20240420_005732-obfuscated

I'm not an advanced Linux user, but when trying to open the flatpak version of ProtonUp-Qt I get this error.

Platform: PC System: Arch Linux with KDE Plasma Version: ProtonUp-Qt 2.9.0 How did you install ProtonUp-Qt?: Flatpak

Additional context The program was running fine before, and while I was configuring I selected one option(that I can't remember) causing the program to crash and not open again. Tried uninstalling and reinstalling without success.

sonic2kk commented 2 months ago

Does the v2.9.2 AppImage work? v2.9.2 is not available as Flatpak yet (https://github.com/flathub/net.davidotek.pupgui2/pull/27).

Based on the FileNotFound error, sounds like a duplicate of these issues (should be fixed by #356):

I'd be interested to know what option you selected. Was it the Custom Install Location by any chance? The three dots to the right of the dropdown.


Note though that if ~/.local/share/Steam/config/config.vdf or ~/.local/share/Steam/config/libraryfolders.vdf doesn't exist, this likely means your Steam installation is invalid.

The crash is caused because if the Steam path exists (in this case, ~/.local/share/Steam) but the data files that a typical Steam install has does not exist (in this case, config.vdf and libraryfolders.vdf) then ProtonUp-Qt wouldn't have bailed out at this point. With v2.9.2, it won't attempt to use a Steam installation if those files don't exist.

AirisLuna commented 2 months ago

Note though that if ~/.local/share/Steam/config/config.vdf or ~/.local/share/Steam/config/libraryfolders.vdf doesn't exist, this likely means your Steam installation is invalid.

I am using the Flatpak version of Steam, maybe that is the issue? Steam itself works fine and without any issues, however the folders/files you mentioned indeed to not exist.

I'd be interested to know what option you selected. Was it the Custom Install Location by any chance? The three dots to the right of the dropdown.

I was checking options and misclicked, so I'm not exactly sure which one did I choose, but as soon I did, I got the mentioned error and couldn't open ProtonQt-Up again.

Does the v2.9.2 AppImage work? v2.9.2 is not available as Flatpak yet (https://github.com/flathub/net.davidotek.pupgui2/pull/27).

I downloaded the AppImage and it did work. Considering it's already a fixed issue that only needs to be upstreamed to the flatpak version, I will mark this as solved. Thank you for your support.

sonic2kk commented 2 months ago

Glad it's working!

I am using the Flatpak version of Steam, maybe that is the issue?

Yes, that may be the issue. You or your distribution may have shipped a Steam installation that was not Flatpak at some point, thus causing the problem. If you have a Steam folder structure from a prior installation but without the data files, ProtonUp-Qt v2.9.1 will crash (the Flatpak is actually v2.9.1, some metadata was just missing).

Or perhaps...

I was checking options and misclicked, so I'm not exactly sure which one did I choose, but as soon I did, I got the mentioned error and couldn't open ProtonQt-Up again.

Hmm, maybe ProtonUp-Qt somehow created a folder structure that it expected to appear. It used to default the Steam installation folder to ~/.local/share/Steam if it couldn't find Steam, so maybe something went wrong there (maybe the Games List or something? I'm not sure).

DavidoTek might be able to comment more if there's any potential that ProtonUp-Qt could erroneously have created this folder structure, if you never had anything except Flatpak Steam installed before. _STEAM_ROOT may have been improperly set and somehow ended up creating the folder structure, since the path in your screenshot matches the previous default of ~/.local/share/Steam.

Shouldn't happen anymore but might be an interesting avenue to explore to try and prevent ProtonUp-Qt from creating these folders (unless it is intentionally doing so and I am unaware).

Considering it's already a fixed issue that only needs to be upstreamed to the flatpak version, I will mark this as solved.

Yeah, the AppImage is usually released first, and then the Flatpak gets updated some time later. Should be available soon :-)

DavidoTek commented 2 months ago

DavidoTek might be able to comment more if there's any potential that ProtonUp-Qt could erroneously have created this folder structure, if you never had anything except Flatpak Steam installed before. _STEAM_ROOT may have been improperly set and somehow ended up creating the folder structure, since the path in your screenshot matches the previous default of ~/.local/share/Steam.

ProtonUp-Qt does indeed create the compatibilitytools.d folder (and similar for other launchers) when it is started. That only happens when the parent folder (e.g., ~/.local/share/Steam) exists. We do this as there were cases where the compatibility tools folder did not exist for some reason. It wouldn't create the parent folder though, so not sure why that exists. I also checked the Flatpak, there is no :create flag set for the Steam location. Maybe in previous Flatpak version, os.path.exist would return True if the path is mapped, but does not actually exist? (just a though, definitively not the case any more if it ever was)


Code References:

https://github.com/DavidoTek/ProtonUp-Qt/blob/4ddd0377e94ae8d73237a44efe1b0fee3c27b516/pupgui2/util.py#L183-L196

https://github.com/flathub/net.davidotek.pupgui2/blob/2e8b0a7158dadf0d7c0b94f5d56be565f0997fcc/net.davidotek.pupgui2.json#L12-L14