Steam: Difference between revisions
| (20 intermediate revisions by 2 users not shown) | |||
| Line 2: | Line 2: | ||
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. | 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. | ||
{{Command|steam --reset}} | {{Command|steam --reset}} | ||
== Start Steam with debug output enabled == | == Start Steam with debug output enabled == | ||
{{Command|<nowiki>STEAM_RUNTIME=1 STEAM_DEBUG=1 steam</nowiki>}} | {{Command|<nowiki>STEAM_RUNTIME=1 STEAM_DEBUG=1 steam</nowiki>}} | ||
== Debug a Steam application / game with strace == | == Debug a Steam application / game with strace == | ||
| Line 41: | Line 17: | ||
{{Command|rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libpulse*}} | {{Command|rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libpulse*}} | ||
=== Killing Floor | === Killing Floor === | ||
Killing Floor ships it own openal library instead of relying on the (working) one which comes with the steam runtime. | Killing Floor ships it own openal library instead of relying on the (working) one which comes with the steam runtime. | ||
{{Command|cd ~/.steam/steam/SteamApps/common/KillingFloor/System}} | {{Command|cd ~/.steam/steam/SteamApps/common/KillingFloor/System}} | ||
{{Command|rm openal.so}} | {{Command|rm openal.so}} | ||
{{Command|ln -s ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libopenal.so.1 openal.so}} | {{Command|ln -s ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libopenal.so.1 openal.so}} | ||
To play the German version with gore (uncut) set the game language to English in Steam and then edit the configuration file by adding an additional line. | |||
{{File|~/.killingfloor/System/KillingFloor.ini| | |||
<pre> | |||
[Engine.Engine] | |||
bdevgoreoverride=True | |||
</pre> | |||
}} | |||
=== Duke Nukem 3D: Megaton Edition === | === Duke Nukem 3D: Megaton Edition === | ||
| Line 59: | Line 42: | ||
== Steam on Exherbo Linux == | == Steam on Exherbo Linux == | ||
=== Host - Prepare system tools === | |||
=== | {{File|/etc/paludis/options.conf| | ||
<pre> | |||
# i686-pc-linux-gnu cross | |||
dev-util/pkgconf targets: i686-pc-linux-gnu | |||
sys-devel/binutils targets: i686-pc-linux-gnu | |||
sys-devel/gcc targets: i686-pc-linux-gnu | |||
app-admin/eclectic-gcc targets: i686-pc-linux-gnu | |||
</pre> | |||
}} | |||
This is required temporarily to get you started and will be reverted later on. | |||
{{File|/etc/paludis/options.conf| | |||
<pre> | |||
sys-devel/gcc -threads | |||
</pre> | |||
}} | |||
{{Root|cave resolve pkgconf binutils gcc eclectic-gcc -x1}} | |||
=== Target - Prepare cross environment === | |||
Create a copy of your paludis environment. | Create a copy of your paludis environment. | ||
| Line 67: | Line 69: | ||
In the cross environment you can remove any repository .conf not needed, required are ::arbor, ::desktop, ::gnome, ::media and ::x11 (::hardware for nvidia-drivers). | In the cross environment you can remove any repository .conf not needed, required are ::arbor, ::desktop, ::gnome, ::media and ::x11 (::hardware for nvidia-drivers). | ||
{{File|/etc/paludis-cross/repositories/i686-pc-linux-gnu.conf| | |||
<pre> | |||
format = exndbam | |||
location = ${root}/var/db/paludis/repositories/cross-installed/i686-pc-linux-gnu | |||
name = i686-pc-linux-gnu | |||
split_debug_location = /usr/i686-pc-linux-gnu/lib/debug | |||
tool_prefix = i686-pc-linux-gnu- | |||
cross_compile_host = i686-pc-linux-gnu | |||
</pre> | |||
}} | |||
{{Root|mkdir -p /var/db/paludis/repositories/cross-installed/i686-pc-linux-gnu}} | |||
{{File|/etc/paludis-cross/bashrc| | {{File|/etc/paludis-cross/bashrc| | ||
| Line 85: | Line 100: | ||
<pre> | <pre> | ||
*/* targets: i686-pc-linux-gnu | */* targets: i686-pc-linux-gnu | ||
*/* build_options: jobs= | */* build_options: jobs=13 -recommended_tests -expensive_tests symbols=strip | ||
*/* LINGUAS: -* de | */* LINGUAS: -* de | ||
*/* VIDEO_DRIVERS: -* | */* VIDEO_DRIVERS: -* | ||
| Line 94: | Line 109: | ||
*/* -bash-completion | */* -bash-completion | ||
*/* parts: -configuration -documentation | */* parts: -configuration -documentation | ||
dev-libs/libglvnd X | |||
</pre> | </pre> | ||
}} | }} | ||
{{ | {{File|//etc/paludis-cross/suggestions.conf| | ||
<pre> | <pre> | ||
*/* -*/* | |||
</pre> | </pre> | ||
}} | }} | ||
{{Root|cave -E paludis:cross resolve --make cross-compile sys-kernel/linux-headers -x1}} | |||
{{Root|cave -E paludis:cross resolve --make cross-compile --no-dependencies-from sys-libs/glibc sys-libs/glibc -x1}} | |||
{{Root|<nowiki>/usr/i686-pc-linux-gnu/bin/localedef --prefix=/ -i de_DE -f UTF-8 de_DE.UTF-8</nowiki>}} | |||
{{Root|cave -E paludis:cross resolve --make cross-compile libatomic libgcc libstdc++ -x1}} | |||
Remove the previously set sys-devel/gcc -threads from /etc/paludis/options.conf and rebuild gcc: | |||
{{Root|cave resolve gcc --no-follow-installed-dependencies -x1}} | |||
{{Root|cave -E paludis:cross resolve --make cross-compile libatomic libgcc libstdc++ -x1}} | |||
Prevent installing unneeded Python cross dependencies: | |||
{{Root|cave -E paludis:cross resolve --make cross-compile xcb-proto -x1 -0 '*/*'}} | |||
=== Cross environment (NVIDIA) === | === Cross environment (NVIDIA) === | ||
Install the 32bit libraries of nvidia-drivers. | |||
{{File|/etc/paludis-cross/options.conf| | {{File|/etc/paludis-cross/options.conf| | ||
| Line 158: | Line 145: | ||
}} | }} | ||
{{Root|cave -E paludis:cross resolve --make cross-compile nvidia-drivers | {{Root|cave -E paludis:cross resolve --make cross-compile nvidia-drivers --ignore-from xorg-server}} | ||
=== List of installed cross packages === | |||
{{File|List of installed packages| | {{File|List of installed packages| | ||
<pre> | <pre> | ||
dev-libs/libbsd | |||
dev-libs/libglvnd | |||
dev-libs/libmd | |||
dev-libs/libpthread-stubs | |||
sys-kernel/linux-headers | |||
sys-libs/glibc | |||
sys-libs/libatomic | |||
sys-libs/libgcc | |||
sys-libs/libstdc++ | |||
x11-dri/libdrm | |||
x11-drivers/nvidia-drivers | |||
x11-libs/libvdpau | |||
x11-libs/libX11 | |||
x11-libs/libXau | |||
x11-libs/libxcb | |||
x11-libs/libXdmcp | |||
x11-libs/libXext | |||
x11-libs/xtrans | |||
x11-proto/xcb-proto | |||
x11-proto/xorgproto | |||
</pre> | </pre> | ||
}} | }} | ||
Latest revision as of 00:36, 20 September 2022
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.
Start Steam with debug output enabled
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.
Engine and Game specific workarounds (required on e.g. Fedora)
No sound in Unity based games (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.
Killing Floor
Killing Floor ships it own openal library instead of relying on the (working) one which comes with the steam runtime.
To play the German version with gore (uncut) set the game language to English in Steam and then edit the configuration file by adding an additional line.
[Engine.Engine] bdevgoreoverride=True
Duke Nukem 3D: Megaton Edition
Shadow Warrior Classic Redux
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
Host - Prepare system tools
# i686-pc-linux-gnu cross dev-util/pkgconf targets: i686-pc-linux-gnu sys-devel/binutils targets: i686-pc-linux-gnu sys-devel/gcc targets: i686-pc-linux-gnu app-admin/eclectic-gcc targets: i686-pc-linux-gnu
This is required temporarily to get you started and will be reverted later on.
sys-devel/gcc -threads
Target - Prepare cross environment
Create a copy of your paludis environment.
In the cross environment you can remove any repository .conf not needed, required are ::arbor, ::desktop, ::gnome, ::media and ::x11 (::hardware for nvidia-drivers).
format = exndbam
location = ${root}/var/db/paludis/repositories/cross-installed/i686-pc-linux-gnu
name = i686-pc-linux-gnu
split_debug_location = /usr/i686-pc-linux-gnu/lib/debug
tool_prefix = i686-pc-linux-gnu-
cross_compile_host = i686-pc-linux-gnu
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"
*/* x86 ~x86
*/* targets: i686-pc-linux-gnu */* build_options: jobs=13 -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 dev-libs/libglvnd X
*/* -*/*
Remove the previously set sys-devel/gcc -threads from /etc/paludis/options.conf and rebuild gcc:
Prevent installing unneeded Python cross dependencies:
Cross environment (NVIDIA)
Install the 32bit libraries of nvidia-drivers.
x11-drivers/nvidia-drivers -tools
List of installed cross packages
dev-libs/libbsd dev-libs/libglvnd dev-libs/libmd dev-libs/libpthread-stubs sys-kernel/linux-headers sys-libs/glibc sys-libs/libatomic sys-libs/libgcc sys-libs/libstdc++ x11-dri/libdrm x11-drivers/nvidia-drivers x11-libs/libvdpau x11-libs/libX11 x11-libs/libXau x11-libs/libxcb x11-libs/libXdmcp x11-libs/libXext x11-libs/xtrans x11-proto/xcb-proto x11-proto/xorgproto