Main menu:

Sponsoring

Please consider a small donation:

 

Also appreciated: support me by clicking the ads (costs nothing) :-)

 

Or you can donate bitcoin:

 

Thanks to TekLinks in Birmingham, AL, for providing colocation and bandwidth.

Page Rank

Fame

FOSS Force Best Blog--2013 Award

Recent posts

Recent comments

About this blog

I am Eric Hameleers, and this is where I think out loud.
More about me.

Search

My Favourites

Slackware

Calendar

April 2014
M T W T F S S
« Mar    
 123456
78910111213
14151617181920
21222324252627
282930  

RSS Alien's Slackware packages

RSS Alien's unofficial KDE Slackware packages

RSS Alien's multilib packages

Tag cloud

Meta

Valve’s Steam client for Linux

notifyFor people who visit this page – it was written a long time ago. The requirements to run Steam on Slackware are a lot lighter nowadays! Most important: PulseAudio is no longer required!
All you need is a package for OpenAL (to play audio) and flashplayer-plugin (in order to watch the videos in the Steam Store).
If you are running 64-bit multilib you will also have to create and install “compat32″ versions of the 32-bit OpenAL and flashplayer-plugin packages.
That’s all.

It was august 2012 when I wrote an article about the viability of commercial games on Linux. In particular, I was talking about the new Steam client for Linux which Valve Software was developing. Read that article now if you have not seen it yet, it will give insight as to where I stand with regard to the use of commercial software on Linux.

It took a while, and then Valve opened a limited Beta for their Steam client, inviting 1000 users at random, but targeting users of the Ubuntu distribution for obvious reasons: Valve wants to create a firm foothold in Linux now that they have “officially” denounced Windows 8 as a platform for which they will develop their software and games. Gabe Newell’s criticism of Windows 8 is well-known by now and in October of this year, Valve issued a similar statement during the Ubuntu Developer Summit.

And Ubuntu has the biggest potential user base for game fans – let’s face it, more people move from Windows to Ubuntu than to Slackware, so commercially Valve is doing the smart thing.

 

When the Beta program kicked off, people found out relatively fast that the Steam client had limited functionality, even for people who were not part of the initial beta. I quickly hacked together a set of instructions based on the tests I did.

Last week, the Steam for Linux Beta program opened up to a much wider audience and I received my invitation email as well (along with many more Slackers). It looks like there will not be any limitations at all after next week, so I decided to use a little of my holiday to properly package the Steam Client for Linux. Obviously, the client software is distributed as binary-only. Furthermore, it is 32-bit software and developed on Ubuntu. Nevertheless, it is not hard at all to run the Steam client on Slackware. I created a 32-bit package, see http://www.slackware.com/~alien/slackbuilds/steamclient/ , and added some additional instructions in a README.Slackware file:

The Steam client is primarily targeting Ubuntu, so in order to make it work
on Slackware, the package ships with a slightly modified steam startup script.

You will also have to install several dependencies:
  - pulseaudio
  - speex
  - json-c
  - OpenAL
  - flashplayer-plugin
These are all available as SlackBuild scripts on http://slackbuilds.org,
while OpenAL and flashplayer-plugin packages can be found in my own repository
at http://slackware.com/~alien/slackbuilds/ too.

Note that the Steam client currently is 32-bit only. If you are running a
64-bit Slackware you must add multilib capability to it first.
Then, you need to add several more 'compat32' packages. In addition to
'compat32' versions of the aforementioned dependencies, you also need to
install 'compat32' packages for:
  - flac
  - libogg
  - libvorbis
  - oxygen-gtk2

Note that before building pulseaudio, its README instructs you to create
a "pulse" user and group:
  # groupadd -g 216 pulse
  # useradd -u 216 -g pulse -d /var/lib/pulse -m pulse
However, there is no need to actually _start_ the pulseaudio server. You can
prevent this by running:
  # chmod -x /etc/rc.d/rc.pulseaudio
The Steam client is dynamically linked against pulseaudio libraries, but my
modification to the steam startup script will actually force it to use
Slackware's ALSA for audio output. Pulseaudio will not be used.

In order to run the Steam client you will probably need a Nvidia or Ati card
with proprietary drivers. I would like to hear from people who are able to
start Steam and play a game using open source drivers.

I have added the required dependency packages (including those required for multilib) in a separate “deps” directory of that steamclient package. Note that my old hacks of creating a symlink to the “/sbin/pidof” binary and exporting several variables is no longer needed, the steam start-up script does all of that now.

Installing the steamclient package, will get you a “Steam” icon in your desktop menu. Alternatively you can type “steam” in a terminal to start the client.You will see it downloading updates first, and then it allows you to connect to your Steam account.

 

When you are connected to your Steam account you will see the Steam Store and a “Linux” menu which is exclusive to the Linux client. You can of course do anything (purchases, community chat etc) which you would also do in the Windows client or the web interface.

You can then check out your own virtual “Library” which will contain the games you have purchased or which you could add because they are free to play. The Linux Beta shows two games here, the “Team Fortress Beta” which is an online shooter and “World of Goo Demo”, both of which are free.

Note that I modified the steam startup script to use ALSA as audio output. The pulseaudio libraries are required because the Steam binaries link against them but PulseAudio is not used for sound. Also note that if your default ALSA soundcard is not “hw:0,0″ you may have to add one more variable. The AUDIODEV variable defines which audiodevice ALSA should use instead of “default”. You can set additional environment variables in a file” ~/.steam4slackware “. This is what I have in that file:

$ cat ~/.steam4slackware
export AUDIODEV=hw

This tells ALSA to use the first “hw” device available. The default value for AUDIODEV is “default”.

One more quirk was that I had to stop any program which was playing audio (like VLC) before starting the Steam client, or else the Steam games would not have sound…

Cheers, Eric

Comments

Comment from Mike Langdon (mlangdn)
Posted: December 16, 2012 at 17:18

Thanks Eric – works great! Except that I have not yet received a beta invite. I can wait, though.

Comment from Jen
Posted: December 16, 2012 at 18:02

Interesting. Not sure if I’ll use the Linux client, since I can’t use pulseaudio–it’s not recommended for real time/low-latency computer audio work. Plus all the games I own via Steam are Windows/WINE. I’m more inclined to go the route of Humble Bundle for Linux-native games. I’ll definitely toss more money Steam’s way, though. I like supporting people who support Linux or are Linux-friendly.

It’s a different world now than back in the late 90′s, early 2000′s. Back then Loki games seemed like the last hope of linux gaming. I’m glad it wasn’t. (That I remember Loki games makes me feel like an old fart.)

Pingback from Steam on Slackware – Page 9
Posted: December 16, 2012 at 22:35

[...] wrote an article about the steamclient package I created: http://alien.slackbook.org/blog/valv…ent-for-linux/ Perhaps that will help you on your way. [...]

Comment from Thomas Løcke
Posted: December 17, 2012 at 09:17

Thanks Eric.

I’m currently running the Steam beta on Ubuntu 12.04, but it’s not exactly my favorite distro, so when I get home I will install Slackware instead and give your packages a whirl.

And yea, playing TF2 natively on my Linux box is just plain amazing. Times sure have changed.

Valve = Awesome.

Comment from matusz
Posted: December 17, 2012 at 11:44

Yeah, it could be start of something really great. Great work Valve.

Comment from matusz
Posted: December 17, 2012 at 11:45

And Eric for package and modifications ofc.

Comment from Cris
Posted: December 17, 2012 at 19:04

First of all, congrats on your job Eric. Although I ain’t running slackware on my lappy anymore, I can assure you Steam here runs pretty well on my Intel HD 4000 GPU.

Comment from Thomas Løcke
Posted: December 18, 2012 at 14:31

I’ve got a minor issue, which I’m not sure is due to Slackware or the Steam application: I can’t create shortcuts to games on the desktop. Steam tells mere there already is a shortcut, despite the fact that there are none. The only desktop icon there is is for Steam itself.

Other than that all seems to work pretty well.

Pingback from Slackware Linux 14.0 – Instalando a versão beta do Steam for Linux « Caminhando Livre
Posted: December 20, 2012 at 23:42

[...] a página do anúncio da versão beta do Steam for Linux, específico para a Slackware Linux, na página do blog mantido por Eric ( em inglês ). Share this:CompartilharTwitterFacebookGostar [...]

Pingback from Alien Pastures » Multilib update for slackware-current
Posted: December 22, 2012 at 21:20

[...] Valve’s Steam client for Linux [...]

Comment from Alan Aversa
Posted: December 23, 2012 at 01:11

I get a “Fatal Error: Failed to load steamui.so”.

Comment from alienbob
Posted: December 23, 2012 at 02:21

Alan, that is a very sparse error report. Try to find out a little more. Check that you actually re-installed your proprietary Nvidia or Ati video driver after installing multilib packages for instance, because that is a much-occurring issue.

Eric

Comment from Me
Posted: December 26, 2012 at 04:54

Do i understand it right that if i got an slackware64-14.0 installation then i need to first install multilib and then the deps to make steam work?
The pulseaudio is the one thing that makes me wonder if i should install it or not.
How will the pulseaudio affect my slackware install?
Will pulseaudio affect my future compiling and will it be used by my slackware install?
Pulseaudio is something that i don’t want to use.

Pingback from Steam on Slackware – Page 12
Posted: January 2, 2013 at 00:44

[...] this. My system runs slackware-14.0 multilib and has an NVidia GTS 450. I followed Alien Bob's Steam Client on Slackware howto, got the 287 error segfault, opened this thread, read a few pages back until I got reminded [...]

Comment from buradd
Posted: January 7, 2013 at 00:17

hey Eric, please check out http://b.agilob.net/error-clgetplatformids-1001/ – might need to use google translate from polish to english but its about the same problem i’m having.. the problem is, the fix is for ubuntu obviously and i dont have a /etc/OpenCL/ – please any tips, thank you!

Comment from agilob
Posted: May 13, 2013 at 00:15

Hi,
I saw a few people coming to my blog, from here and I saw the post below, with the link to b.agilob.net to the post in Polish, so I translated it.
Solution in English to the problem is here:
http://b.agilob.net/eng-error-clgetplatformids-1001/
:)

Comment from Moseley
Posted: June 2, 2013 at 21:41

I am using Slackware64 with multilib/compat32. It is due to note that when using the Steam client, not only do you need to make sure you have the compat32 for the listed packages but apparently, as you will obviously use a 3D capable graphics card like on my box, I use an Nvidia GTX460 but using the nvidia-kernel and specifically the nvidia-driver slackbuild scripts, you need to edit your build script to enable compat32 as well, otherwise you will receive a glx render error, which will cause issues with performance.
On line 71 change from:
COMPAT32=${COMPAT32:-no}
to
COMPAT32=${COMPAT32:-yes}

I know it sounds ridiculous to be so specific but some users are still new to Slackware.
That’s all I wanted to add other than Thanks for this site, your scripts, packages and information. People like you are hard to come by, so people like me appreciate you.
Peace =)

Comment from Moseley
Posted: June 3, 2013 at 23:33

Using Slackware64 and Steam also requires the 32bit Adobe Flash Player plugin, so I just made and tested out a flashplayer-plugin-compat32 package. I have libflashplayer.so in both standard 32bit and 64bit lib directories. Firefox only shows one version of flash and the preview movies in the Steam store for games work great.
Peace =)

Comment from hu
Posted: September 27, 2013 at 15:06

hi i am linux fresh ,i do that follow your blog and ,when i run steam it show missing libc.so.6,could you tell me how to fix it ?thank you !

Comment from alienbob
Posted: September 27, 2013 at 15:09

Hi Hu

Can you please create a post on LQ: http://www.linuxquestions.org/questions/slackware-14/ ?

Your question is too vague, a lot of questions need to be asked to find the cause of your issue, and the LQ forum is better suited for troubleshooting.

Eric

Comment from oakstave
Posted: December 17, 2013 at 05:56

Thanks for the SlackBuild. I’ve been enjoying Steam on my Slackware 14.1!

The last time tried the Nvidia driver slackbuild for 14.1, the kernel failed to build for my GTS 450. So I decided to keep the Nouveau drivers and see what games will work

I have the nouveau.conf set with “EXAVsync” and “GLXVBlank” set to “true”, but I only did that to correct video tearing, I don’t know how it affects gaming.

Games that worked for me:
Gratuitous Space Battles
Teslagrad
Little Inferno
World of Goo

Games that crashed on launch:
Legend of Aethereus
Bastion
X3: Reunion
Sparkle 2 Evo

Obviously, the more graphic intense games seemed to fair poorly. All of these games run fine on my Mint 13 system with proprietary drivers.

I’m actually impressed. I think the Nouveau drivers have gotten much better.

Comment from alienbob
Posted: January 2, 2014 at 15:59

For people who visit this page – it was written a long time ago. The requirements to run Steam on Slackware are a lot lighter nowadays!

Most important: PulseAudio is no longer required!

All you need is a package for OpenAL (to play audio) and flashplayer-plugin (in order to watch the videos in the Steam Store).

If you are running 64-bit multilib you will also have to create and install “compat32″ versions of the 32-bit OpenAL and flashplayer-plugin packages.
That’s all.

Eric

Write a comment