crschnick / pdx_unlimiter

A smart savegame manager, editor, and toolbox for all current major Paradox Grand Strategy games.
https://discord.gg/BVE4vxqFpU
GNU General Public License v3.0
229 stars 23 forks source link

Steam Flatpak doesn't work at all #115

Open Melechtna opened 5 months ago

Melechtna commented 5 months ago

~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/Stellaris

~/.var/app/com.valvesoftware.Steam/.local/share/Paradox Interactive/Stellaris/save games/

Please fix this

crschnick commented 5 months ago

what do you mean by does not work? It does not recognize the installation when you set /home/?/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/Stellaris in the settings menu? It's best to try without the tilde here.

Melechtna commented 5 months ago

what do you mean by does not work? It does not recognize the installation when you set /home/?/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/common/Stellaris in the settings menu? It's best to try without the tilde here.

Correct, because it keeps trying to look in ~/.local/share/Paradox Interactive/Stellaris/, which is only valid when steam isn't a flatpak

crschnick commented 5 months ago

Oh I see. Have you tried creating a symlink? That might solve your issue in the short term until I find some time to see how to fix this

Melechtna commented 5 months ago

Oh I see. Have you tried creating a symlink? That might solve your issue in the short term until I find some time to see how to fix this

Was the first thing I attempted, flatpaks have special permissions set to prevent external system access that it isn't granted, which seems to be messing with the symlinks as they don't even work for navigation.

crschnick commented 5 months ago

Would pdxu then even be able to access that data if it would look in the right location? You can experiment with flatseal to open the file system for this.

Melechtna commented 5 months ago

Would pdxu then even be able to access that data if it would look in the right location? You can experiment with flatseal to open the file system for this.

If it's pointed DIRECTLY at it, then yes, softlinks are a little more finiky.

crschnick commented 5 months ago

So in theory you should be able fix the symlink issue with https://github.com/tchx84/Flatseal/blob/master/DOCUMENTATION.md#filesystem

Melechtna commented 5 months ago

So in theory you should be able fix the symlink issue with https://github.com/tchx84/Flatseal/blob/master/DOCUMENTATION.md#filesystem

I've already got these permissions in place, but unless I start mucking with the ACTUAL FS permissions flags (bad idea) symlinks won't function correctly, might break the flatpak, or give it far more permissions than it should be granted. I shouldn't need to chmod the whole flatpak to make this program work, it should recognize we're loading from .var, and shift where it's looking.

crschnick commented 5 months ago

Yeah there the are a couple of things that would have to be adapted to work with flatpak steam paths, it's not just the user data. There's also the steam workshop directories and more. so I'm not sure when I will maybe find the time to fix that.

If anyone wants to contribute a fix for this, I would appreciate it. Also because I don't have a Linux system that can run any games right now.

Melechtna commented 5 months ago

Yeah there the are a couple of things that would have to be adapted to work with flatpak steam paths, it's not just the user data. There's also the steam workshop directories and more. so I'm not sure when I will maybe find the time to fix that.

If anyone wants to contribute a fix for this, I would appreciate it. Also because I don't have a Linux system that can run any games right now.

Not REALLY, flatpaks always go in ~/.var/app/application.whatever.whatever

In the case of steam, I've pointed where steam is, once you're in the Steam folder, everything follows standard convention, I.E. the workshop files are still in the Steam folder, wherever they usually were (I forget at this moment)

As for saves, as long as they're Linux native, as with stellaris, once your in the flatpaks folder as I've also pointed out above, they ALSO follow standard convention. Basically it's normally just a moved home folder.

crschnick commented 5 months ago

Yeah I was talking about having to adapt the path handling in multiple locations in pdxu to use the flatpak paths, e.g. in the workshop support.

It was honestly not initially designed for flatpak, the paths are somewhat hardcoded. If someone wants to contribute, they can update this to be more dynamic and support flatpak. But that would also involve testing whether everything works correctly, which I for example can't do.