ProtonPlus icon indicating copy to clipboard operation
ProtonPlus copied to clipboard

[BUG] ProtonPlus saving to wrong location?

Open SemiRealProductions opened this issue 1 year ago • 10 comments

I noticed ProtonPlus wasn't showing up in Steam when I had downloaded a version of GE-proton.

Did some digging and found that it's saving to: .local/share/Steam/compatibilitytools.d

Whereas on Linux Mint, Proton Versions go into: .steam/debian-installation/compatibilitytools.d

I've tested this over Linux Mint 21.3 and 22 and with a fresh install.

I'm not really sure if this is a ProtonPlus issue or a Linux Mint thing.

But my fix for it so far is to create a link from the download location to the desired location, though this doesn't feel like a proper solution.

Potentially a feature request would be to have an advanced setting where you can see the location of the installed proton version + be able to select where the installs go if things aren't working correctly

SemiRealProductions avatar Sep 30 '24 07:09 SemiRealProductions

Currently it checks if one of the following directory exists in the given order and if it does exists it sets that as the directory.

  1. ~/.local/share/Steam
  2. ~/.steam/root
  3. ~/.steam/steam
  4. ~/.steam/debian-installation

Could you please tell me which of these locations exists for you.

Vysp3r avatar Oct 02 '24 20:10 Vysp3r

Also if you have a feature request I would rather you create a separate issue for it since mixing things just lead to confusion.

Thank you :)

Vysp3r avatar Oct 02 '24 22:10 Vysp3r

I'm using Fedora and this is the first time I hear about .steam/debian-installation/compatibilitytools.d. Why would Steam use a different directory on other distros?

Anyway, since the directories are scanned, it means your system had a .local/share/Steam/compatibilitytools.d already, before you ran ProtonPlus. And it's prioritized since it's the "most correct" location for Steam these days.

We need to be completely certain of what's goin on with Steam on Linux Mint (and if you've modified your system) before making any changes to this.

Arcitec avatar Oct 02 '24 23:10 Arcitec

It also makes no sense to me, because why would they have both directories and not link them to each other? One being a isolated, dead directory?

My guess is you have installed 2 different packaging methods of Steam at some point and had a leftover directory.

Arcitec avatar Oct 02 '24 23:10 Arcitec

Apologies for replying so late, I didn't see notifications for this. @Vysp3r I have ~/.steam/debian-installation which is what prompted this ticket. I'm not sure why there's a folder ~/.local/share/Steam since I didn't put it there, and when I delete the folder, it gets recreated.

@Arcitec I have only ever had 1 version of steam installed and that's the native package.

SemiRealProductions avatar Oct 14 '24 08:10 SemiRealProductions

@SemiRealProductions

I'm not sure why there's a folder ~/.local/share/Steam since I didn't put it there, and when I delete the folder, it gets recreated.

This is mysterious. So it seems like Steam creates its own standard location on every distro no matter how Steam was installed.

Can you run this?

ls -al ~/.local/share/Steam | grep compatib

ls -al ~/.steam/debian-installation | grep compatib

ls -al ~/.steam | grep debian

I wanna see why it's creating extra dirs and if it's symlinking anything.

It makes zero sense to me why it would create the normal, standardized .local/share/Steam/compatibilitytools.d on your system, but somehow not using it at all. Wtf.

It seems like Linux Mint (or Debian) packaging issues for Steam. We can make it prioritize .steam/debian-installation/compatibilitytools.d but we need to be 1000% sure what's going on first.

Arcitec avatar Oct 14 '24 14:10 Arcitec

@SemiRealProductions Are you still having this issue? If not please close this issue. If so could you do what @Arcitec said so we can go forward with a fix. Thank you!

Vysp3r avatar Jan 19 '25 16:01 Vysp3r

@Arcitec Apologies, I didn't see any notifications for this, plus I have since moved over to Fedora. But here is the output from those commands.

If there's any symlinks it's because my fix for this was to symlink the .local folder into the .steam/debian-installation folder so I could use ProtonPlus @Vysp3r

Image

Image

SemiRealProductions avatar Jan 19 '25 18:01 SemiRealProductions

@SemiRealProductions From what I can see in the code, what it does is basically go through the following list and it sets the Steam directory on the first directory that exists in the list.

  1. /.local/share/Steam
  2. /.steam/root
  3. /.steam/steam
  4. /.steam/debian-installation

If you go through that list what is the first instance that exists?

From what I can see the first option exists, but it looks quite empty so this look abnormal.

Is it supposed to be there or was it my application that created it for some reason? If it's not supposed to be there try to delete the first option from the list and try again. If the directory gets created again it means I am creating the directory for some reason, but if it's not created it was something else.

Vysp3r avatar Jan 19 '25 19:01 Vysp3r

.local/share/Steam/compatibilitytools.d is the one that ProtonPlus is downloading to (and seems to create) .steam/root is a link that points to .steam/debian-installation .steam/steam is also a folder link that points to .steam/debian-installation .steam/debian-installation/compatibilitytools.d gets created automatically when steam is installed, or if i close steam, delete compatibilitytools.d folder and reopen steam, it recreates that folder

I have uninstalled ProtonPlus, Deleted .local/share/Steam/compatibilitytools.d and when I reinstall ProtonPlus and check the Proton-GE dropdown, there's nothing showing in the dropdown, even though I copied GE-Proton9-22 into .steam/debian-installation When I download a GE-Proton version, ProtonPlus creates the folder .local/share/Steam/compatibilitytools.d and downloads it into there

SemiRealProductions avatar Jan 20 '25 02:01 SemiRealProductions

this issue has also occured to me just now, for some reason i have ".../.local/share/Steam" and protonplus is scanning that folder instead, even though before it was working as intented, ".../.steam/debian-installation" (last thing i did with protonplus was install SteamTinkerLaunch, not sure if it's relevant)

i have now deleted ".../.local/share/Steam" and now it properly scans the correct folder ".../.steam/debian-installation"

JunkynioyPH avatar May 16 '25 19:05 JunkynioyPH

@JunkynioyPH Like I've said in a previous comment, it checks for the directory in a certain order so if you have both it will lead to this issue. Normally you shouldn't have more than one of those folders. I don't think I will do anything about that since it's an edge case that most users will not encounter. Could I ask what you did to have both ".../.local/share/Steam" and ".../.steam/debian-installation" on your computer?

Vysp3r avatar May 17 '25 02:05 Vysp3r

@Vysp3r It has been about a week since i last properly tinkered and maintained/updated my pc and have busy with work-- I dont remember much-- ...aside from the last thing i remember doing with protonplus was do stuff to install SteamTinkerLaunch. (Compile YAD and install Tinkerlaunch)

I did delete a folder (as of the time this occured) related to Bottles in ~/.var/app to remove the bottles section on your app as i dont have it installed anymore

Outside of that, I remember:

  • Moving compatdata (steam prefix folder) to my games SSD and making a link to it in place of the old location

  • Moving my FFXIV XLCORE XLM game installation off my main SSD to my games SSD, making links (changing path in XLM wont do as i say /shrug)

Sorry for lack of related details.

=====

I may be over stepping but wouldnt it be wise to verify if that folder is active? As in check if that folder contains steam related files e.g. steamclient.dll, steamclient64.dll, etc. Because when I checked the .local/share/Steam folder it only had compatibilitytools.d which means your app as you described only scans if the folder exists but not whether if it's the active folder. Or are you limited due to how flatpak works, sandboxing?

It would also be convenient to have a button at which opens a file manager to that folder or at least let the user know where the app is installing the downloaded proton as a display somewhere on the app.

As a new user of the linux space it did take a while for me to figure out until I realise github exists and found this Issue Thread.

JunkynioyPH avatar May 17 '25 04:05 JunkynioyPH

I will try to come up with something today and push an update for your issue. Thank you for your feedback I appreciate it!

Vysp3r avatar May 17 '25 13:05 Vysp3r

Instead of adding a button I simply made it so the tooltip text of the launcher button is the directory. Image

I also added a check to see if both files you mentioned still exists which was a nice idea by the way.

I will push an update today.

I am sorry I wasn't to make it two days ago, I was busy with family stuff.

Vysp3r avatar May 19 '25 14:05 Vysp3r

Update pushed!

Vysp3r avatar May 19 '25 15:05 Vysp3r