[BUG] ProtonPlus saving to wrong location?
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
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.
- ~/.local/share/Steam
- ~/.steam/root
- ~/.steam/steam
- ~/.steam/debian-installation
Could you please tell me which of these locations exists for you.
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 :)
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.
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.
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
I'm not sure why there's a folder
~/.local/share/Steamsince 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.
@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!
@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
@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.
- /.local/share/Steam
- /.steam/root
- /.steam/steam
- /.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.
.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
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 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 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.
I will try to come up with something today and push an update for your issue. Thank you for your feedback I appreciate it!
Instead of adding a button I simply made it so the tooltip text of the launcher button is the directory.
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.
Update pushed!