protonscr

weird (useless) naming for steam libraries

steamclosed
ValveSoftware/steam-for-linux#8816 · opened 2022-09-24 by craig-sanders · updated 2022-09-24 · 1 comments · github
Ccraig-sanders 2022-09-24 github

Your system information

  • Steam client version (build number or date): Sep 21 2022
  • Distribution (e.g. Ubuntu): Debian
  • Opted into Steam client beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

I just tried moving a game demo from my windows-game library (/var/games/steam2/ to my native linux-games library (/var/games/steam1/) but found that the steam client no longer identifies the actual paths to the library, it just makes up weird descriptions for them.

The LOCAL FILES tab of the properties dialog box says:

Size of local files: 318.59 MB on External Drive ()

Clicking the "Move Install folder" button shows:

Select the target drive "Dome Keeper Demo" (318.59 MB) should be moved to:

Local Drive () : 6.4 TB Available
External Drive () : 6.4 TB Available
External Drive () : 236 GB Available
External Drive () : 236 GB Available

(I tried to attach a .png screenshot of the window but github said "Something went really wrong, and we can't process that file")

I have no idea which directory or Steam Library those "drives" are meant to be referring to. I know what Steam Libraries I actually have, but I have no idea how any of the above correspond to my Steam Libraries.

These same Local/External Drive names appear in the Storage Manager found under Settings -> Downloads -> STEAM LIBRARY FOLDERS, and the paths ARE displayed there...but not when moving a game. Since the target names are the same, I can't distinguish between them when moving games from one library to another.

Fortunately, Installing a game still shows me the actual paths in the "choose location for install" drop-down menu. Otherwise, I would have noticed this months ago, whenever this change was made.

I'm guessing that there's supposed to be a windows drive letter or maybe an ext4 or xfs volume label or something inside the (), neither of which really makes sense on ZFS. It would be really useful if there was a path in there - either the full path or at least a truncated path showing at least the last directory if space/widget-size is an issue. Or maybe there should be a way for me to name these "Drives" in Steam so I could label them "Windows", "Windows-SSD", "Linux", "Linus-SSD".

The problem is that both the 6.4 TB "drives" refer to different datasets on the same HDD ZFS pool (one for linux native games with case-sensitive filenames, the other for windows native games with case-insensitive filenames), and the two 236 GB "drives" are different datasets on the same SSD pool (again, one for linux native, one for windows native games).

I'm not sure how clear that explanation is, so rather than try to describe the datasets, here's what they actually look like. BTW, /var/games/steam/ (without the 1 or 2) is where steam itself is installed. There's a symlink from ~/.steam to/var/games/steam:

$ ls -lF ~/.steam
lrwxrwxrwx 1 cas cas 17 Mar  9  2019 /home/cas/.steam -> /var/games/steam//

$ df -Th | grep games
hex/var/games           zfs       236G  128K  236G   1% /var/games
hex/var/games/ssd-linux zfs       280G   44G  236G  16% /var/games/ssd-linux
hex/var/games/ssd       zfs       236G  128K  236G   1% /var/games/ssd
exp/games/steam         zfs       6.4T   19G  6.4T   1% /var/games/steam
exp/games/steam2        zfs       9.4T  3.1T  6.4T  33% /var/games/steam2
exp/games/steam1        zfs       7.2T  780G  6.4T  11% /var/games/steam1
exp/games               zfs       6.4T  128K  6.4T   1% /exp/games

$ zfs list -r exp/games hex/var/games
NAME                      USED  AVAIL     REFER  MOUNTPOINT
exp/games                3.98T  6.35T      128K  /exp/games
exp/games/steam          99.9G  6.35T     18.0G  /var/games/steam
exp/games/steam1          780G  6.35T      780G  /var/games/steam1
exp/games/steam2         3.12T  6.35T     3.05T  /var/games/steam2
hex/var/games            43.6G   236G      112K  /var/games
hex/var/games/ssd         112K   236G      112K  /var/games/ssd
hex/var/games/ssd-linux  43.6G   236G     43.6G  /var/games/ssd-linux

"exp" is the name of the HDD zpool, "hex" is the name of the SSD zpool. "hex" is also my root fs.

Also, neither of these are "Local" or "External" drives - I don't know what those labels are even supposed to mean in the context of Linux. They're just ZFS filesystems in my linux machine. The SSD pool is on a mirrored pair of 500 GB Samsung Evo NVME SSDs, and the HDD pool is a RAID-Z1 of three 6TB Seagate Ironwolf SATA HDDs. If I had to guess, I'd say they're all supposed to be "Local" drives because they're all plugged directly into the motherboard, not into USB or other external interfaces.

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

It should display the paths so I can know where to move the game to.

Steps for reproducing this issue:

  1. install a game
  2. have at least two different steam libraries on different zfs datasets on a zfs zpool
  3. try to move a game from one steam library to another.
Kkisak-valve maintainer 2022-09-24 github

Hello @craig-sanders, this issue is already being tracked at #8653. Closing as a duplicate.

Nothing extracted yet.