Steam

From Gentoo Wiki
Jump to: navigation, search

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

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 @steam

x86

File/etc/portage/sets/steamdependencies for x86

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

File/etc/portage/sets/steamdependencies for 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.

Kernel configurationtmpfs support

File Systems --->
  Pseudo Filesystems --->
    [*] Tmpfs virtual memory file system support (former shm fs)
Note
/dev/shm should be automatically mounted by the devfs initscript, however you can do so explicitly and with additional options via fstab.
File/etc/fstab

# 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.

Note
Alternatively you can use the steam-meta ebuild from steam-overlay.

Client Troubleshooting

A few tricks to get things working.

Video drivers

  • Nvidia: You will need to unmask latest x11-drivers/nvidia-drivers.
  • If S3TC support is missing, try 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 recognise the new fonts installed. To fix this temp. run:

user $ xset +fp /usr/share/fonts/100dpi/
user $
./steam.sh

You may also need media-fonts/corefonts if fonts don't appear to be rendering correctly.

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/default
Note
This fix will not work if you will try to symlink a kde cursor theme (eg: Oxygen_White).

If the mouse cursor gets stuck pointing in the wrong direction after exiting steam you can work around that via:

user $ xsetroot -cursor_name left_ptr

Flashplayer 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.so

Alternatively emerge www-plugins/adobe-flash with 32bit useflag 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/steam

Steam 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 steam

Enabling the steam runtime can fix problems with missing libraries. Use STEAM_RUNTIME=1 if you see errror messages like

Code

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 --reset

Games 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.

See also

External resources

Personal tools
Namespaces

Variants
Actions
Gentoo Websites logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Navigation
Toolbox
Categories