steam-for-linux icon indicating copy to clipboard operation
steam-for-linux copied to clipboard

Fallback folder picker does not allow easy navigation to the root folder

Open EonDigital opened this issue 2 years ago • 20 comments

Your system information

  • Steam client version (build number or date): Steam Version: 1688171965 Steam Client Build Date: Fri, Jun 30 5:19 PM UTC -08:00 Steam Web Build Date: Fri, Jun 30 4:51 PM UTC -08:00 Steam API Version: SteamClient020
  • Distribution (e.g. Ubuntu): Ubuntu
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes
  • Steam Logs: [generate by running this command in a terminal tar -zcvf ~/Desktop/steam-logs.tar.gz ~/.steam/steam/logs] steam-logs.tar.gz
  • GPU: Nvidia/Intel/AMD Nvidia

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist

Attempting to add a new storage location runs into several problems. I am unable to add locations outside the ~/.steam directory. I also identified a crash. These are two distinct issues, but they're closely related, so I will document both here.

My expectation was I should be able to add a volume that is elsewhere on my system. I have one full drive and a second mounted that would be a preferred place to store games.

I also expected that interactions with this window would not result in a crash. Fine if selecting nothing is invalid, but it should fail gracefully.

Steps for reproducing this issue:

  1. Open settings/Storage
  2. Click the + to add storage
  3. The directory structure visible only includes the directories contained in ~/.steam
  4. In addition to being unable to navigate out of .steam, symlinks to any directory outside .steam do not show in the list, preventing a simple workaround. (issue 1)
  5. If you don't select a folder and click "Select", the steam client crashes. (issue 2)

EonDigital avatar Jul 04 '23 22:07 EonDigital

Hello @EonDigital, please copy the contents of Steam Runtime Diagnostics from Steam (Steam -> Help -> Steam Runtime Diagnostics) and put it in a gist, then include a link to the gist in this issue report.

Previously mentioned at https://github.com/ValveSoftware/steam-for-linux/issues/9377#issuecomment-1615828136.

kisak-valve avatar Jul 04 '23 22:07 kisak-valve

@EonDigital you can try the following:

  1. Launch Steam with the -console option on the command line.
  2. Click the Console tab.
  3. Run the command "library_folder_add /path_to_your_folder/" without quotes.

The output should be: "Mounted path /path_to_your_folder/"

ghost avatar Jul 05 '23 17:07 ghost

I'm unblocked at this point. I repartitioned my hard drive before this comment. I can at least confirm the console workaround does what is intended... I'm able to add the new location.

EonDigital avatar Jul 05 '23 17:07 EonDigital

@EonDigital tysvm, Steam lost my external library and this let me re-add it! Appreciate it a lot!

segaretroboy avatar Jul 05 '23 18:07 segaretroboy

@AdamFreemen - I think that thank you goes your way.

@kisak-valve - I've already posted the diagnostics I'm comfortable posting for this issue. I can confirm part of this issue is a duplicate of #9377, but it does not mention the crash when nothing is selected.

Screenshot from 2023-07-02 15-35-14 Screenshot from 2023-07-02 15-44-52

EonDigital avatar Jul 06 '23 05:07 EonDigital

@EonDigital better way is record video with OBS. You can install latest version from flatpak.

ghost avatar Jul 06 '23 05:07 ghost

I trigger it by literally hitting the select button without selecting anything. It's likely an issue in how the value the select dialog returns is consumed when it's expecting a non-null result. If you don't see an issue in that code, just close this as not planned.

EonDigital avatar Jul 06 '23 06:07 EonDigital

We cannot browse the parent directories: then I create a folder manually which will be added to the list, but when I select it, the client [beta] crashes.

(I removed one of my storage directory, then cannot add it anymore).

sylware avatar Jul 12 '23 02:07 sylware

I am seeing this on Void Linux (so it's not just an Ubuntu issue), workaround as suggested by @AdamFreemen worked great.

The error message in the terminal for this problem is:

Unsupported desktop portal version: 0, falling back to a different file picker

I got this error on a fresh Steam install on Void Linux, without installing any games, and a completely fresh ~/.local/share/Steam folder. I navigate to the Storage settings, go to add a new directory and only get the files in ~/.steam and cannot navigate any levels up to my filesystem.

I'm not using the Flatpak version.

jackmillward avatar Jul 14 '23 16:07 jackmillward

I'm seeing the same issue on Gentoo Linux. @AdamFreemen's suggestion worked.

I'm not using Flatpak, snaps or anything like that.

Irets avatar Jul 14 '23 19:07 Irets

I'm seeing the same issue on Gentoo Linux. @AdamFreemen's suggestion worked.

2x ditto Must be a UI glitch

metafarion avatar Jul 20 '23 00:07 metafarion

I'm currently having the same problem, but in my case I want to add a Non-Steam game to my library so I can run it with Proton. Anyone can suggest a workaround?

gabrielgcc avatar Jul 20 '23 16:07 gabrielgcc

I can confirm, that I have the same issue with Archlinux; on a brand new fresh installed PC. Cannot navigate parent higher than ~/.steam/root/

I use as desktop decorator xfce (xfwm4 version 4.18.0 (revision 7e7473c5b), with thunar for file navigations. The steam client seems to open something which looks like a gtk window. For me it looks like a build-in navigation windows from the steam client.

Steam-Version: 1689034492 Steam-Client: Build-Datum: Di., 11. Juli 1:59 UTC -08:00 Steam: Webbuild-Datum: Mo., 10. Juli 19:48 UTC -08:00 Steam-API-Version: SteamClient020

missing_Navigation

The solution with steam console works also fine for me.

  1. open bash terminal and start steam-client with the command steam -console or steam steam://open/console (whatever works for you)
  2. Goto Console-Tab and enter the command library_folder_add /path_to_your_folder/ (by the way, many thanks @AdamFreemen, it also worked for me). The library is then normal visible/listed in the steam-preferences.

addpath

Would be nice when this could be fixed in the linux steam-client that the workaround is not more needed.

tTomer77 avatar Jul 24 '23 11:07 tTomer77

I also get

Unsupported desktop portal version: 0, falling back to a different file picker

In addition, there is this on stdout/stderr:

Couldn't write /.steam_exec_test.sh: Permission denied
Couldn't write /boot/.steam_exec_test.sh: Permission denied

I don't run steam as root (and don't want to).

svigerske avatar Jun 11 '24 15:06 svigerske

Hey, guys, I'm also facing this problem, but your "console-method" is not working for me library_folder_add /mnt/DataGames/Steam Failed mounting that path! I've already tried tweaking permissions, but this problem is still here sudo chmod 755 /mnt/DataGames/

Murkless avatar Aug 12 '24 13:08 Murkless

@Murkless, check with "ls -la", if the folder is yours. I'm sure that /mnt folders belongs to root:root and not USER:users. Refer also the command for user owners "chown" (may be different, I don't know which linux distribution you have)

tTomer77 avatar Aug 24 '24 06:08 tTomer77

@tTomer77 Hi. I've already fixed the issue by editing fstab file. If this method is not described here I could write about it a bit later

Murkless avatar Aug 24 '24 08:08 Murkless

@Murkless Okay, then you have already a solution for yourself. The location /mnt is normally not used for steam libraries. This is a location for root. The fstab is for partitioning and mounting. I can imagine that you have configured some bind.

However, for me my solution has worked. Form my point you don't need it to describe it here. Please be also carefully with posting sensible data/information's. Have a nice day

tTomer77 avatar Aug 24 '24 12:08 tTomer77

@tTomer77 your solution didn't work for me. Error was something like "error mounting that path" About using /mnt/. I have two drives in my PC, and second one is mounted /mnt/DataGames. It is very convenient and popular mount point. I didn't want to change the mount point only for steam

Murkless avatar Aug 24 '24 13:08 Murkless

So, as I said, I will post my solution. Here it is. Firstly, I ran steam from terminal so its logger connects to stdout. When trying to add another folder from the second drive I get something like "Permission denied". I've tried changing them by using chown and this gave no results. So I changed my fstab file and now it looks like this

UUID=2d04f5d2-6a98-4d1a-be2b-b59dffdd3004 / ext4 rw,relatime 0 1

UUID=30ff625e-7d9d-4469-a9e2-13cac18eac15 /boot ext4 rw,relatime 0 2

UUID=9aadfd4e-80d8-4f34-b413-66db1cfd542f /mnt/DataGames ext4 rw, suid, dev, exec, auto, nouser, and async 0 0

Hope this helps you as well

Murkless avatar Aug 26 '24 21:08 Murkless