Steam on Slackware
The Steam gaming platform has finally found its native way onto Linux!
At the moment there is only a Debian package available here: http://media.steampowered.com/client...ller/steam.deb I used mc to unpack the data.tar.gz in the /usr folder and I can startup the Steam installation with: Code:
steam steam://store Code:
Installing breakpad exception handler for appid(steam)/version(1352224866_client) |
Is there only a 32-bit client?
|
Nope - have to have mulitilib. Here's an interesting link:
https://developer.valvesoftware.com/wiki/SteamCMD |
Quote:
Quote:
|
Steam = Stupid terrible egregious antisocial malware
IMHO of course :) |
Well, there's an absolutely massive Linux Thread which largely consists of people trying to get it to work on non-Ubuntu distros...
There's already an Arch Linux PkGBuild which allegedly works... |
Quote:
|
Quote:
Quote:
The question is: Why should I grant root access to a closed DRM BLOB, when it's not needed at all. Quote:
Quote:
|
Quote:
|
It looks like the client fails to initialize on Slackware because it does not find pulseaudio... it also needs some magic to let it find a 32-bit libnss3.so on a multilib system, and a symlink in /usr/bin to /sbin/pidof so that the startup script can check for a running Steam client.
And since this is all 32-bit stuff I will have to create compat32 packages for pulseaudio and its few dependencies to try it out. I will upload a rough steam package soon. I have no SlackBuild yet but I stuck a description of the commands to package the binaries inside its doc directory. Too bad I entered "Other" instead of "Ubuntu" as the OS I am running... or else I might have gotten into that beta ;-) Eric |
I can't believe this day is actually here.. I haven't had a chance to download the .deb, and like AlienBob selected 'other' on my beta application so I think I'll be waiting a while.
Looks like a few hurdles to jump over, but nothing we can't sort out.. I'm really looking forward to playing first class games natively! |
This is how I created a crude package - note that I run Slackware 14:
Code:
wget http://media.steampowered.com/client/installer/steam.deb Code:
ln -s /sbin/pidof /usr/bin Code:
export LD_LIBRARY_PATH="/usr/lib/seamonkey:$LD_LIBRARY_PATH" Note that before building pulseaudio, the README instructs you to create a "pulse" user and group: Code:
# groupadd -g 216 pulse |
Nice work, Bob.
But I'm afraid, this effort isn't going anywhere: Any Steam App available for Linux in the future will assume, that it will be executed on Ubuntu only and will fail miserably elsewhere. And as a Debian derivative, Ubuntu doesn't support LSB (which requires RPM) very well. |
So we have 2012, when this is released it will be 2013, but I still have to infect my system with 32 bit libraries? And as if that wouldn't be enough they decided to make it dependent on the soundsystem with the highest latencies out there?
Wow, Valve, I thought you can do this better than that. |
Quote:
|
Quote:
1. After solving their differences with Microsoft regarding the Windows 8 Store, they cancel the port. (They wouldn't be the first company only flirting with Linux for a better bargaining position.) This is IMHO the most likely result. 2. Their project fails like Ubuntu itself failed reaching its main goal. Some Ubuntu fans occasionally play their Valve games on Linux but nothing happens beyond that. 3. They succeed in steering a substantial mass of their customer base over to Ubuntu. Like with every mass product, you then get the worst conceivable technical solution, you can imagine. This also has the potential to kill other minor distributions, like Freedesktop.org is currently killing BSD. |
Nevertheless, this Beta explicitly targeting ubuntu 12.04 does not mean that other distros are being ignored. Let's just wait and see how this evolves, shall we?
In the meantime, this is the list of packages you will need to add to a 32-bit Slackware: OpenAL (implements the OpenAL 3D audio API) json-c (dependency for pulseaudio) speex (dependency for pulseaudio) pulseaudio And if you are running Slackware 64-bit with multilib you will have to create compat32 packages of the following (apart from what my "basic" set of compat32 packages already installs): OpenAL-compat32 json-c-compat32 speex-compat32 pulseaudio-compat32 flac-compat32 (part of Slackware) libogg-compat32 (part of Slackware) libvorbis-compat32 (part of Slackware) You can find packages for these deps here (I will upload the steamclient itself too in due time): http://taper.alienbase.nl/mirrors/pe...amclient/deps/ The next hurdle is that Steam seems to be overloaded, sometimes I get the error "can't contact steam server" and now I am waiting for the access code in my mailbox because Steam noticed that this is a new computer and wants me to acknowledge this. To be continued... Eric Eric |
Great work alien bob :)
I was too lazy to build compat32 pkgs for pulseaudio and so on. Now I can just download your packages, thank you very much! |
Quote:
|
Based on what I'm hearing in this thread, it sounds like Desura will remain the more Slackware-friendly platform.
|
The steam client works except when you try to directly open the store or access a game.
This works from the console: Code:
steam If you run this instead: Code:
steam steam://store When I try to start Team Fortress 2 (which according to the store is available for Linux) using the commandline Code:
steam steam://run/440 Code:
(steam:5120): Gtk-WARNING **: A floating object was finalized. This means that someone Code:
Installing breakpad exception handler for appid(steam)/version(1352224866_client) |
Quote:
Eric |
Glad to see Steam has a Linux port finally and kudos to AlienBOB once again for his always helpful insights.
Now all we need is a SlackBuild script to repackage it to .tgz format, list all the dependencies, and we're good to go. |
Just been trying this out and unfortunately it doesn't seem to like me much :-
Code:
Setting up steam platform in /home/michael/Steam SlackBuild http://pastebin.com/u6ssp0tB doinst.sh http://pastebin.com/bJWKwm8s slack-desc http://pastebin.com/fqkHHDNz |
Quote:
The segmentation fault is more obscure. I had that too, and could resolve it once I had installed all missing 32-bit libraries (I am on a multilib system). I was able to play the demo of World of Goo - which seems to be the only Linux game you can activate if you are not invited for the closed beta. Eric |
I've got this on Slackware 14 64bit
steam steam://store ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt". X Error of failed request: BadName (named color or font does not exist) Major opcode of failed request: 45 (X_OpenFont) Serial number of failed request: 12 Current serial number in output stream: 13 Dear Bob i follow your instructions from previous page to create a steam package,i have a multilib system http://slackware.com/~alien/multilib/ download and install this http://taper.alienbase.nl/mirrors/pe...eamclient/deps Sorry for my bad english i'm from Bulgaria /etc/rc.d/rc.pulseaudio start E: [pulseaudio] core-util.c: Home directory / not ours. Starting pulseaudio... W: [pulseaudio] authkey.c: Failed to open cookie file '//.pulse-cookie': No such file or directory W: [pulseaudio] authkey.c: Failed to load authorization key '//.pulse-cookie': No such file or directory No protocol specified E: [pulseaudio] client-conf-x11.c: xcb_connection_has_error() returned true E: [autospawn] core-util.c: Home directory / not ours. W: [autospawn] lock-autospawn.c: Cannot access autospawn lock. E: [pulseaudio] main.c: Failed to acquire autospawn lock |
Quote:
The compat32 one does not contain the rc.pulseaudio file, only the pulseaudio-2.0-i486-1_Sbo package has it. In fact the compat32 package has none of the /etc tree in it. |
I haven't used my Steam account in years, probably won't for more years either. How many games will even run? No one uses OGL anymore except id.
|
Quote:
Eric |
Quote:
Eric |
Quote:
Code:
# groupadd -g 216 pulse Eric |
Quote:
In fact, most engines nowadays are made to run on mobile devices also. There is no Direct3D on mobile devices (except Windows devices of course). |
Im running multilib and have only installed compat32 packages. Im not in the beta so i cant try source games, but i do have Rochard and SPAZ from the HumbleBundle of which i only tried SPAZ.
EDIT: Rochard does not launch. I get error message "Failed to start game (missing executable.)" |
Quote:
|
Quote:
No protocol specified E: [pulseaudio] client-conf-x11.c: xcb_connection_has_error() returned true E: [pulseaudio] main.c: Daemon startup failed. When i type pulseaudio Inconsistency detected by ld.so: dl-open.c: 667: _dl_open: Assertion `_dl_debug_initialize (0, args.nsid)->r_state == RT_CONSISTENT' failed! This is the error |
I don't think you need to start pulseaudio, it just needs to be installed
because steam is linked to it. I have switched in the steam settings audio to alsa and the gui works fine (including the big picture mode). But I have no games available to try :( |
when i type steam in terminal i've got this error
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt". X Error of failed request: BadName (named color or font does not exist) Major opcode of failed request: 45 (X_OpenFont) Serial number of failed request: 12 Current serial number in output stream: 13 |
Quote:
So I would say that having networkmanager running is a dependency as well. EDIT .... restarting steam and it is seg faulting again so back to the drawing board. EDIT2 pulseaudio is missing a dependency libsamplerate, checked Eric'c multilib repository and there is no ready made package (Eric you will need to add a package for this) |
Quote:
So if you don't have it already get it here: http://slackbuilds.org/repository/14...itstream-vera/ |
Right, the client is incompatible with nouvea, I had to install the nvidia blob.
LATE EDIT A game that does work is the World of Goo demo. Game ID 22010 If you get the store page the link to install the PC demo works. |
Quote:
|
Quote:
Quote:
I uploaded a few changes to my multilib repository. I have added ap/flac ap/sqlite l/libogg l/libsamplerate l/libvorbis to the massconvert32.sh script. These are the Slackware packages which will be needed if you want run the Linux version of Steam. I also refreshed all the *compat32 packages for Slackware 14.0 for those who do not want to run massconvert32.sh and just want to download & install packages. The upload is currently underway to the server. Eric |
1 Attachment(s)
This is the otput from strace
strace -E LD_LIBRARY_PATH=/home/tux/.steam/root/ubuntu12_32/ -e trace=open /home/tux/.steam/root/ubuntu12_32/steam [ Process PID=13985 runs in 32 bit mode. ] open("/home/tux/.steam/root/ubuntu12_32/tls/i686/sse2/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/tux/.steam/root/ubuntu12_32/tls/i686/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/tux/.steam/root/ubuntu12_32/tls/sse2/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/tux/.steam/root/ubuntu12_32/tls/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/tux/.steam/root/ubuntu12_32/i686/sse2/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/tux/.steam/root/ubuntu12_32/i686/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/tux/.steam/root/ubuntu12_32/sse2/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/tux/.steam/root/ubuntu12_32/libX11.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/libX11.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libm.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libdl.so.2", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libstdc++.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libpthread.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libc.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libxcb.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libxcb.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libXau.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libXau.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libXdmcp.so.6", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libXdmcp.so.6", O_RDONLY|O_CLOEXEC) = 3 open("/home/tux/.steam/root/ubuntu12_32/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/lib/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3 open("/dev/urandom", O_RDONLY) = 3 open("/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq", O_RDONLY) = -1 ENOENT (No such file or directory) open("/proc/cpuinfo", O_RDONLY) = 3 open("/proc/cpuinfo", O_RDONLY) = 3 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/gconv/gconv-modules", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_MEASUREMENT", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_TELEPHONE", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_ADDRESS", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_NAME", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_PAPER", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/en_US/LC_MESSAGES", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/en_US/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_MONETARY", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_TIME", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_NUMERIC", O_RDONLY|O_CLOEXEC) = 3 open("/usr/lib/locale/bg_BG.utf8/LC_CTYPE", O_RDONLY|O_CLOEXEC) = 3 open("./public/steambootstrapper_english.txt", O_RDONLY) = -1 ENOENT (No such file or directory) open("./public/steambootstrapper_english.txt", O_RDONLY) = -1 ENOENT (No such file or directory) ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt". open("steam.cfg", O_RDONLY) = -1 ENOENT (No such file or directory) open("Steam.cfg", O_RDONLY) = -1 ENOENT (No such file or directory) open("package/beta", O_RDONLY) = 3 open("/home/tux/.steam/root/ubuntu12_32/crashhandler.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) open("/home/tux/.Xauthority", O_RDONLY) = 4 open("/usr/share/X11/XErrorDB", O_RDONLY) = 4 open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 4 open("/usr/share/X11/locale/locale.dir", O_RDONLY) = 4 open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 4 open("/usr/share/X11/locale/locale.dir", O_RDONLY) = 4 open("/usr/share/X11/locale/locale.alias", O_RDONLY) = 4 open("/usr/share/X11/locale/locale.dir", O_RDONLY) = 4 X Error of failed request: BadName (named color or font does not exist) Major opcode of failed request: 45 (X_OpenFont) Serial number of failed request: 12 Current serial number in output stream: 13 |
Quote:
Quote:
|
Well crud! I can't even get the page where one joins to load correctly (https://store.steampowered.com/join/). None of the javascript things work like the pulldown menu for 'secret question' or the 'refresh' of the weird letter/numbers thing. I've tried it with seamonkey, firefox and opera.
I've got jre-7u9-i586-1 installed on my slackware 14 system (32 bit). The java *seems* to work on other websites, but is there someplace I can check to make sure? |
Their website doesn't work right most of the time in Windows either. I think they expect everyone to be running a Cray, with a full render farm for graphics and OC-192 connections and Windows Home Premium :p
|
Quote:
Eric |
Will installing these PulseAudio pacakages mess up my ALSA set up? I prefer and need to use ALSA for a few reasons.
|
It didn't mess up my alsa as far as I know.
|
Quote:
Eric |
All times are GMT -5. The time now is 06:07 PM. |