Steam/Game-specific troubleshooting
Contents
- 1 Introduction
- 2 Contributing
- 3 Other sources
- 4 Common steps
-
5 Games
- 5.1 Alien Isolation
- 5.2 Amnesia: The Dark Descent
- 5.3 And Yet It Moves
- 5.4 Anodyne
- 5.5 Anomaly Warzone Earth
- 5.6 Aquaria
- 5.7 ARK: Survival Evolved
- 5.8 Audiosurf 2
- 5.9 BADLAND: Game of the Year Edition
- 5.10 Beat Cop
- 5.11 Binding of Isaac: Rebirth
- 5.12 BioShock Infinite
- 5.13 BLACKHOLE
- 5.14 Black Mesa
- 5.15 Block'hood
- 5.16 The Book of Unwritten Tales
- 5.17 BRAIN/OUT
- 5.18 The Book of Unwritten Tales: The Critter Chronicles
- 5.19 Borderlands 2
- 5.20 Borderlands: The Pre-Sequel
- 5.21 Cities in Motion 2
- 5.22 Cities Skylines
- 5.23 Civilization V
- 5.24 Civilization: Beyond earth
- 5.25 Civilization VI
- 5.26 Deus Ex: Mankind divided
- 5.27 The Clockwork Man
- 5.28 Company of Heroes 2
- 5.29 Cossacks 3
- 5.30 Counter-Strike: Source (CS:S)
- 5.31 Counter-Strike: Global Offensive (CS:GO)
- 5.32 Creeper World 3: Arc Eternal
- 5.33 Crusader Kings II
- 5.34 Crypt of the NecroDancer
- 5.35 The Curious Expedition
- 5.36 Death Road To Canada
- 5.37 Defender's Quest: Valley of the Forgotten
- 5.38 Dirt
- 5.39 Dirt Rally
- 5.40 Divinity: Original Sin - Enhanced Edition
- 5.41 Don't Starve
- 5.42 Doki Doki Literature Club
- 5.43 Dota 2
- 5.44 Devil Daggers
- 5.45 Drox Operative
- 5.46 Dwarfs F2P
- 5.47 Dynamite Jack
- 5.48 Empire Total War
- 5.49 Euro Truck Simulator 2
- 5.50 Firewatch
- 5.51 Football Manager 2014
- 5.52 FORCED
- 5.53 For the King
- 5.54 FTL: Faster than Light
- 5.55 Game Dev Tycoon
- 5.56 Garry's Mod
- 5.57 Gods will be watching
- 5.58 GRID Autosport
- 5.59 Hack 'n' Slash
- 5.60 Hacker Evolution
- 5.61 Half-Life 2 and episodes
- 5.62 Hammerwatch
- 5.63 Harvest: Massive Encounter
- 5.64 Hatoful Boyfriend
- 5.65 HuniePop
- 5.66 Hyper Light Drifter
- 5.67 The Impossible Game
- 5.68 The Inner World
- 5.69 Interloper
- 5.70 Invisible Apartment
- 5.71 Joe Danger 2: The Movie
- 5.72 Kerbal Space Program
- 5.73 Killing Floor
- 5.74 Left for Dead 2
- 5.75 Lethal League
- 5.76 Life is Strange
- 5.77 Little Racers STREET
- 5.78 The Long Dark
- 5.79 Magicka 2
- 5.80 Mark of the Ninja
- 5.81 Metro: Last Light
- 5.82 Metro: 2033 Redux
- 5.83 No image
- 5.84 Middle-earth: Shadow of Mordor
- 5.85 Mount & Blade: Warband
- 5.86 Move or Die
- 5.87 Multiwinia
- 5.88 Natural Selection 2
- 5.89 Nuclear Throne
- 5.90 Oxygen Not Included
- 5.91 Penumbra: Overture
- 5.92 The Polynomial
- 5.93 Portal 2
- 5.94 Prison Architect
- 5.95 Project Zomboid
- 5.96 Pyre
- 5.97 Redshirt
- 5.98 Revenge of the Titans
- 5.99 Risk of Rain
- 5.100 Rock Boshers DX: Directors Cut
- 5.101 Saints Row IV
- 5.102 Serious Sam 3: BFE
- 5.103 Slay the Spire
- 5.104 Songbringer
- 5.105 Space Pirates and Zombies
- 5.106 Spacechem
- 5.107 Splice
- 5.108 The Stanley Parable
- 5.109 Shadow Tactics: Blades of the Shogun
- 5.110 Steel Storm: Burning Retribution
- 5.111 Stellaris
- 5.112 Stephen's Sausage Roll
- 5.113 Superbrothers: Sword & Sworcery EP
- 5.114 System Shock 2
- 5.115 Tabletop Simulator
- 5.116 Team Fortress 2
- 5.117 Terraria
- 5.118 This War of Mine
- 5.119 Ticket to Ride
- 5.120 The Tiny Bang Story
- 5.121 Tomb Raider
- 5.122 Torchlight 2
- 5.123 Tower Unite
- 5.124 Towns / Towns Demo
- 5.125 Transistor
- 5.126 Transmissions: Element 120
- 5.127 Trine 2
- 5.128 Tropico 5
- 5.129 Unity of Command
- 5.130 Unity3D
- 5.131 Unrest
- 5.132 Volgarr the Viking
- 5.133 War Thunder
- 5.134 Warhammer 40,000: Dawn of War II
- 5.135 We Were Here
- 5.136 Worms W.M.D
- 5.137 Witcher 2: Assassin of Kings
- 5.138 Wizardry 6: Bane of the Cosmic Forge
- 5.139 World of Goo
- 5.140 X3: Terran Conflict
- 5.141 XCOM
Introduction
See Steam/Troubleshooting first.
This page assumes familiarity with the Steam#Directory structure, Steam#Launch options, environment variables, the Steam runtime and shared libraries. The GAME
pseudo-variable is used to refer to a game's directory. When the text reads "run the game with FOO=bar
" it is implied that you either update your launch options or run the game from the command-line with the environment variable.
Contributing
- Use "game directory" or the
GAME
pseudo-variable to refer to a game's directory. - Link bug reports and sources of workarounds.
Other sources
The following links offer even more fixes and tweaks for various games which would otherwise exceed this article's purpose:
Common steps
OpenSSL 1.0 setup
Some Steam games are built against OpenSSL 1.0. (FS#53618)
Install lib32-openssl-1.0 and run the game with LD_LIBRARY_PATH=/usr/lib/openssl-1.0
.
Adobe Air setup
The package adobe-air-sdkAUR installs Adobe Air not in the place where the game expects it to be, fix this by creating the following symlink:
# ln -s "/opt/adobe-air-sdk/runtimes/air/linux/Adobe AIR" "/opt/Adobe AIR"
Adobe AIR requires you to accept its EULA by creating the file ~/.appdata/Adobe/AIR/eulaAccepted
containing 2
.
Steam Link
Currently Steam Link does not work with Wayland. You will only see a blank screen or even flickering when connecting to a Steam host running on Wayland. So you have to disable Wayland in /etc/gdm/custom.conf:
WaylandEnable=false
And reboot before trying again.
Games
Alien Isolation
Missing libpcre.so.3 and libidn.so.11
$ ln -s /usr/lib/libpcre.so 'GAME/lib/x86_64/libpcre.so.3' $ ln -s /usr/lib/libidn.so 'GAME/lib/x86_64/libidn.so.11'
Append ./lib/x86_64
to your LD_LIBRARY_PATH
.[1]
Amnesia: The Dark Descent
Dependencies: [2]
And Yet It Moves
Dependencies:
Game does not start
When the game refuses to launch and prints one of the following error messages:
readlink: extra operand ‘Yet’
Try 'readlink --help' for more information.
This script must be run as a user with write priviledges to game directory
Open GAME/AndYetItMovesSteam.sh
and surround ${BASH_SOURCE[0]}
in the following line with double quotes.
ayim_dir="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
Anodyne
Dependencies:
- adobe-air-sdkAUR, follow #Adobe Air setup
- xterm (probably not required)
Play with a controller: joy2key configuration
Configuration example to play Anodyne with an XBox 360 Wireless Controller
COMMON -dev /dev/input/js0 -X -thresh -18000 18000 -18000 18000 -18000 18000 -18000 18000 -18000 18000 -18000 18000 -18000 18000 -18000 18000 -axis Left Right Up Down blank blank blank blank blank blank blank blank Left Right Up Down -buttons c x Return
Save this to ~/.joy2keyrc
and start joy2key after you start Anodyne
joy2key -rcfile ~/.joy2keyrc
Anomaly Warzone Earth
Leave fullsrceen
There are no ingame settings for this, but fullscreen can be toggled with Alt-Enter
Infinite loading
Create file loadfix.c
next to the game executable: src
#define _GNU_SOURCE #include <dlfcn.h> #include <semaphore.h> #include <stdio.h> #include <time.h> #include <unistd.h> static int (*_realSemTimedWait)(sem_t *, const struct timespec *) = NULL; int sem_timedwait(sem_t *sem, const struct timespec *abs_timeout) { if (abs_timeout->tv_nsec >= 1000000000) { //fprintf(stderr, "to: %lu:%lu\n", abs_timeout->tv_sec, abs_timeout->tv_nsec); ((struct timespec *)abs_timeout)->tv_nsec -= 1000000000; ((struct timespec *)abs_timeout)->tv_sec++; } return _realSemTimedWait(sem, abs_timeout); } __attribute__((constructor)) void init(void) { _realSemTimedWait = dlsym(RTLD_NEXT, "sem_timedwait"); }
Compile with gcc -m32 -o loadfix.so loadfix.c -ldl -shared -fPIC -Wall -Wextra
Launch with LD_PRELOAD=$LD_PRELOAD:./loadfix.so %command%
Gamepad not working
You have to enable keyboard control and map gamepad to keys.
Config for Steam: steam://controllerconfig/91200/1498735506
Aquaria
Mouse pointer gets stuck in one direction
If the mouse pointer gets stuck in one direction, make sure GAME/usersettings.xml
contains <JoystickEnabled on="0" />
.
If that does not fix the issue, try unplugging any joysticks or joystick adapter devices you have plugged in.
ARK: Survival Evolved
Game does not start, displays text window with unreadable text
Run the game with MESA_GL_VERSION_OVERRIDE=4.0 MESA_GLSL_VERSION_OVERRIDE=400
.
Gray water
Download the TheCenter map and copy Water_DepthBlur_MIC.uasset
from that map into TheIsland as described here.
Ragnarok uses TheIsland's texture, so the same procedure fixes the issue on Ragnarok as well.
Segmentation fault on startup
Caused by the games packaged libopenal. Use system libopenal to solve the segfault by running the game with with LD_PRELOAD=/usr/lib/libopenal.so.1
Audiosurf 2
error. unable to load song <filename> ,came back with zero duration
If you get this in your log, install pulseaudio-alsa.
BADLAND: Game of the Year Edition
Refer to #Missing libcurl.so.4 or version CURL_OPENSSL_3 not found.
Beat Cop
"BeatCop.x86_64" is not responding
Run BeatCop.x86
instead of BeatCop.x86_64
.
Binding of Isaac: Rebirth
No sound
Prepend /usr/lib
to LD_LIBRARY_PATH
.
Adjust the audio levels in the game options.
BioShock Infinite
Game launching on wrong monitor in fullscreen mode
Add the following launch option:
--eon_force_display=1
Various more fixes and tweaks can be found here
BLACKHOLE
Refer to #Missing libcurl.so.4 or version CURL_OPENSSL_3 not found.
Black Mesa
Install lib32-gperftoolsAUR for 32bit version of libtcmalloc_minimal.so.4 which is needed Source.
Block'hood
White screen on startup
When launched the game may only display a white screen with no interface and no way to play the game. Add "-screen-fullscreen 0" to launch options.
The Book of Unwritten Tales
Dependencies:
- lib32-jasperAUR
- lib32-libxawAUR
If the game does not start, uncheck: Properties > Enable Steam Community In-Game.
The game is known to segfault when opening the settings and possibly during or before playing. A workaround from the Steam discussions is to replace the game's RenderSystem_GL.so
with one from Debian's repositories. To do that download this deb file, and extract it with dpkgAUR:
$ dpkg -x libogre-*.deb outdir
Now replace GAME/lib/32/RenderSystem_GL.so
with the one extracted from the .deb
package.
BRAIN/OUT
If the game does not start with error message saying "invalid app configuration". Change directory to game folder:
$ cd ~/.steam/steam/steamapps/common/BrainOut/
Run game directly:
$ java -jar brainout-steam.jar
You need to have steam running in the background.
The Book of Unwritten Tales: The Critter Chronicles
See #The Book of Unwritten Tales.
To prevent the game from crashing at the end credits, change the size of the credits image as described here.
Borderlands 2
Migrating saves from other platforms
Borderlands 2 does not support cross-platform Steam Cloud syncing, you have to manually copy the files between platforms. Save locations can be found here. Make sure your user can access the files.
Using Ctrl Key
Borderlands 2 does not allow the Ctrl
key to be used by default. The game seems to be accessing keycodes and not keysyms, therefore xmodmap has no affect. A workaround is using setkeycodes to map the Ctrl-scancode to some other key, as described in Map scancodes to keycodes#Using setkeycodes. I use setkeycodes 0x1d 56
(as root) to map Ctrl to Alt before starting the game and setkeycodes 0x1d 29
to restore the default.
Logging into SHiFT
Out of the box you will not be able to log into SHiFT since the game expects certificates to be in /usr/lib/ssl
, which is where Ubuntu stores them. Arch however uses /etc/ssl
.
To resolve the problem, run the game with SSL_CERT_DIR=/etc/ssl/certs
.
Game crashes nearly instantly
The game crashes in libopenal directly after launch.
Possible solution 0: Run the game with the -nostartupmovies
flag. It no longer crashes in libopenal with a general protection error.
Possible solution 1: As of lib32-openal version 1.18.0-1, the game crashes instantly. The possible solutions are to downgrade lib32-openal to 1.17.2-1, or to start the game with LD_PRELOAD='$HOME/.steam/root/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libopenal.so.1'
.
In case there are messages like this in the terminal:
[ 671.617205] Borderlands2[2772]: segfault at 0 ip (null) sp 00000000ff9a462c error 14 in Borderlands2[8048000+235a000]
The following change may help (source):
LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6' %command%
Possible solution 2: Launch steam as steam-native
as described in #Steam native runtime. If the game still fails to launch even after installing the steam-native-runtime meta package, then you might be missing some libraries. You can find those missing libraries as described in #Debugging shared libraries.
Borderlands: The Pre-Sequel
See #Borderlands 2.
Keyboard not working
This can occur with certain window managers e.g. dwm. Try a different window manager.
Not starting via Steam
If the game appears as Running, then syncs and closes when you launch it from Steam, try creating a steam_appid.txt
in the game directory
containing 261640
. This should resolve the issue and let you start the game directly from the game directory. If that does not work, try using the steam-native-runtime.
Cities in Motion 2
Dialog boxes fail to display properly
You will not be able to read or see anything, and you will have this in your logs:
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 69: non-double matrix element Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 69: wrong number of matrix elements
Workaround for the bug FS#35039 is available here [dead link 2017-05-25] (replace /etc/fonts/conf.d/10-scale-bitmap-fonts.conf
).
Cities Skylines
Textures not rendering properly
Run the game with UNITY_DISABLE_GRAPHICS_DRIVER_WORKAROUNDS=yes
.
Civilization V
Run the game with LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6:/usr/lib32/libopenal.so.1' %command%
.[3]
Stuttering sound with PulseAudio
See PulseAudio/Troubleshooting#Laggy sound.
Game crashes seconds after loading a map
If you have a CPU with more than 8 threads (such as AMD Ryzen), set MaxSimultaneousThreads
to 16
in config.ini
in game directory.[4]
Game crashes after intro video with "Unable to load texture (LoadingBaseGame.dds)"
The issue is a result of the game calling some file in a case-insensitive manner.
The solution is either to install the game on a case-insensitive file system like VFAT, or on a mount point for ciopfsAUR.
Game crashes on startup with an error in libpulsecommon-12.0.so"
Run the game with LD_PRELOAD=/usr/lib32/libopenal.so.1 %command%
Civilization: Beyond earth
If you are getting an instant crash/close upon launch, make sure you have the following packages installed:
Segfault after a few minutes
Backtrace:
#0 0x08b71d06 in FireGrafix::DynamicsLock<Graphics::BuildingSkinnedDataDynamicConsts>::DynamicsLock(Graphics::SurfaceSet**, FireGrafix::SurfaceSetPoolAllocator*, unsigned short) () #1 0x08c25ffc in cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS::HandleBuildingShaderSkinned(Graphics::FGXShaderPackageInstanceView*, FireGrafix::FGXModelNode*, FGXVector4*) () #2 0x08c25f34 in cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS::UpdateNode(Graphics::FGXShaderPackageInstanceView*, FireGrafix::FGXModelNode*, FGXVector4*) () #3 0x08c25e2c in FireGrafix::FGXModelRenderByNodeSSExample_Shadow<cvLandmarkVisSystem::cvLandmarkVisDynamicConstantUpdaterSS, 2, FireGrafix::FGXModelRenderEndSuperclass>::RenderNode(unsigned int*, FireGrafix::FGX_SPIV_GENERIC*, FireGrafix::FGXModelNode*, FGXVector4*) () #4 0x08c24ff5 in cvLandmarkVisSystem::LandmarkRenderJob::Execute(unsigned int) () #5 0x093d26d9 in Platform::JobTask::execute() () #6 0xf749f3c0 in ?? () from /usr/lib32/libtbb.so.2 #7 0xf7497551 in ?? () from /usr/lib32/libtbb.so.2 #8 0xf7495fc3 in ?? () from /usr/lib32/libtbb.so.2 #9 0xf7491b7e in ?? () from /usr/lib32/libtbb.so.2 #10 0xf7491db7 in ?? () from /usr/lib32/libtbb.so.2 #11 0xf78f4346 in start_thread () from /usr/lib32/libpthread.so.0 #12 0xf7716026 in clone () from /usr/lib32/libc.so.6
Segfault is caused by lib32-intel-tbbAUR. To fix the issue:
- Download libtbb2 deb-package from one of the Ubuntu mirrors.
- Unpack
libtbb.so.2
fromlibtbb2_4.2_20130725-1.1ubuntu1_i386.deb/data.tar.xz/usr/lib
into the game directory. - Run the game with
LD_PRELOAD='./libtbb.so.2'
.
Civilization VI
Either run with steam-native or env LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6'
. The latter will disable the Steam overlay.
Follow #OpenSSL 1.0 setup.
If Segfault Immediately on Start
This is a strange corner case which happens infrequently at best (and the prerequisites for reproducing it are unknown), but the crash would look like this:
- Immediate segfault on start, before any windows get created
- The game creates
~/.local/share/aspyr-media/Sid Meier's Civilization VI/AppOptions.txt
- The string
AppHost::BugSubmissionPackager::BugSubmissionPackager
appears inhttp://store.steampowered.com/app/310080/Hatoful_Boyfriend/ the backtrace output when running the game under gdb- To run under gdb, first launch a shell and change into the game directory.
- Then
echo 289070 > steam_appid.txt
(otherwise the game won't launch outside of Steam itself) - Then run something like
gdb -ex run -ex bt -ex quit --args ./Civ6 ./Civ6
- The relevant info towards the end of the output should look like this:
Thread 3 "Civ6" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffe5d06700 (LWP 12315)] 0x000000000201121e in AppHost::BugSubmissionPackager::BugSubmissionPackager(unsigned long, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)4> const&, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)0> const&, AppHost::ModuleVersionInfo const&) () #0 0x000000000201121e in AppHost::BugSubmissionPackager::BugSubmissionPackager(unsigned long, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)4> const&, String::BasicT<Platform::StaticHeapAllocator<5, 0>, (String::Encoding)0> const&, AppHost::ModuleVersionInfo const&) () #1 0x000000000200c796 in AppHost::_INTERNAL::SetupFXSPlatform(AppHost::AppEnvironment const*, AppHost::AppOptions*) () #2 0x000000000200fea0 in AppHost::RunApp(int, char**, AppHost::Application*) () #3 0x000000000200f9bc in AppHost::RunApp(char*, AppHost::Application*) () #4 0x0000000001112d98 in WinMain () #5 0x00000000010bdab0 in ?? () #6 0x00000000010bfb31 in ThreadHANDLE::ThreadProc(void*) () #7 0x00007ffff473e08a in start_thread () from /usr/lib/libpthread.so.0 #8 0x00007ffff38f747f in clone () from /usr/lib/libc.so.6
If all of that is the case for you, the fix is pretty simple. Edit ~/.local/share/aspyr-media/Sid Meier's Civilization VI/AppOptions.txt
and change the line reading EnableBugCollection 1
to EnableBugCollection 0
.
Presumably this fix will prevent any automated bug reports from reaching Aspyr, should you encounter crashes/bugs in the future, but it will at least let the game launch properly.
Deus Ex: Mankind divided
Follow #OpenSSL 1.0 setup.
Requires librtmp0.
Also if you use Bumblebee set your launch options to:
LD_PRELOAD="$LD_PRELOAD:libpthread.so.0:libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optirun %command%
The Clockwork Man
Requires lib32-libidn (pulled in by steam-native-runtime).
Company of Heroes 2
Missing libpcre.so.3
Like with #Alien Isolation you need to symlink /usr/lib/libpcre.so
to GAME/lib/arch/libpcre.so.3
, otherwise the game will fail to start.
Cossacks 3
No sound
Use the steam-runtime, e.g. set the launch options to:
~/.steam/root/ubuntu12_32/steam-runtime/run.sh %command%
Flashing screen with primus
Set PRIMUS_SYNC=2
in the launch options.
Counter-Strike: Source (CS:S)
Invisible symbols, special characters and cyrillic letters
Any special character will produce an empty space mark in the game, main menu and game console. In practice, any characters other than latin ones are not working. The problem is that Bitstream Vera Sans
is configured as the system primary default font for latin sans-serif fonts.
First, make sure that per-user font customization files are enabled, i.e. the following file exist:
/etc/fonts/conf.d/50-user.conf
Next, create fonts.conf
file in your fontconfig directory with the following content or if the file already exist, append only the alias section to the file:
~/.config/fontconfig/fonts.conf
<?xml version="1.0"?> <!DOCTYPE fontconfig SYSTEM "fonts.dtd"> <fontconfig> <alias> <family>sans-serif</family> <prefer> <family>DejaVu Sans</family> <family>Verdana</family> <family>Arial</family> <family>Albany AMT</family> <family>Luxi Sans</family> <family>Nimbus Sans L</family> <family>Nimbus Sans</family> <family>Helvetica</family> <family>Lucida Sans Unicode</family> <family>BPG Glaho International</family> <family>Tahoma</family> </prefer> </alias> </fontconfig>
Counter-Strike: Global Offensive (CS:GO)
Game starts on the wrong screen
If it happens, go into fullscreen windowed or windowed mode and drag the window to the correct monitor. Then go back into fullscreen, the game should now be on the correct monitor.
If you have a secondary monitor you might have a part of your lower screen you cannot reach in menus. If on Gnome you can try to open the overview (Super key) and drag the game to the other monitor and back.
If you are not on Gnome or dragging the window back and forth did not work you can try to install wmctrl and run this command, where X and Y is the offset of the window and H and W is the size.
wmctrl -r "Counter-Strike: Global Offensive - OpenGL" -e 0,X,Y,H,W
Example: SecondaryMonitor: on the left 2560x1600, GamingMonitor: on the right 2560x1440).
wmctrl -r "Counter-Strike: Global Offensive - OpenGL" -e 0,2560,0,1600,1200
Here X and Y is 0,2560 to move the window to the monitor on the right and H and W 1600,1200 is set to match the in-game resolution.
Sound is played slightly delayed
See PulseAudio/Troubleshooting#Laggy sound for a possible solution.
Mouse not working in-game
If your mouse works in the main menu but not in-game, run the game with SDL_VIDEO_X11_DGAMOUSE=0
.
[5]
Brightness slider not working
Install xorg-xrandr and run xrandr
to find out the name of your connected display output.
Edit GAME/csgo.sh
and add the following lines (adapt output_name):
# gamma correction xrandr --output output_name --gamma 1.6:1.6:1.6 # play with values if required STATUS=42 while [$STATUS -eq 42]; do ... done # restore gamma xrandr --output output_name --gamma 1:1:1 exit $STATUS
Microphone not working
CS:GO uses the default PulseAudio sound device ignoring what is configured in Steam settings.
First find out the source name of your microphone (it should start with alsa_input.
):
$ pacmd list-sources
Then set the default device (change the name accordingly):
$ pacmd set-default-source device_name
Also lower the microphone level to 60% otherwise you will get some nasty background noise and you will be difficult to understand (change the name accordingly):
$ pacmd set-source-volume device_name 0x6000
Mouse is unrensponsive or moves slowly
Set launch options to:
vblank_mode=0 %command%
Works with almost any other game.
Creeper World 3: Arc Eternal
Game does not start
Search for Player.log (might be in ~/.config/unity3d/Knuckle Cracker LLC/Creeper World 3/ )
If it says somewhere in Player.log "FMOD failed to get number of drivers ... An error occured that wasn't supposed to. Contact support." Unity is probably having problem with some pulse audio libraries.
Fix that worked for me: Remove or rename all instances of libpulse-simple* files.
Places to look for them: /usr/lib /usr/lib32 ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/
Crusader Kings II
x86_64 dependencies:
No audio
SDL uses PulseAudio by default, so to use it with ALSA you need to set:
~/.pam_environment
SDL_AUDIODRIVER=alsa
Oddly sized starting window
You can make full screen mode the default by setting fullscreen=yes
in ~/.paradoxinteractive/Crusader Kings II/settings.txt
.
DLCs not detected
If the DLC tab in the launcher is not selectable, rename the DLC
directory in the game directory to dlc
.
Crypt of the NecroDancer
Crashes after splash screen
The following error occurs if launching Steam from the terminal.
FMOD ERROR: UpdateFMOD SystemUpdate: This command failed because System::init or System::setDriver was not called.
This error is solved by installing pulseaudio-alsa.
The Curious Expedition
Game stuck on loading screen
The Electron shipped with this game is too old for Arch Linux.
Install electron and run the game with electron resources/app.asar
.
Death Road To Canada
No music
Prepend /usr/lib
to LD_LIBRARY_PATH
.
Defender's Quest: Valley of the Forgotten
Dependencies:
- adobe-air-sdkAUR, follow #Adobe Air setup
- xterm
- lib32-libcanberra
Dirt
Follow #OpenSSL 1.0 setup.
Dirt Rally
Prepend lib/x86_64
to your LD_LIBRARY_PATH
, otherwise the game will fail to start.
$LD_LIBRARY_PATH
must be the last entry or it won't work.Divinity: Original Sin - Enhanced Edition
Game does not start when using Bumblebee optirun or primusrun
Edit GAME/runner.sh
to use primusrun:
LD_LIBRARY_PATH="." primusrun ./EoCApp
Game does not work with amdgpu
It is a known bug and they have no intention of fixing it, see the bug.
Workaround:
Get the following file:
https://bugs.freedesktop.org/attachment.cgi?id=125302
and rename it to shim.c
Then execute
$ gcc -shared -fpic shim.c -o divhack.so
Next, start steam and open a console, change to the diviniti directory with
$ cd ~/.steam/steam/steamapps/common/Divinity Original Sin Enhanced Edition
Edit the contained runner.sh
as follows:
export MESA_GL_VERSION_OVERRIDE=4.2 export MESA_GLSL_VERSION_OVERRIDE=420 export LD_PRELOAD=/path/to/divhack.so export LD_LIBRARY_PATH="." ./EoCApp
Then just start the game. In case it still crashes on loading you may also need to add
export allow_glsl_extension_directive_midshader=true
Don't Starve
Dependencies:
- lib32-flashplugin[broken link: archived in aur-mirror]
- lib32-libcurl-gnutls
No sound
Prepend /usr/lib
to LD_LIBRARY_PATH
.
In the game, go to the options and adjust the audio levels.
Doki Doki Literature Club
Linux version is shipped with the Windows version, but can only be installed with Steam Play.
Native version can be started with this launch option: ./DDLC.sh # %command%
Dota 2
Dependencies:
In-game font is unreadable
Run the game with MESA_GL_VERSION_OVERRIDE=2.1
.
Error with libpangoft2
- Install the pango package.
- Remove
libpango-1.0.so
andlibpangoft2-1.0.so
inGAME/game/bin/linuxsteamrt64
. - If you are using Bumblebee add
LD_PRELOAD="libpthread.so.0 libGL.so.1" __GL_THREADED_OPTIMIZATIONS=1 optiru
to your launch options.
The game does not start
If you run the game from the terminal and, although no error is shown, try disabling: Steam > Settings > In-Game > Enable Steam Community In-Game.
Apparently the game #The Book of Unwritten Tales has the same problem. It also describes a workaround that is untested in Dota 2.
Game runs on the wrong screen
Game does not start with libxcb-dri3 error message
After a recent Mesa update, Dota 2 stopped working. The error message is:
SDL_GL_LoadLibrary(NULL) failed: Failed loading libGL.so.1: /usr/lib32/libxcb-dri3.so.0: undefined symbol: xcb_send_fd
Steam overlay
Steam distributes a copy of libxcb which is incompatible with the latest xorg libxcb. See [6], [7].
Chinese tips and player names not shown
The Chinese characters in tips and player names are displayed as block characters.
The problem is caused by the font packages: ttf-dejavu, ttf-liberation and ttf-ms-fontsAUR.
- GitHub Steam issue #1688 [dead link 2017-05-25]
Chinese input method problem
Dota2 is compatible with IBus .
Devil Daggers
Refer to #Missing libcurl.so.4 or version CURL_OPENSSL_3 not found.
Drox Operative
If the game fails to start with "Couldn't find Database/database.dbl!", manually extract the assets. assets003.zip will overwrite some files from the previous files.
$ cd "~/.steam/root/steamapps/common/Drox Operative/Assets" $ unzip assets00[123].zip
Dwarfs F2P
Dependencies:
- lib32-libgdiplusAUR[broken link: archived in aur-mirror]
Game does not start
There was a bug that stopped Steam from fetching all the needed files. It should be resolved, if you still bump into this problem, try verifying integrity of game cache from game properties, local files tab.
If the game still crashes at startup, edit GAME/Run.sh
and change
export LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH}
to
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.
If these do not help, you may have outdated libraries in the game installation folder that are crashing the game on startup. Try removing the following files from the game directory:
libX11.so.6 libsteam.so libtier0_s.so libvstdlib_s.so steamclient.so
Game crashes
In some cases, the game crashes about 2 minutes before the end of every arcade. This bug has been reported, but there's no known solution to it.
Dynamite Jack
Requires lib32-sdl.
Sound Issues
When running on 64-bit Arch Linux, there may be "pops and hisses" when running Dynamite Jack. This could be caused by not having STEAM_RUNTIME=0
set. (However, even with STEAM_RUNTIME=0
set, the game may still sometimes start with this issue. Exiting and restarting the game seems to make the problem go away.)
Game does not start
If running steam with the STEAM_RUNTIME=0
, Dynamite Jack may have a problem starting. Check the steam error messages for this message:
/home/$USER/.steam/root/steamapps/common/Dynamite Jack/bin/main: error while loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory
Install lib32-sdl from multilib and Dynamite Jack should start up.
Empire Total War
Weird unreadable fonts
Open ~/.local/share/feral-interactive/Empire/preferences
, then find UsePBOSurfaces
and change it from 1 to 0.
Euro Truck Simulator 2
Shows only a black screen
Select safe mode when the game starts up.
Firewatch
If Firewatch starts but doesn't show anything try running Steam with
`STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam`
Football Manager 2014
This game will not run when installed on an XFS or reiserfs filesystem. Workaround is to install on an ext4 filesystem.
FORCED
Requires lib32-glu.
This game has 32-bit and 64-bit binaries. For some reason, Steam will launch the 32-bit binary even on 64-bit Arch Linux. When manually launching the 64-bit binary, the game starts, but cannot connect to Steam account, so you cannot play. So install 32-bits dependencies, and launch the game from Steam.
For the King
For steam-native --
Starts with black page. Requires to be told to use the libSDL2 shipping with Steam
Add to Steam launch options for game.
LD_PRELOAD=~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 %command%
Note however, that this disables the Steam overlay as a side effect.
For steam-runtime --
It works out of the box.
For the full experience, run FTK via steam-runtime instead of steam-native.
FTL: Faster than Light
Compatibility
After installation, FTL may fail to run due to a 'Text file busy' error (characterised in Steam by your portrait border going green then blue again). The easiest way to mend this is to just reboot your system. Upon logging back in FTL should run.
The Steam overlay in FTL does not function as it is not a 3D accelerated game. Because of this the desktop notifications will be visible. If playing in fullscreen, therefore, these notifications in some systems may steal focus and revert you back to windowed mode with no way of going back to fullscreen without relaunching. The binaries for FTL on Steam have no DRM and it is possible to run the game without Steam running, so in some cases that may be optimum - just ensure that you launch FTL via the launcher script in GAME/data/
rather than the FTL binary in the $arch directory.
Problems with open-source video driver
FTL may fail to run if you are using an opensource driver for your video card. There are two solutions: install a proprietary video driver or delete (rename if you are unsure) the library "libstdc++.so.6" inside GAME/data/amd64/lib
. This is if you are using a 64bit system. In case you are using a 32bit system you have to remove (rename) the same library located into GAME/data/x86/lib
.
Game Dev Tycoon
Game does not start
You might get an error about missing libudev.so.0
.
Run the game with LD_PRELOAD=/usr/lib/libudev.so.1
.
Garry's Mod
Game does not start
When an error about a missing client.so
appears, try the following:
$ cd ~/.steam/root/steamapps/common/GarrysMod/bin/ $ ln -s libawesomium-1-7.so.0 libawesomium-1-7.so.2 $ ln -s ../garrysmod/bin/client.so ./
If the error mentions a missing library for libgcrypt.so.11
, install lib32-libgcrypt15.
Most menus work fine, but ones with checkboxes (LAN multiplayer, mounted games list) do not work at all. This is a bug in the menu code.
If you prefer the default menu style and do not mind a hacky solution: Simon311 has written code with instructions to fix it.
If you do not care for the default menu style and want a more stable but feature-incomplete solution, Facepunch developer robotboy655 has written a new menu.
Game crashes after attempting to join server
While in the process of joining a server, downloading resources, etc, the game seems to hang and after a while, perhaps during the "sending client info" portion the game crashes, usually without any error messages. Error does not give much information, however, the process for Garry's mod is killed.
This issue arises more often when joining servers with many addons like DarkRP servers specifically.
The problem seems to correlate with a weak GPU and the game is timing out from the server, so if the GPU is the problem, lowering the graphics settings to the minimum should fix the problem.
The problem seems to be related to RAM usage, once you hit around 2GB of RAM used, the game will crash. Servers with many addons have much more RAM usage, and lowering graphics settings to the minimum lowers RAM usage and mitigates crashes.
Gods will be watching
Follow #OpenSSL 1.0 setup.
GRID Autosport
Follow #OpenSSL 1.0 setup.
Black screen when trying to play
Run the game with LC_ALL=C
.
Hack 'n' Slash
Crashes when trying to load a game
Prepend /usr/lib
to LD_LIBRARY_PATH
.
Hacker Evolution
Requires lib32-sdl2_mixer.
Half-Life 2 and episodes
Cyrillic fonts problem
This problem can be solved by deleting "Helvetica" font.
Hammerwatch
The game does not start via Steam
Prepend /usr/lib
to LD_LIBRARY_PATH
.
No sound
Hammerwatch opens with a popup: "Sound Error" -- "Could not initialize OpenAL, no sounds will be played. Try updating your OpenAL drivers."
OpenAL, which Hammerwatch uses, defaults to PulseAudio. To change that, add the following line to /etc/openal/alsoft.conf
:
drivers=alsa,pulse
This way, Hammerwatch will use ALSA. This solution was found here.
Harvest: Massive Encounter
Dependencies:
Compatibility
If the game refuses to launch and throws you into a library installer loop, run the Harvest
executable instead of the run_harvest
script.
Hatoful Boyfriend
Japanese text invisible
Install wqy-microhei and wqy-microhei-lite.
HuniePop
Game crashes upon launch
Install lsb-release.
Hyper Light Drifter
The controller does not work
Install lib32-sdl2 and run the game with LD_PRELOAD=libSDL2.so
.
See the following Steam Community discussions:
It is suggested to run the next_update branch to get new fixes, there however currently is a libcurl segfault keeping it from starting without special workarounds.
Missing libcurl.so.4 or version CURL_OPENSSL_3 not found
Install lib32-libcurl-compat and run the game with LD_PRELOAD=libcurl.so.3
.
The Impossible Game
Dependencies:
The Inner World
Requires java-commons-codecAUR for sound support.
Hold the tab key.
Cutscenes
The game has cutscenes. It starts directly with a cutscene before you start the actual game in the backyard. To see these cutscenes you need to use Oracle's Java instead of the OpenJDK.
Furthermore you need the package ffmpeg-compat-55AUR.
There seem to be problems with the Steam overlay. Try to run the game directly with GAME/TIW_start.sh
.
Note that cutscenes open in a new window. So pay attention to that and switch to the new window to enjoy the movies.
See the Steam Forums for details.
Interloper
Requires alsa-lib.
Game does not start
The game can sometimes segfault due to an incompatibility with the Steam Runtime's libasound.so.2
.
Invisible Apartment
Requires qt5-multimedia.
Game does not start
If the game does not run when you launch it via Steam, try to directly run ./ia1
in the game directory.
Joe Danger 2: The Movie
Requires lib32-libpulse.
Compatibility
Game only worked after obtaining from the Humble Bundle directly and lib32-libpulse was installed.
Kerbal Space Program
See Kerbal Space Program.
Killing Floor
Cannot change screen resolution
If trying to modify the resolution in-game crashes your desktop environment, edit ~/.killingfloor/System/KillingFloor.ini
:
[WinDrv.WindowsClient] WindowedViewportX=width WindowedViewportY=height FullscreenViewportX=width FullscreenViewportY=height MenuViewportX=width MenuViewportY=height [SDLDrv.SDLClient] WindowedViewportX=width WindowedViewportY=height FullscreenViewportX=width FullscreenViewportY=height MenuViewportX=width MenuViewportY=height
Windowed mode
Uncheck fullscreen in the options menu, and press Ctrl+g
to stop mouse capturing.
Stuttering sound
KillingFloor comes with its own OpenAL library GAME/System/openal.so
.
Back it up, install openal or lib32-openal (if using a 64bit system).
Then symlink the installed system library (/usr/lib32/libopenal.so.1
or /usr/lib/libopenal.so.1
) to openal.so
.
Left for Dead 2
Missing Chinese font
L4D2 Requires wqy-zenhei. Or add the following lines to ~/.config/fontconfig/fonts.conf
<match target="pattern"> <test qual="any" name="family"> <string>WenQuanYi Zen Hei</string> </test> <edit name="family" mode="assign" binding="same"> <string>Source Han Sans CN</string> </edit> </match>
Lethal League
Requires lib32-glew1.10.
Life is Strange
Requires librtmp0, sdl2_image.
Little Racers STREET
Install sdl2_mixer.
Move/backup GAME/lib64/libSDL2_mixer-2.0.so.0
.
Symlink /usr/lib/libSDL2_mixer-2.0.so.0
to GAME/lib64/libSDL2_mixer-2.0.so.0
.
The Long Dark
Game does not start
The 64-bit version fails to start. Either use the 32-bit version tld.x86
in the game directory or start the 64-bit version like so:
LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 ./tld.x86_64
Game starts, but some overlay text is missing and cutscenes shows black screen
In addition to the command above, add the following to the Steam launch command:
-screen-fullscreen 0 -screen-width WIDTH_PIXELS -screen-height HEIGHT_PIXELS
For example, if you have a screen resolution of 1280x720 and are launching the x64 version from the terminal (within the directory which contains the binaries), the full command would be:
LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 ./tld.x86_64 -screen-fullscreen 0 -screen-width 1280 -screen-height 720
and from Steam, the complete game launch options would be:
LD_PRELOAD=~/.steam/root/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 %command% -screen-fullscreen 0 -screen-width 1280 -screen-height 720
Cutscenes are still black
Turn off Vertical Sync in the Display options, and/or set POST FX to Low in the Quality options, and/or turn global Quality options down a notch.
Cursor disappears
Go to Options > Controls, and set mouse locking to unlocked.
The options is visible only if you're navigating using your (invisible) mouse. It will not show up when navigating with a controller. One solution is to go to Options -> Controls with a controller before switching to the mouse and trying to blindly it the setting.
Magicka 2
Indefinitely stuck at start
The game does not start if the output of the command "ip -s link" is longer than 4096 characters. That is because, in the function bitsquid::network_info(char*), where they query the networking information, they do not handle that case correctly. See this picture for reference. It was reported to upstream (Pieces Interactive) but Magicka 2 does not seem to be maintained anymore.
A dirty fix is to wrap your ip binary, as such:
#!/bin/bash if [[ $@ == "-s link" ]]; then echo "<paste a smaller subset of the normal output>" else /path/to/your/real/ip "$@" fi
Mark of the Ninja
Bad sound
Prepend /usr/lib
to LD_LIBRARY_PATH
.
Metro: Last Light
The game does not allow you to change its resolution on a multi-monitor setup on GNOME with the AMD Catalyst drivers. A temporary workaround is to disable the side monitors. Jason over at unencumbered by facts managed to get it working with his multi-monitor setup using a single display server, he however is using Nvidia.
Metro: 2033 Redux
No sound
The game does not properly support PulseAudio, so you will have to use ALSA.
Run the game with SDL_AUDIODRIVER=alsa
.
Create the file ~/.asoundrc
. Get your card/device number with aplay -l
.
Add the following to your ~/.asoundrc
(replace card and device no with the one you got from aplay -l
)
pcm.!default { type hw card 0 device 0 } ctl.!default { type hw card 0 device 0 }
Before starting the game make sure to kill PulseAudio with pulseaudio -k
.
No image
Try setting r_fullscreen off
in ~/.local/share/Steam/steamapps/common/Metro 2033 Redux/user.cfg
.
Middle-earth: Shadow of Mordor
Floating heads
Run the game with __GL_ShaderPortabilityWarnings=0
.
Mount & Blade: Warband
Segmentation fault (core dumped) with wayland
Use Xorg instead.
DLC Chooser
Requires lib32-nasAUR.
Crash on startup
Set launch options to:
LD_LIBRARY_PATH="." %command%
Move or Die
No Sound
Install lib32-pulse[broken link: package not found].
Multiwinia
Requires lib32-openal.
Crash on startup
If Multiwinia crashes on startup on X64 systems, force launching the 32-bit executable by replacing GAME/run_steam.sh
with the following script:
#!/bin/sh ./multiwinia.bin.x86
See [8].
Natural Selection 2
sndio is required, furthermore, you must also execute
$ ln -s /usr/lib/libsndio.so x64/libsndio.so.6.1
within the root of the NS2 directory. This is because NS2 uses an older outdated version of sndio, but it is still compatible with the new version, thankfully.
For a more minimal solution, one can attempt to set the audio driver used through the environment variable SDL_AUDIODRIVER
. For example, SDL_AUDIODRIVER=sndio
or SDL_AUDIODRIVER=alsa
.
The environment variable SDL_VIDEODRIVER
must not be set to wayland
.
Try setting SDL_VIDEODRIVER
to x11
if it still does not work.
Nuclear Throne
Missing libcurl.so.4 or version CURL_OPENSSL_3 not found
Install lib32-libcurl-compat and run the game with LD_PRELOAD=libcurl.so.3
.
Oxygen Not Included
World generation hangs
This problem occurs with locales that use comas instead of dots to separate decimals.
Set launch options in steam to LANG=C %command%
.[9]
Penumbra: Overture
Dependencies:
Windowed mode
There is no in-game option to change to the windowed mode, you will have to edit ~/.frictionalgames/Penumbra/Overture/settings.cfg
to activate it.
Find FullScreen="true"
and change it to FullScreen="false"
, after this the game should start in windowed mode.
The Polynomial
Dependencies:
- ilmbase102-libsAUR[broken link: archived in aur-mirror]
- openexr170-libsAUR[broken link: archived in aur-mirror]
Segfaults during program start on 64-bit systems
The game segfaults during program start because of the LD_LIBRARY_PATH
setting in the launcher script. Edit GAME/Polynomial64
, and comment out the LD_LIBRARY_PATH
variable. Make sure to put the ./bin/Polynomial64 "$@"
command on a new line.
Portal 2
Game does not start
Several OpenGL-related errors (such as PROBLEM: You appear to have OpenGL 1.4.0, but we need at least 2.0.0!
or libGL error: driver pointer missing
) are caused by Portal 2 bundling an old libstdc++ file. This error is especially common with open source Radeon drivers (radeonsi
).
A problem with libstdc can be fixed by running the game with LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
.
Resolution too low
When the game starts with a resolution so low that you cannot reach the game settings,
run the game in windowed mode using the -windowed
flag.
Missing non Latin font
The phenomenon is no menu in Portal. Portal and Portal2 use Helvetica, add the following lines to ~/.config/fontconfig/fonts.conf
:
<match target="pattern"> <test qual="any" name="family"> <string>Helvetica</string> </test> <edit name="family" mode="assign" binding="same"> <string>Source Han Sans CN</string> </edit> </match>
You can replace "Source Han Sans CN" by your favoriate and existing font.
Prison Architect
ALSA error when using PulseAudio
The error:
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
was resolved by installing:
per PulseAudio#ALSA.
Project Zomboid
Requires jre7-openjdk.
No sound
Prepend /usr/lib
to LD_LIBRARY_PATH
.
In the game, go to the options and set all audio to the proper volume.
Pyre
Game does not start
Remove GAME/lib64/libSDL2-2.0.so.0
.
If this doesn't work, downgrade sdl2.
$ pacman -U https://archive.archlinux.org/packages/s/sdl2/sdl2-2.0.6-2-x86_64.pkg.tar.xz
Then add sdl2 to IgnorePkg in /etc/pacman.conf
.
IgnorePkg = sdl2
Redshirt
Requires lib32-libpulse if you use PulseAudio.
Revenge of the Titans
Requires libxtst and lib32-libxtst.
Risk of Rain
Requires lib32-libcurl-compat. Refer to #Missing libcurl.so.4 or version CURL_OPENSSL_3 not found.
Rock Boshers DX: Directors Cut
Requires lib32-libcaca.
Saints Row IV
Game fails to launch after update to new Nvidia drivers
Run the game with /usr/lib32/libGLX_nvidia.so
appended to the LD_PRELOAD
.
Game causes GPU lockup with mesa drivers
Saints Rows IV can cause a GPU lockup when trying to play on certain AMD hardware using open source drivers: Bug 93475.
A workaround is to run the game with R600_DEBUG=nosb
.
Serious Sam 3: BFE
No audio
Try running:
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/ # ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/
If that does not work, try tweaking ~/.alsoftrc
as proposed by the Steam community (Serious Sam 3: BFE uses OpenAL to output sound). If you are not using Pulse Audio, you may want to write the following configuration:
~/.alsoftrc
[general] drivers = alsa [alsa] device = default capture = default mmap = true
Slay the Spire
If the game does not start or crashes at startup, install xorg-xrandr.
If the game does not move sink input, you can edit the following file to allow sink moves:
~/.alsoftrc
[pulse] allow-moves=yes
Songbringer
Launch error with Wayland
Install glfw-x11 and run the game with LD_PRELOAD=/usr/lib/libglfw.so.3
.
Space Pirates and Zombies
Requires lib32-openal.
No audio
Try running:
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/ # ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/
If that does not work, try tweaking ~/.alsoftrc
as proposed by the Steam community (Serious Sam 3: BFE uses OpenAL to output sound). If you are not using Pulse Audio, you may want to write the following configuration:
~/.alsoftrc
[general] drivers = alsa [alsa] device = default capture = default mmap = true
Spacechem
Dependencies:
Game crash
The shipped x86 version of Spacechem does not work on x64 with the game's own libSDL* files, and crashes with some strange output.
To solve this just remove the three files libSDL-1.2.so.0
, libSDL_image-1.2.so.0
, libSDL_mixer-1.2.so.0
from the game directory.
Splice
Requires glu.
The Stanley Parable
Game won't start
As discussed in the Steam store page, remove bin/libstdc++.so.6
from the game folder.
Shadow Tactics: Blades of the Shogun
Dependencies:
Steel Storm: Burning Retribution
Start with black screen
The game by default tries to launch in fullscreen mode with a resolution of 1024x768, which doesn't work on some devices (for example the Samsung Series9 laptop with Intel hd4000 video).
Run the game in windowed mode by using the -window
flag. Then change the resolution in-game.
Stellaris
No window opening, only sound
Happens with some AMD GPU and mesa combination, set multi_sampling=0 in ~/.local/share/Paradox\ Interactive/Stellaris/settings.txt.
Immediate crash to desktop
It seems that Stellaris requires a 32bit libnss_sss.so.2 to operate. You can confirm if this is your problem by running
# strace ~/.local/share/Steam/steamapps/common/Stellaris/stellaris 2>&1 | grep sss
and seeing if you get output like
# openat(AT_FDCWD, "/usr/lib32/tls/i686/sse2/libnss_sss.so.2", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
If this is indeed your problem, download the libnss-sss package from Ubuntu's repository [10], extract the libnss_sss.so.2 from the downloaded package, and place it at ~/.local/share/Steam/steamapps/common/Stellaris. The game should now load properly.
Stephen's Sausage Roll
No sound
If using native libraries[broken link: invalid section] and libpulse is installed, Unity may try to use that library for sound and fail.
To test if this is the problem, try removing libpulse or renaming the package files that are named libpulse-simple*
. To see which libpulse files are relevant, run:
$ pacman -Qql libpulse | grep /usr/lib/libpulse-simple
/usr/lib/libpulse-simple.so /usr/lib/libpulse-simple.so.0 /usr/lib/libpulse-simple.so.0.1.0
If renaming any of those files works for you, you can proceed with the following instructions (revert any renaming you just did). Browse to the game's directory:
$ cd "$HOME/.steam/root/steamapps/common/Stephen's Sausage Roll"
And create a sub-directory that we can use to hold 0-byte look-alike library files:
$ mkdir noload/
Use touch
to create 0-byte versions of the above files that we want the dynamic linker to skip, e.g.:
$ touch noload/{libpulse-simple.so,libpulse-simple.so.0,libpulse-simple.so.0.1.0}
libpulse-simple.so.0
file may be required.After you have created these 0-byte files, you can now attempt to run the game binary directly, telling the dynamic linker to use our 0-byte files:
$ LD_LIBRARY_PATH="noload/:$LD_LIBRARY_PATH" ./Sausage.x86_64
If everything works up to this point, prepend noload/
to your LD_LIBRARY_PATH
.
Again, this should work because Steam checks for a noload/
directory relative to the game's directory. The dynamic linker should respect the $LD_LIBRARY_PATH
variable and fail to load the necessary libpulse files. The game should then fallback to plain ALSA.
Superbrothers: Sword & Sworcery EP
Dependencies:
- lib32-glu
- lib32-libpulse if you use PulseAudio
The game bundles an outdated version of libstdc++ which prevents the game from starting. [11] The following can be observed when you run Steam and S&S from the terminal:
libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast
To solve this problem remove GAME/lib/libstdc++.so.6*
. After that the game will use the libstdc++ from Steam.
System Shock 2
You get these errors when running it with the native client:
C:\windows\system32\winedevice.exe: symbol lookup error: /usr/lib32/libX11.so.6: undefined symbol: xcb_wait_for_reply64 C:\windows\system32\wineboot.exe: symbol lookup error: /usr/lib32/libX11.so.6: undefined symbol: xcb_wait_for_reply64
Just delete or rename the libxcb library it got shipped with:
mv /mnt/olhdd/steam/steamapps/common/SS2/lib/libxcb.so.1{,.old} mv /mnt/olhdd/steam/steamapps/common/SS2/lib/libxcb.so.1.1.0{,.old}
Game won't launch
If you encounter the game not launching do the following:
Cut & Paste libsteam_api.so from the "SS2/Bin" folder within the main steam common folder and transfer it to "SS2" main game folder not the sub folder "SS2/bin"
After Cut & Paste put LD_PRELOAD='/usr/$LIB/libxcb.so.1' %command% into the Launch options
Once all of these have been implemented the game should work after hitting play on steam.
Resolution fix
You may encounter some resolution problems with this game on steam not working properly in full screen mode. Do the following:
Open cam.cfg in the SS2 folder you may have to search for it via the search mode while in the game folder:
Place game_screen_size 1024 768 or game_screen_size 1920 1080 depending on your resolution & put game_full_screen 1 into bottom of the cam.cfg file.
Then go to cam_ext.cfg and next to the display setting place a simi-colon prefix next to the use_d3d_display option so it should be like this ;use_d3d_display it should then properly not go off-screen and should stay full screen within the active main screen.
Tabletop Simulator
CJK characters not showing in game
Install wqy-microhei and wqy-microhei-lite.
Team Fortress 2
Requires lib32-libpng12.
HRTF setup
Assuming HRTF (head-related transfer function) has been properly set up in the operating system, HRTF won't be enabled unless you disable the original processing. To do so, use
dsp_slow_cpu 1
For best results, also change the following:
snd_spatialize_roundrobin 1 dsp_enhance_stereo 0 snd_pitchquality 1
Loading screen freeze
If you are a non-English (speaking) user, you have to enable "en_US.UTF-8" in the locale.gen! Generate a new locale after that.
No audio
It happens if there is no PulseAudio in your system.
If you want to use ALSA, you need to launch Steam or the game directly with SDL_AUDIODRIVER=alsa
(From SteamCommunity).
If it still does not work, you may also need to set the environment variable AUDIODEV. For instance AUDIODEV=Live
. Use aplay -l
to list the available sound cards.
Slow loading textures
If you are using Chris' FPS Configs or any other FPS config, you may have set mat_picmip
to 2
. This spawns multiple threads for texture loading, which may cause more jittering and lag on Linux, especially on alternative kernels. Try setting it to -1
, the default.
Terraria
See the KNOWN ISSUES & WORKAROUNDS section of the release announcement.
This War of Mine
Game does not start
This happens because of an incompatibility with the newer version of lib32-curl
. To fix the problem , set your launch options to:
LD_PRELOAD=./libcurl.so.4 %command%
Sound glitches with Steam native
The bundled libOpenAL
might not work correctly, try symlinking /usr/lib32/libopenal.so
to GAME/libOpenAL.so
.
Ticket to Ride
Dependencies:
As lib32-gstreamer0.10-base is quite hard to build you can use alucryd-multilib repo for this package
The Tiny Bang Story
Missing libGLEW.so.1.6
# ln -s /usr/lib32/libGLEW.so.1.10.0 /usr/lib32/libGLEW.so.1.6
Tomb Raider
Game immediately closes when running with steam-native
Tomb Raider has a very heavy amount of dependency on the Steam runtime, the easiest solution is to just run it using the runtime.
Steam Controller not working in-game
If your Steam Controller is correctly recognized and paired but still not working in-game try the following:
- In Steam, non Big Screen, go to Settings > Account > Beta participation > Change... and in the dropdown select box select Steam Beta Update
- Restart Steam
- Go to Big Screen and start Tomb Raider
Correctly recognized means you can control the desktop mouse and Steam in Big Picture mode and the controller is shown in the Big Picture settings.
Torchlight 2
Libfreetype/libfontconfig Incompatibility
If you are experiencing issues with launching Torchlight 2, it could be due to using a newer libfontconfig than the game currently supports.
Right click the game in Steam, and set the following as it's launch option:
LD_PRELOAD=/usr/lib/libfreetype.so.6 %command%
then attempt launching the game.
Alternately, re-naming or deleting these 2 files will force it to use your system's libraries:
Torchlight 2/game/lib/libfreetype.so.6 Torchlight 2/game/lib64/libfreetype.so.6
Locale incompatibility
Some users report that Torchlight 2 does not work if you do not have en_US.UTF8 in your locale.
Double check you have generated the locale needed in Steam Installation Requirements.
Tower Unite
Graphical Glitches
This is a known issue, and it occurs because the shaders had not been ported to Linux yet by the developers.
To minimize glitches and make the game playable add -opengl4
to your launch options,
set Ocean Quality to "Potato" and Effects Quality to "Low" in the game settings.
Towns / Towns Demo
Requires Java.
Transistor
Crash on launch / FMOD binding crash / audio issues
Run the game with:
LD_PRELOAD='/usr/lib/libstdc++.so.6:/usr/lib/libgcc_s.so.1:/usr/lib/libxcb.so.1:/usr/lib/libasound.so.2'
Otherwise, run the game via shell and set up proper audio device for FMOD, as discussed in [12].
Also, check out this thread [13].
Transmissions: Element 120
Dependencies:
Troubleshooting
Make sure you have all libraries installed. Above the standard set required by Steam runtime, the game requires few additional ones. The typical error message that indicates that is
AppFramework : Unable to load module vguimatsurface.so!
To find missing dependencies go into the game directory and run:
LD_LIBRARY_PATH=bin ldd bin/vguimatsurface.so
Look for entries that say not found.
Trine 2
Dependencies:
Colors
If colors are wrong with FOSS drivers (r600g at least), try to run the game in windowed mode, rendering will be corrected. (bug report)
Sound
If sound plays choppy, try:
/etc/openal/alsoft.conf
drivers=pulse,alsa frequency=48000
Resolution
If the game resolution is wrong when using a dual monitor setup and you can't see the whole window edit ~/.frozenbyte/Trine2/options.txt
and change the options ForceFullscreenWidth
and ForceFullscreenHeight
to the resolution of your monitor on which you want to play the game.
Tropico 5
Blank screen with sound only on startup
Run the game with MESA_GL_VERSION_OVERRIDE=4.0 MESA_GLSL_VERSION_OVERRIDE=400
.
Unity of Command
Requires lib32-pango.
Squares
If squares are shown instead of text, try removing GAME/bin/libpangoft2-1.0.so.0
.
No audio
If you get this error:
ALSA lib dlmisc.c:254:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pulse.so
Try running:
# mkdir -p /usr/lib/i386-linux-gnu/alsa-lib/ # ln -s /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so /usr/lib/i386-linux-gnu/alsa-lib/
Unity3D
Games based on the Unity3D engine, like War For The Overworld or Pixel Piracy may need the package lsb-release to understand that they run on Linux and work properly.
Locale settings
Games made in C# often have a problem with some locales (e.g. Russian, German) because developers don't specify locale-agnostic number formatting. This can result in some game screens loading only partially, problems with online features or other bugs.
To work around this, run the game with LC_ALL=C
.
Affected games: FORCED, Gone Home, Ichi, Nimble Quest, Syder Arcade.
Unity 5 sound problems
The sound system in Unity 5 changed and to be able to play games created with it you must most likely install and run PulseAudio.
Another solution is to disable the Steam runtime: in the launch options for the game, write this: LD_LIBRARY_PATH="" %command%
Another solution is to prevent Unity from trying to use pulseaudio using pulsenomoreAUR package from the AUR. Once it is installed, use the following as launch options :/usr/bin/pulsenomore %command%
Affected games: Kerbal Space Program, SUPERHOT, ClusterTruck
Game launching on wrong monitor in fullscreen mode
Unity games that do not support monitor selection will most likely launch the game on a wrong monitor.
The problem is that Unity games write the default parameter <pref name="UnitySelectMonitor" type="int">-1</pref>
to the game config file.
This will lead to the game launching on a non-primary monitor.
When changing to value into <pref name="UnitySelectMonitor" type="int">0</pref>
for the according game, the game will start on the correct (primary) monitor.
A Unity game config file usually resides in ~/.config/unity3d/CompanyName/ProductName/prefs
.
Affected games: Cities: Skylines, Tabletop Simulator, Assault Android Cactus, Wasteland 2, Tyranny, Beat Cop.
Be aware that some games do not support setting that parameter, it will simply be ignored. This is the case for Pillars of Eternity, Kentucky Route Zero, Sunless Sea.
Chinese/Japanese/Korean display bug
Install wqy-microhei and wqy-microhei-lite. Then
#fc-cache -fv
Game does not respond
Add the following line to your launch options :
SDL_DYNAMIC_API=/usr/lib/libSDL2-2.0.so %command%
Unrest
Requires fluidsynth.
Volgarr the Viking
Delete the lib
directory in the game directory to get rid of the libGL errors.
War Thunder
No audio
If there is no audio after launching the game, install pulseaudio-alsa.
Blank screen
If having a green or blank screen on startup, run the game with MESA_GL_VERSION_OVERRIDE=4.1COMPAT
. [14] [15]
Warhammer 40,000: Dawn of War II
Dependencies:
The start script does not point to the right direction of libasound.so.2
.
To fix it open GAME/DawnOfWar2.sh
and replace the following lines:
HAS_LSB_RELEASE=$(command -v lsb_release) if [ -n "${HAS_LSB_RELEASE}" ] && [ "$(lsb_release -c | cut -f2)" = "trusty" ]; then LD_PRELOAD_ADDITIONS="/usr/lib/x86_64-linux-gnu/libasound.so.2:${LD_PRELOAD_ADDITIONS}" fi
with:
LD_PRELOAD_ADDITIONS="/usr/lib64/libasound.so.2:${LD_PRELOAD_ADDITIONS}"
We Were Here
Stuck on black screen or logo on launch
Add -screen-fullscreen 0
to launch options. [16]
Worms W.M.D
The game includes several workarounds in the Run.sh
script, however these may not work and it is easy to get the game running without this script.
First, try running the game directly from its game directory using Worms W.M.Dx64
. If you get a "No such file or directory" error about libcurl-gnutls, install libcurl-gnutls. If the game crashes after playing the intro movies, add the Steam Runtime dbus libraries to the game's library directory:
$ ln -s ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/*dbus* ~/.steam/steam/steamapps/common/WormsWMD/lib
Now the game should run using the default "Play Worms W.M.D" option. See also Steam community discussions [17] and [18].
On some systems there are terrain bugs where holes in terrain are not rendered properly and worms can fall through terrain unexpectedly. These bugs can make the game unplayable in many situations and there is no known fix for them.
Witcher 2: Assassin of Kings
Dependencies:
Game does not start
If the game does not run, enable error messages:
$ LIBGL_DEBUG=verbose ./witcher2
Wizardry 6: Bane of the Cosmic Forge
Requires DOSBox.
To fix the crash at start, open GAME/dosbox_linux/launch_wizardry6.sh
and:
- comment the line
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs
- change the beginning of the line starting with
exec ./dosbox
toexec dosbox
World of Goo
Changing resolution
To change the game resolution edit the Graphics display section in GAME/properties/config.txt
. For example:
<!-- Graphics display --> <param name="screen_width" value="1680" /> <param name="screen_height" value="1050" /> <param name="color_depth" value="0" /> <param name="fullscreen" value="true" /> <param name="ui_inset" value="10" />
X3: Terran Conflict
Game crashes on startup
The game may crash on startup because it's linked to libz version 1.2.9, while the latest version of this library in Arch Linux is higher. The following message in the terminals appears in this case:
./X3TC_config: lib/libz.so.1: version 'ZLIB_1.2.9' not found (required by /usr/lib32/libpng16.so.16
Running the game with LD_PRELOAD='/usr/lib32/libz.so.1.2.11'
may help.
XCOM
Dependencies:
- librtmp0
- sdl2_image (required to enable keyboard functionality in-game)
Hangs on startup
If you are running a hybrid graphics system, try:
__GL_THREADED_OPTIMIZATIONS=0 primusrun %command%
Graphical glitches on Intel HD
XCOM: Enemy Unknown may not recognize the SDL2 shared libraries shipped with the Steam runtime. Check if the binary finds all required files and install missing packages if necessary (sdl2 and sdl2_image).
ldd binaries/linux/game.x86_64