Steam: Difference between revisions

From Q
Jump to navigation Jump to search
Tgurr (talk | contribs)
Tgurr (talk | contribs)
Line 148: Line 148:
{{File|/etc/paludis-cross/options.conf|
{{File|/etc/paludis-cross/options.conf|
<pre>
<pre>
x11-dri/mesa vdpau
x11-drivers/nvidia-drivers -tools
x11-drivers/nvidia-drivers -tools
</pre>
</pre>

Revision as of 01:48, 16 May 2015

Refresh Steam files

If there are any problems with your Steam installation first try to reset it's configuration and files. This won't affect your currently installed games.

$ steam --reset


Bug 1040: Let Steam client windows be managed by the window manager

Lets you close Steam to the tray instead of having it sit in the task bar.

File: ~/.bash_profile
# Steam close to tray workaround
# https://github.com/ValveSoftware/steam-for-linux/issues/1040
export STEAM_FRAME_FORCE_CLOSE=1


Bug 529: Error: SELinux is preventing steam from using the 'execheap' accesses on a process

Enable workaround:

# setsebool -P selinuxuser_execheap 1

Disable workaround:

# setsebool -P selinuxuser_execheap 0


Force Steam to use the system libs instead of the STEAM_RUNTIME (STEAM_RUNTIME is the default and only supported upstream configuration)

$ STEAM_RUNTIME=0 steam


Start Steam with debug output enabled

$ STEAM_RUNTIME=1 STEAM_DEBUG=1 steam


Debug a Steam application / game with strace

Open the Steam options of the specific application and enter the following command into the start parameters form.

$ strace %command% 2>&1 | tee ~/strace.log


Engine and Game specific workarounds (required on e.g. Fedora)

No sound (e.g. in Shroud of the Avatar: Forsaken Virtues)

Most of the time this is solved by removing the PulseAudio libraries Steam ships with its STEAM_RUNTIME to force the game to use the system installed PulseAudio libraries.

$ rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libpulse*
$ rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libpulse*

Duke Nukem 3D: Megaton Edition

$ cd ~/.steam/steam/SteamApps/common/Duke\ Nukem\ 3D/bin/
$ ln -s /usr/lib/nvidia/libGL.so.1 libGL.so

Shadow Warrior Classic Redux

$ cd ~/.steam/steam/SteamApps/common/Shadow\ Warrior\ Classic/bin/
$ ln -s /usr/lib/nvidia/libGL.so.1 libGL.so

Dungeon Defenders Eternity

Right click the Dungeon Defenders Eternity in the Steam library, choose "Link Steam Libraries" in the context menu.

Steam on Exherbo Linux

As of May 2015 after the big multiarch/cross merge it is not easily possible to install a reduced set of 32bit packages like it was before with multilib, so the following workaround is required if you only want to install the 32bit libraries Steam needs.

Cross environment (basic)

Create a copy of your paludis environment.

# cp -a /etc/paludis /etc/paludis-cross

In the cross environment you can remove any repository .conf not needed, required are ::arbor, ::desktop, ::gnome, ::media and ::x11.

File: /etc/paludis-cross/bashrc
CHOST="x86_64-pc-linux-gnu"
x86_64_pc_linux_gnu_CFLAGS="-pipe -O2 -march=native"
i686_pc_linux_gnu_CFLAGS="-pipe -O2 -march=native"
File: /etc/paludis-cross/platforms.conf
*/* x86 ~x86
File: /etc/paludis-cross/options.conf
*/* targets: i686-pc-linux-gnu
*/* build_options: jobs=5 -recommended_tests -expensive_tests symbols=strip
*/* LINGUAS: -* de
*/* VIDEO_DRIVERS: -*
*/* INPUT_DRIVERS: -*
*/* X86_CPU_FEATURES: -* avx mmx sse sse2 sse3 ssse3 sse4.1 sse4.2

# Steam minimal dependencies setup
*/* -bash-completion
*/* parts: -configuration -documentation
sys-sound/alsa-plugins pulseaudio
media-sound/pulseaudio -tcpd -systemd
# cave -E paludis:cross resolve --make cross-compile pulseaudio --ignore-from systemd --ignore-from pulseaudio --suggestions ignore --recommendations ignore

This will install ~40 packages which is enough for Steam to run if you use a Nvidia card. If not you might have to install mesa and an additional driver to provide a 32bit libGL.so.

File: List of installed packages
n   app-arch/bzip2:0::arbor 1.0.6 to ::i686-pc-linux-gnu
n   dev-libs/expat:0::arbor 2.1.0 to ::i686-pc-linux-gnu
n   dev-libs/libffi:0::arbor 3.2.1 to ::i686-pc-linux-gnu
n   dev-libs/openssl:0::arbor 1.0.2a to ::i686-pc-linux-gnu
n   sound-themes/sound-theme-freedesktop:0::gnome 0.8 to ::i686-pc-linux-gnu
n   sys-apps/skeleton-filesystem-layout:0::arbor 0.84 to ::i686-pc-linux-gnu
n   sys-devel/gnuconfig:0::arbor 20140728 to ::i686-pc-linux-gnu
n   sys-devel/libtool:0::arbor 2.4.6 to ::i686-pc-linux-gnu
n   dev-libs/json-c:0::arbor 0.11-r2 to ::i686-pc-linux-gnu
n   sys-libs/ncurses:0::arbor 5.9-r3 to ::i686-pc-linux-gnu
n   sys-libs/timezone-data:0::arbor 2015b to ::i686-pc-linux-gnu
n   sys-libs/zlib:0::arbor 1.2.8 to ::i686-pc-linux-gnu
n   sys-sound/alsa-lib:0::arbor 1.0.29 to ::i686-pc-linux-gnu
n   virtual/libssl:0::arbor 0-r1 to ::i686-pc-linux-gnu
n   dev-lang/python:2.7::arbor 2.7.9 to ::i686-pc-linux-gnu
n   app-admin/eclectic-python:2::arbor 2 to ::i686-pc-linux-gnu
n   app-arch/xz:0::arbor 5.2.1 to ::i686-pc-linux-gnu
n   dev-libs/orc:0.4::arbor 0.4.19 to ::i686-pc-linux-gnu
n   dev-util/elfutils:0::arbor 0.161 to ::i686-pc-linux-gnu
n   media-libs/libsndfile:0::media 1.0.25-r2 to ::i686-pc-linux-gnu
n   media-libs/speexdsp:0::media 1.2_rc3 to ::i686-pc-linux-gnu
n   sys-apps/attr:0::arbor 2.4.47 to ::i686-pc-linux-gnu
n   sys-apps/coreutils:0::arbor 8.23-r3 to ::i686-pc-linux-gnu
n   sys-apps/kmod:0::arbor 20 to ::i686-pc-linux-gnu
n   sys-libs/cracklib:0::arbor 2.9.4 to ::i686-pc-linux-gnu
n   sys-libs/gdbm:0::arbor 1.11 to ::i686-pc-linux-gnu
n   sys-libs/libcap-ng:0::arbor 0.7.4 to ::i686-pc-linux-gnu
n   sys-libs/pam:0::arbor 1.1.8-r2 to ::i686-pc-linux-gnu
n   sys-apps/kbd:0::arbor 2.0.2 to ::i686-pc-linux-gnu
n   sys-libs/libcap:0::arbor 2.24-r1 to ::i686-pc-linux-gnu
n   dev-libs/glib:2::arbor 2.44.0 to ::i686-pc-linux-gnu
n   sys-apps/dbus:0::arbor 1.9.14 to ::i686-pc-linux-gnu
n   sys-apps/pciutils:0::arbor 3.3.1 to ::i686-pc-linux-gnu
n   sys-apps/systemd:0::arbor 219-r2 to ::i686-pc-linux-gnu
n   sys-apps/util-linux:0::arbor 2.26.2 to ::i686-pc-linux-gnu
n   dev-libs/glib-networking:0::arbor 2.44.0 to ::i686-pc-linux-gnu
n   gnome-desktop/dconf:0::arbor 0.24.0 to ::i686-pc-linux-gnu
n   gnome-desktop/gobject-introspection:1::gnome 1.44.0 to ::i686-pc-linux-gnu
n   media-sound/pulseaudio:0::desktop 6.0-r3 to ::i686-pc-linux-gnu
n   sys-sound/alsa-plugins:0::arbor 1.0.29 to ::i686-pc-linux-gnu

Cross environment (Nvidia)

Additionally install the 32bit libraries of nvidia-drivers.

File: /etc/paludis-cross/options.conf
x11-drivers/nvidia-drivers -tools
# cave -E paludis:cross resolve --make cross-compile nvidia-drivers --ignore-from systemd --ignore-from pulseaudio --ignore-from xorg-server --suggestions ignore --recommendations ignore

This will install ~45 packages as dependencies of nvidia-drivers. Steam itself however only requires a 32bit libGL.so an non of the mesa/dri/Xorg stuff.

File: List of installed packages
n   dev-libs/libpthread-stubs:0::x11 0.3-r1 to ::i686-pc-linux-gnu
n   media-libs/libpng:1.6::arbor 1.6.17 to ::i686-pc-linux-gnu
n   fonts/font-alias:0::x11 1.0.3 to ::i686-pc-linux-gnu
n   media-libs/freetype:2::x11 2.5.5 to ::i686-pc-linux-gnu
n   x11-libs/libpciaccess:0::x11 0.13.4 to ::i686-pc-linux-gnu
n   x11-libs/pixman:1::x11 0.32.6-r1 to ::i686-pc-linux-gnu
n   x11-libs/libICE:0::x11 1.0.9 to ::i686-pc-linux-gnu
n   x11-libs/libXau:0::x11 1.0.8 to ::i686-pc-linux-gnu
n   x11-libs/libXdmcp:0::x11 1.1.2 to ::i686-pc-linux-gnu
n   x11-libs/libfontenc:0::x11 1.1.3 to ::i686-pc-linux-gnu
n   x11-libs/libxshmfence:0::x11 1.2 to ::i686-pc-linux-gnu
n   x11-apps/xkeyboard-config:0::x11 2.14-r2 to ::i686-pc-linux-gnu
n   x11-libs/libxcb:0::x11 1.11 to ::i686-pc-linux-gnu
n   x11-libs/libSM:0::x11 1.2.2-r1 to ::i686-pc-linux-gnu
n   x11-dri/libdrm:0::x11 2.4.60 to ::i686-pc-linux-gnu
n   x11-libs/xtrans:0::x11 1.3.5 to ::i686-pc-linux-gnu
n   x11-libs/libX11:0::x11 1.6.3-r1 to ::i686-pc-linux-gnu
n   x11-libs/libXext:0::x11 1.3.3 to ::i686-pc-linux-gnu
n   x11-libs/libXfixes:0::x11 5.0.1 to ::i686-pc-linux-gnu
n   x11-libs/libXdamage:0::x11 1.1.4 to ::i686-pc-linux-gnu
n   x11-libs/libXi:0::x11 1.7.4 to ::i686-pc-linux-gnu
n   x11-libs/libXrender:0::x11 0.9.9 to ::i686-pc-linux-gnu
n   x11-libs/libXres:0::x11 1.0.7 to ::i686-pc-linux-gnu
n   x11-libs/libXt:0::x11 1.1.5 to ::i686-pc-linux-gnu
n   x11-libs/libXmu:0::x11 1.1.2-r1 to ::i686-pc-linux-gnu
n   x11-libs/libXpm:0::x11 3.5.11 to ::i686-pc-linux-gnu
n   x11-libs/libXxf86misc:0::x11 1.0.3 to ::i686-pc-linux-gnu
n   x11-libs/libXxf86vm:0::x11 1.1.4-r1 to ::i686-pc-linux-gnu
n   dev-libs/libepoxy:0::x11 1.2-r1 to ::i686-pc-linux-gnu
n   media-libs/fontconfig:0::x11 2.11.1 to ::i686-pc-linux-gnu
n   fonts/dejavu:0::x11 2.34 to ::i686-pc-linux-gnu
n   x11-dri/mesa:0::x11 10.5.5 to ::i686-pc-linux-gnu
n   fonts/font-adobe-100dpi:0::x11 1.0.3 to ::i686-pc-linux-gnu
n   fonts/font-adobe-75dpi:0::x11 1.0.3 to ::i686-pc-linux-gnu
n   fonts/font-cursor-misc:0::x11 1.0.3 to ::i686-pc-linux-gnu
n   fonts/font-misc-misc:0::x11 1.1.2 to ::i686-pc-linux-gnu
n   x11-libs/libXfont:0::x11 1.5.1 to ::i686-pc-linux-gnu
n   x11-libs/libvdpau:0::x11 1.1 to ::i686-pc-linux-gnu
n   x11-libs/libxkbfile:0::x11 1.0.9 to ::i686-pc-linux-gnu
n   x11-apps/xkbcomp:0::x11 1.3.0 to ::i686-pc-linux-gnu
n   x11-libs/libxkbui:0::x11 1.0.2-r1 to ::i686-pc-linux-gnu
n   x11-server/xorg-server:0::x11 1.17.1 to ::i686-pc-linux-gnu
n   x11-drivers/nvidia-drivers:0::hardware 349.16-r2 to ::i686-pc-linux-gnu

Finalize

For Steam to run you'll need to create a symlink, there's ongoing work on a tool called multiload which will eventually solve that problem in the future and this workaround won't be neccessary anymore.

# ln -s /usr/i686-pc-linux-gnu/lib/ld-linux.so.2 /usr/x86_64-pc-linux-gnu/lib

To remove the symlink:

# rm /usr/x86_64-pc-linux-gnu/lib/ld-linux.so.2