Steam
Valve has released a native (currently x86-only) Linux client for their Steam platform available to all steam users.
Contents |
Notice
The .deb released by Valve is actually only an installer that pulls the actual steam version from their servers and places it as well as the games into ~/Steam/. So, the official package manager cannot be involved in managing games and steam updates.
Games
- Official Valve Linux Games List
- CDR List (includes future (beta) releases for Linux)
Prerequisites
Things you need in order to run steam or even the steam-installer.
Dependencies
If you don't plan on using the ebuild then you can create a set to conveniently manage and update the steam dependencies without changing your world file. Otherwise skip this section.
After you have created the file /etc/portage/sets/steam as shown below, run:root # emerge --ask @steamx86
dev-libs/glib:2 dev-libs/libgcrypt dev-libs/nspr dev-libs/nss media-libs/alsa-lib media-libs/fontconfig media-libs/freetype:2 media-libs/libjpeg-turbo media-libs/libogg media-libs/libpng:1.2 media-libs/libsdl media-libs/libtheora media-libs/libvorbis media-libs/openal media-sound/pulseaudio net-misc/curl net-print/cups sys-apps/dbus >=sys-devel/gcc-4.6.0 >=sys-libs/glibc-2.15 >=sys-libs/zlib-1.2.4 virtual/opengl x11-libs/cairo x11-libs/gdk-pixbuf x11-libs/gtk+:2 >=x11-libs/libX11-1.5 x11-libs/libXext x11-libs/libXfixes x11-libs/libXi x11-libs/libXrandr x11-libs/libXrender x11-libs/pango >=x11-libs/pixman-0.24.4
amd64
>=app-emulation/emul-linux-x86-baselibs-20121028 >=app-emulation/emul-linux-x86-gtklibs-20121028 >=app-emulation/emul-linux-x86-opengl-20121028 >=app-emulation/emul-linux-x86-sdl-20121028 >=app-emulation/emul-linux-x86-soundlibs-20121028 >=app-emulation/emul-linux-x86-xlibs-20121028 >=sys-devel/gcc-4.6.0[multilib] >=sys-libs/glibc-2.15[multilib] virtual/opengl
Kernel
You need tmpfs activated in your kernel and /dev/shm mounted.
# to limit the size add e.g. size=768M to opts (default is 50%) #<fs> <mountpoint> <type> <opts> <dump/pass> shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Installation
Download the .deb archive found here, extract[1] and put the following files into the same directory:
- bootstraplinux_ubuntu12_32.tar.xz (from the .deb archive)
- steam.desktop (from the .deb archive)
- steam (get the script here) [last update: 2013-03-24]
Make steam executable and run it. There are also a few icons in the .deb archive.
Client Troubleshooting
A few tricks to get things working.
Video drivers
- nvidia-drivers: You will need to unmask latest x11-drivers/nvidia-drivers.
- If S3TC support is missing, install media-libs/libtxc_dxtn.
- Starting some games (TF, CS:S) on legacy ATI drivers will give this error: "Required OpenGL extension "GL_EXT_texture_sRGB_decode" is not supported. Please update your OpenGL driver." Workaround is here.
Fonts
Some people seem to have problems with missing fonts. A user reported it being solved by emerging media-fonts/font-bitstream-100dpi.
Sometimes Xorg does not recognize the new fonts installed. To fix this temp. run:
user $ xset +fp /usr/share/fonts/100dpi/
user $ ./steam.shYou may also need media-fonts/corefonts if fonts don't appear to be rendering correctly.
The game Stealth Bastard Deluxe will segfault if media-fonts/font-misc-misc is not installed [2].
Mouse cursor
If your WM/DE does not set a mouse pointer theme, then Steam will overwrite the default X11 cursor theme, often resulting in a reversed pointer from left to right.
To fix this, just install and enable a compatible cursor theme via your WM/DE (e.g. x11-themes/vanilla-dmz-xcursors).
You can also enable the installed theme manually with the following method:
user $ mkdir ~/.icons
user $ ln -s /usr/share/cursors/xorg-x11/Vanilla-DMZ ~/.icons/defaultIf the mouse cursor gets stuck pointing in the wrong direction after exiting steam you can work around that via:
user $ xsetroot -cursor_name left_ptrFlashplayer on amd64
Get the 32bit flashplayer from adobe and extract libflashplayer.so to your current working dir. Now run:
user $ mkdir <path-to-steam-installation>/ubuntu12_32/plugins
user $ mv libflashplayer.so <path-to-steam-installation>/ubuntu12_32/plugins/
user $ chmod +x <path-to-steam-installation>/ubuntu12_32/plugins/libflashplayer.soAlternatively emerge www-plugins/adobe-flash with 32bit USE flag and run:
user $ mkdir <path-to-steam-installation>/ubuntu12_32/plugins
user $ ln -s /opt/Adobe/flash-player32/libflashplayer.so <path-to-steam-installation>/ubuntu12_32/plugins/Memory corruption on startup
You might get an error like this:
user $ steam
*** glibc detected *** zenity: malloc(): memory corruption: 0x00000000016cf020 ***
Try to emerge x11-libs/libXi and it should work.
Hardened Gentoo
It looks like the steam binary has rwx bits in it. You will need to mark the binary with the following to get it working on a hardened system.
user $ paxctl-ng -m ~/.local/share/Steam/ubuntu12_32/steamSteam runtime
By default, Valve bundles own libraries with the steam package and uses them instead of installed system libraries. This behavior can be changed by setting the environment variable STEAM_RUNTIME=0 or starting steam with
user $ STEAM_RUNTIME=0 steamEnabling the steam runtime can fix problems with missing libraries. Use STEAM_RUNTIME=1 if you see error messages like
Error: You are missing the following 32-bit libraries, and Steam may not run: libSDL2-2.0.so.0
Reset Steam client
If you want to wipe out your current steam installation and reinstall steam without losing games data, you can use the --reset command line option:
user $ steam --resetGames Troubleshooting
Team Fortress 2
If you only get a black screen for 1-2 seconds, try adding "-nojoy" to Game->Properties->"Set Launch Options".
Further help
Before you ask anywhere else, refer to the gentoo forum thread. Post your solutions and update this wiki page if someone confirms. Please don't remove content without Discussion unless it's wrong content.