[Nix-dev] Steam on nixos

Carles Pagès page.lists at gmail.com
Thu Dec 20 14:52:20 CET 2012


Hi everyone!

As many of you already know, the steam for linux beta is now open. Since
some days ago, I've put some effort in running it under nixos. It turns out
aszlig was doing the same in parallel, so before someone else does the
same, let me try to summarize what we have so far.

Steam is distributed as a .deb archive with a bootstrapper script that
downloads the steam client to $HOME. Once all is in place, it calls a
steam.sh which in turn launches the final steam binary.

aszlig and I are following different approaches here. As I'm the lazy guy,
what I did was simply to fetch the .deb, wrap the script with the proper
ld_library_path and little else. The main issue to overcome is that we
cannot patch neither steam.sh nor steam elf as both are auto-updated if
there is a hash mismatch. Without going into details, my last approach is
to create a script that bypasses steam.sh, sets the library path, and calls
steam with the proper ld loader. As for the games, they can be patchelfed
after installing them. They are not checked for consistency, from what I
saw. So my idea is to create a script that parses all the files in the
games folder of steam, and patches the scripts with bash->sh and games with
proper ld.so.

aszlig approach is more involved. He can tell the details, but basically he
manually fetches all the needed pieces for the steam binary to run and puts
them in the store. Hopefully now with the open beta he'll be able to get
further.

Anyway, I only wanted to post this since I won't be able to work on it for
some days, so if someone wants to give it a try, he can start from where we
are. Both approaches are in our github's branches (cpages and aszlig).

Cheers and happy gaming!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.science.uu.nl/pipermail/nix-dev/attachments/20121220/a2437276/attachment.html 


More information about the nix-dev mailing list