Having steam game problems on your distro? Try the snap pak of steam!

I was having a few issues with various steam games on my Arch system. In particular Dying Light had path problems and a segfault in libc, and wouldnt run at all using native libraries. Day of Infamy also had horrendous load times. So I tried the snap of steam maintained by the solus team, and both games ran flawlessly. The reasoning behind this is that the snap uses solus backend runtime libraries, which have been tailored by the solus team specifically to ensure steam and it’s games run on linux via the LSI (linux-steam-integration) snap (not just solus). Apologies to Ikey@solus as my initial post had ubuntu libraries listed and I was mistaken, this is not the case. Anyway, here are the intructions to get you set up:

Install and configure snap:

pacaur -S snapd-git
sudo systemctl enable --now snapd.socket
sudo systemctl start snapd.refresh.timer

Install the snap solus runtimes and steam snap:

sudo snap remove solus-runtime-gaming linux-steam-integration
sudo snap install --edge solus-runtime-gaming
sudo snap install --devmode --edge linux-steam-integration

Notes:

  • Requires –devmode install as confinement isn’t finished yet

Setup your additional storage drives:

The snap reads from /run/media but does not read/allow access to folders outside its sandbox.  /run/media is where things like usb sticks are usually mounted, which is why the snap reads from there.  This is for if you have your steam library mounted on a different drive. What you’ll want to do here, is create sub folders in /run/media for any storage/external drives you have. If you have them already mounted in fstab, you’ll want to change them in fstab to the new path. For example, I have a 4tb drive which I was mounting to /mnt/Storage via fstab. What I did was as follows:

sudo mkdir /run/media/Storage
sudo chmod -R 777 /run/media/Storage

Then I edited my fstab to mount that storage partition to /run/media/Storage instead of /mnt/Storage. If you dont have any drives that are mounted at boot time you can ignore this, just mount them manually to /run/media/some-folder-name

Now I also have a 1TB external hard drive I wanted mounted. So for this I did the following:

sudo mkdir /run/media/EXHD
sudo chmod -R 777 /run/media/EXHD

Then I mounted the partition for it like this (change the /dev/path# to that of your drive. you can see it with lsblk command)

sudo mount/dev/sdc1 /run/media/EXHD

Last, I enabled the removable-media interface in snap:

sudo snap connect linux-steam-integration:removable-media core:removable-media

Then enabled the joystick interface for any gamepads:
Setup joystick/gamepad:

sudo snap connect linux-steam-integration:joystick core:joystick

You may also have to use the steamos-xpad kernel module for controllers/steam controller, I use this by default and am unsure. Try it without first. On arch:

pacaur -S steamos-xpad-dkms

Finally, I run steam:

snap run linux-steam-integration

Then in your steam options under Downloads, re-add your library folders from your extra drives.

VOILA! Have fun!