Steam snap can't access existing Steam ("deb") library

Hello,

(this is my 1st post, I hope I selected the right place to post).

Following latest Steam snap announcement, I’m trying to use this snap with my existing Steam Library (created with a Steam “deb” installation) For the record I’m using Ubuntu 22.10 and snapd 2.57.4

So I installed Steam snap via Ubuntu Software and enabled all permissions (more about this later : (1)). At 1st launch, Steam snap created

~/snap/steam/common/.local/share/Steam/

and I have a fresh new empty library, where I can install games. But I want to use my existing library.

So I symlinked

~/snap/steam/common/.local/share/Steam/userdata
~/snap/steam/common/.local/share/Steam/steamapps

to the relevant folders from my “.deb” installation :

~/.steam/debian-installation/userdata
~/.steam/debian-installation/steamapps

But when I start again Steam snap, I have permissions errors : I cannot read (my steam library looks empty) nor write (I cannot install games)

Note (in case it is important) : ~/.steam/steam is already symlinked to ~/.steam/debian-installation/

Meanwhile, my system log is filled with many dbus-daemon[1976]: apparmor="DENIED" operation="dbus_method_call" bus="system" path="/org/freedesktop/UPower" interface="org.freedesktop.UPower" member="EnumerateDevices" mask="send" name="org.freedesktop.UPower" pid=3852805 label="snap.steam.steam" peer_pid=3278 peer_label="unconfined"

(1) This is what I get after enabling all permissions for Steam snap within Ubuntu Software :

$ snap connections steam
Interface               Plug                          Slot                            Notes
audio-playback          steam:audio-playback          :audio-playback                 -
audio-record            steam:audio-record            -                               -
bluez                   steam:bluez                   -                               -
content[gtk-3-themes]   steam:gtk-3-themes            gtk-common-themes:gtk-3-themes  -
content[icon-themes]    steam:icon-themes             gtk-common-themes:icon-themes   -
content[sound-themes]   steam:sound-themes            gtk-common-themes:sound-themes  -
desktop                 steam:desktop                 :desktop                        -
desktop-legacy          steam:desktop-legacy          :desktop-legacy                 -
fuse-support            steam:fuse-support            -                               -
gsettings               steam:gsettings               :gsettings                      -
hardware-observe        steam:hardware-observe        -                               -
home                    steam:home                    :home                           -
joystick                steam:joystick                -                               -
mount-observe           steam:mount-observe           -                               -
network                 steam:network                 :network                        -
network-control         steam:network-control         -                               -
opengl                  steam:opengl                  :opengl                         -
personal-files          steam:dot-local-share-steam   -                               -
process-control         steam:process-control         -                               -
removable-media         steam:removable-media         :removable-media                -
screen-inhibit-control  steam:screen-inhibit-control  :screen-inhibit-control         -
shared-memory           steam:shared-memory           :shared-memory                  -
steam-support           steam:steam-support           :steam-support                  -
system-observe          steam:system-observe          -                               -
wayland                 steam:wayland                 :wayland                        -
x11                     steam:x11                     :x11                            -

I tried this : $ snap connect steam:dot-local-share-steam :personal-files

But I see no improvement : Steam snap still can’t access my existing files, same apparmor=“DENIED” flood in system log.

Thanks for your help !

Indeed, that isn’t supported right now. We’ve done some work that will migrate your existing library, but we haven’t enabled that yet. While we’re in this early access period we’ve been focused on testing on new libraries. We’ll roll out the migration capability at some point in the future.

Thanks for your quick feedback !

It seems someone has managed to use 1 steam library with both installs (deb and snap) : https://www.reddit.com/r/Ubuntu/comments/xpe81d/trying_snap_steam_on_ubuntu_share_library_with/ But I don’t really understand what he did, and I would like to avoid moving folders in my original library.

Regarding the problem I have : I thought it was just a permission problem. It is not ?

It is rather a design decision so that incompatible data won’t break different distributions of the same software, i.e. the modification of ~/.local/share/Steam made by the Steam snap won’t break the Steam deb.

If backward compatibility isn’t an issue we probably could use the same directory but some efforts must be done to ensure that.

Now Steam snap is promoted to “stable” and taking centre stage of Ubuntu 23.04 ( https://canonical.com/blog/canonical-releases-ubuntu-23-04-lunar-lobster ), have you built a migration scenario ? We can safely assume that a large majority of existing Steam (deb) users would be interested.

If anyone’s interested in migrating your library manually, this is what I did:

  1. Close Steam
  2. Make a new directory for your library mkdir ~/Steam-Library
  3. Copy ~/.steam/debian-installation/steamapps into ~/Steam-Library (Copy the folder itself, not the contents so it ends up looking like ~/Steam-Library/steamapps
  4. Open Steam, go to Steam > Settings > Downloads > Steam Library Folders
  5. Click the + near the top and navigate to your new library location under /Steam-Library/, click Select.

Steam should find all the games that you had installed in this library. If you want the apt version of steam to use this library as well then just add it as an additional library through the Steam settings.

In my case, I can’t seem to add the ones in my other drives. I was able to add the ones inside my $HOME, but not anywhere else.

I have another drive, mounted inside /home/DATA, like my 870 EVO 4TB is on /home/DATA/870E4TB.