Steam on Slackware Linux
Zapwai

Zapwai @zapwai

About: Tinker

Location:
New England
Joined:
Jan 15, 2023

Steam on Slackware Linux

Publish Date: May 9
1 0

Steam uses 32-bit libraries, but we're on a 64-bit system. Here is the absolute fastest guide to get you up and running in Slackware64.

Three Step Guide for Installing Steam on Slackware

  1. Install Slackpkg+ and Enable Multilib
  2. slackpkg install multilib
  3. slackpkg install steamclient

[If you do not want to install slackpkg+, then the multilib documentation can explain how to download and install the -compat32 packages (or build them yourself)]

1) To install slackpkg+ download and installpkg from sourceforge or from AlienBOB. (It's also available at Slackware Mirrors under /slackware/slackware64-current/extra)

We make three changes to the config file /etc/slackpkg/slackpkgplus.conf
(Note that we leave ALLOW32BIT=off)

  • Uncomment the line PKGS_PRIORITY = (multilib)
  • Add (or uncomment) the multilib repo location

MIRRORPLUS['multilib']=https://slackware.nl/people/alien/multilib/current/

  • Add multilib to your REPOPLUS line:

REPOPLUS=( slackpkgplus restricted multilib alienbob )

My config looks like this:
PKGS_PRIORITY=( multilib restricted )
REPOPLUS=( slackpkgplus restricted multilib alienbob )
MIRRORPLUS['multilib']=https://slackware.nl/people/alien/multilib/current/
MIRRORPLUS['alienbob']=https://slackware.nl/people/alien/sbrepos/current/x86_64
MIRRORPLUS['restricted']=https://slackware.nl/people/alien/restricted_sbrepos/current/x86_64
MIRRORPLUS['slackpkgplus']=https://slackware.nl/slackpkgplus/
SBO['current']=https://github.com/Ponce/slackbuilds

2) Now that slackpkg+ has been configured we update and install multilib packages.
slackpkg update
slackpkg install multilib
For me this was 273 packages. In my case one of them (LLVM, roughly a 200Mb file) kept timing out, so I downloaded and installed that one manually.

3) You could now build steam yourself from a SlackBuild, or just install a pre-made package courtesy of AlienBOB:
slackpkg install steamclient

You have now installed Steam. (I had to reboot for Steam to recognize my controller.)


If you neglect to install the multilib -compat32 packages, instead of games you will enjoy some errors.

Missing 32-bit Libraries Error
Slackware warns that you may need 32-bit libraries, and Steam alerts that you are missing libGL.so.1 and libdrm.so.2. The terminal may emit some gory details:

dlmopen /home/zapwai/.local/share/Steam/ubuntu12_32/steamui.so failed: libGL.so.1: wrong ELF class: ELFCLASS64
dlmopen steamui.so failed: libGL.so.1: wrong ELF class: ELFCLASS64
Failed to load steamui.so - dlerror(): (null)
Enter fullscreen mode Exit fullscreen mode

My Beloved Windows Game Refuses to Install?

Image description
In that case you should right-click the game in your library, select properties, then click the Compatibility tab. Click "Force the use of a specific Steam Play compatibility tool".
Image description

This turns on Proton Hotfix and almost always works. (For Risk of Rain 2 I had to explicitly turn on Proton 9.0)


Help! Steam Can't See My Games!

Normally when you go to Steam Settings > Storage you can click on the Local Drive button and add a new folder. Useful if you have a drive full of games.

In my case I had them installed under another Linux distribution. The files owner was username:1000 instead of username:users, and in the terminal Steam was griping about permissions. So Steam client just ignored me if I added the location.

kf.kio.widgets: Failed to convert QUrl("file:///media/hd1/home/zapwai/snap/steam/common/.local/share/Steam/steamapps/common/Steam.dll") to canonical path
Couldn't write /boot/efi/.steam_exec_test.sh: Permission denied
Couldn't write /media/hd0/.steam_exec_test.sh: Permission denied
Couldn't write /media/hd1/.steam_exec_test.sh: Permission denied
Enter fullscreen mode Exit fullscreen mode

Digging around online, I found that one cause could be not having exec set for the drive in /etc/fstab. But my fstab settings were fine, containing the line:
/dev/nvme0n1p2 /media/hd1 ext4 rw,auto,user,exec 0 0

I attempted to create and add myself to the group 1000, with no success.

I could just chmod 777 on the path to my Steam games, but I looked for a better solution and discovered setfacl. This allowed me to give rwx permissions to only one extra user.

setfacl -R -m u:zapwai:rwx /media/hd1/home/zapwai/snap/steam/common/.local/share/Steam

I gave myself executable permissions on the rest of the path just in case

sudo setfacl -m u:zapwai:x /media/hd1
sudo setfacl -m u:zapwai:x /media/hd1/home
sudo setfacl -m u:zapwai:x /media/hd1/home/zapwai
sudo setfacl -m u:zapwai:x /media/hd1/home/zapwai/snap  [etc.]
Enter fullscreen mode Exit fullscreen mode

Et Voilà, Steam can now see my preinstalled games.


A Few More Bugs

This time Straima worked, but last year I needed this in the launch options:
PROTON_USE_WINED3D=1 %command%

Dungeons of Dredmor has crackling audio. Removing this file fixes it.
~/.steam/steam/steamapps/common/Dungeons\ of\ Dredmor/x86/libopenal.so.1


Postscript

I also added Battle.net launcher as a non-steam game so I can run it without installing Wine directly.

Comments 0 total

    Add comment