# Steam/Game-specific troubleshooting

Note: Steam installs library dependencies of a game to a library directory, but some are missing at the moment. Report bugs involving missing libraries on Valve's bug tracker on their GitHub page before adding workarounds here, and then provide a link to the bug so it can be removed as the problems are fixed.
Tip: If a game fails to start, a possible reason is that it is missing required libraries. You can find out what libraries it requests by running `ldd game_executable`. `game_executable` is likely located somewhere in `~/.steam/root/SteamApps/common/`. Please note that most of these "missing" libraries are actually already included with Steam, and do not need to be installed globally.

## Amnesia: The Dark Descent

### Dependencies

- lib32-freealut
- lib32-glu
- lib32-libxmu
- lib32-sdl_ttf

## And Yet It Moves

### Dependencies

- lib32-libtheora
- lib32-libjpeg6
- lib32-libtiff4
- lib32-libpng12

### Compatibility

Game refuses to launch and one of the following messages can be observed on console

     readlink: extra operand ‘Yet’
     Try 'readlink --help' for more information.

OR

     This script must be run as a user with write priviledges to game directory

To fix this, use:

    ~/.steam/root/SteamApps/common/And Yet It Moves/AndYetItMovesSteam.sh

    #ayim_dir="$(dirname "$(readlink -f ${BASH_SOURCE[0]})")"
    ayim_dir="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"

## Anodyne

### Dependencies

- adobe-air-sdk
- xterm (probably not actually required)

### Compatibility

Follow the same steps as Defender's Quest

## Aquaria

### Troubleshooting

#### Mouse pointer gets stuck in one direction

If the mouse pointer gets stuck in any one direction, the game becomes unplayable. You may try:

    ~/.local/share/Steam/SteamApps/common/Aquaria/usersettings.xml

    #<JoystickEnabled on=”1″ />
    <JoystickEnabled on=”0″ />

If that does not fix the issue, unplug any joystick or joystick adapter devices you may have plugged in.

## Cities in Motion 2

### Troubleshooting

#### Dialog boxes fail to display properly

You won't be able to read or see anything and you'll 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 http://bpaste.net/show/167019/] (replace `/etc/fonts/conf.d/10-scale-bitmap-fonts.conf`).

## Crusader Kings II

Game is installed into `$HOME/Steam/SteamApps/common/Crusader Kings II`. Game can be started directly, without need of running Steam on background, using command `$HOME/Steam/SteamApps/common/Crusader Kings II/ck2`.

Saves are stored in `$HOME/Documents/Paradox Interactive/Crusader Kings II/save games/`. In the newest version 2.03 savefiles seem to be stored to `$HOME/.paradoxinteractive/Crusader Kings II/`, if your documents folder is empty, try looking there.

### Mods

Linux version doesn't have a launcher in opposite of Windows one.

For using mods, you need to put them into game settings directory (`~/Documents/Paradox Interactive/Crusader Kings II/mod/`) and launch the game with special key `-mod=<mod_path>`. For example:

    -mod=mod/CK2_rus_full_v1.092.mod -mod=mod/Extendedtitlesmod.mod

If mods don't load for you, try creating a mod folder in `$HOME/.paradoxinteractive/Crusader Kings II/` and put your mods there.

### DLC

All DLC that you have bought on Steam is enabled by default. As with mods, due to lack of a launcher you need to use a launch option to disable one. The option is `-exclude-dlc` with an argument of the corresponding `.dlc` file in `~/.steam/steam/SteamApps/common/Crusader Kings II/dlc/`. For example, to disable Sunset Invasion, use:

    -exclude-dlc=dlc/dlc018.dlc

### Troubleshooting

#### No audio

The default audio driver used by Crusader Kings 2 is for PulseAudio, so an override is necessary:

    ~/.pam_environment

    SDL_AUDIODRIVER=alsa

## Defender's Quest: Valley of the Forgotten

### Dependencies

- adobe-air-sdk
- xterm
- lib32-libcanberra

### Troubleshooting

#### Game does not start

- Package adobe-air-sdk installs Adobe Air not in the place where the game expects it to be, fix this by creating a symlink (requires root permissions):

    $ ln -s /opt/adobe-air-sdk/runtimes/air/linux/Adobe\ AIR /opt/Adobe\ AIR

- Adobe AIR will want to check whether the EULA was accepeted and fail in doing so. To fix it, issue the following commands (from under your user, not under root):

    $ mkdir -p ~/.appdata/Adobe/AIR
    $ echo 2 > ~/.appdata/Adobe/AIR/eulaAccepted

Note: By issuing these commands you're accepting Adobe Air's EULA.

## Don't Starve

### Dependencies (x86_64)

- lib32-flashplugin
- lib32-alsa-plugins (Looks like it fixes sound in some cases. See this github issue for details)

### Troubleshooting

#### No sound

Right click on Don't Starve on your game list, click on Properties, click on SET LAUNCH OPTIONS, then add this:

    LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%

On the game, go to the option and set all audio to the proper volume.

## Dota 2

### Dependencies (x86_64)

- lib32-openal
- lib32-libpulse (if you use PulseAudio)

### Troubleshooting

#### In-game font is unreadable

Start Steam (or Dota 2) with the environment variable:

    MESA_GL_VERSION_OVERRIDE=2.1

#### Everything seems OK but the game doesn't start

If you run the game from the terminal and, although no error is shown, the 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

  GitHub Dota 2 issue #11

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

Simply remove the bundled libxcb to force Steam to use the system-wide version. Restart Steam to apply.

    $ find ~/.local/share/Steam -name 'libxcb*' -type f | grep -v installed | xargs rm

  GitHub Steam issue #3204

#### Steam overlay

Steam distributes a copy of libxcb which is incompatible with the latest xorg libxcb. If you're having issues with steam overlay and on recent xorg try removing the bundled lib.

     mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1 /tmp/libxcb.so.1.bak

See more information here:

  [1]
  [2]

## Dwarfs F2P

### Dependencies

- lib32-libgdiplus

### Troubleshooting

#### 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 `~/.local/share/Steam/SteamApps/common/Dwarfs - F2P/Run.sh` and change

    export LD_LIBRARY_PATH=.:${LD_LIBRARY_PATH}

to

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:.

Note: This file may be overwritten by updates or by verifying integrity of game cache. You may need to modify it again.

If these do not help, you may have outdated libraries in the game installation folder that are crashing the game on startup. Try moving/removing the following files out of `~/.local/share/Steam/SteamApps/common/Dwarfs - F2P/` to fix it:

    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

### Dependencies

- lib32-sdl

### Troubleshooting

#### 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>/.local/share/Steam/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.

## FORCED

This game has 32-bit and 64-bit binaries. For unknown 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.

### Dependencies

- lib32-alsa-plugins
- lib32-glu

## FTL: Faster than Light

### Dependencies

Libraries are downloaded and and placed in the game's data directory for both architectures. As long as you run FTL by the launcher script (or via the shortcut in Steam) you should not need to download any further libraries.

### 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 `~/.steam/root/SteamApps/common/FTL Faster than Light/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 `~/.steam/root/SteamApps/common/FTL\ Faster\ Than\ Light/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 `~/.steam/root/SteamApps/common/FTL\ Faster\ Than\ Light/data/x86/lib`.

## Game Dev Tycoon

### Troubleshooting

#### Game does not start

Error about missing libudev.so.0 might appear, solution:

     # ln -s /lib/libudev.so /lib/libudev.so.0

## Garry's Mod

### Troubleshooting

#### Game does not start

Error about missing client.so might appear, solution:

     cd SteamLibrary/SteamApps/common/GarrysMod/bin/
     ln -s libawesomium-1-7.so.0 libawesomium-1-7.so.2
     ln -s ../garrysmod/bin/client.so ./

## Half-Life 2 & episodes

### Cyrillic fonts problem

This problem can be solved by deleting "Helvetica" font.

## Hammerwatch

### Troubleshooting

#### The game not starting from Steam GUI

Right click on Hammerwatch on your game list, click on Properties, click on SET LAUNCH OPTIONS, then add this:

    LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command%

## Harvest: Massive Encounter

### Dependencies

- lib32-gtk2
- lib32-libvorbis
- lib32-openal
- lib32-nvidia-cg-toolkit
- lib32-libjpeg6

### Compatibility

Game refuses to launch and throws you to library installer loop. Just edit `~/.steam/root/SteamApps/common/Harvest Massive Encounter/run_harvest` and remove everything but

     #!/bin/bash
     exec ./Harvest

## Joe Danger 2: The Movie

### Dependencies

- lib32-libpulse
- lib32-alsa-plugins

### Compatibility

Game only worked after obtaining from the Humble Bundle directly and lib32-libpulse was installed.

## Kerbal Space Program

### Troubleshooting

### Game never progresses past initial loading

To fix this, set:

    LC_ALL=C

### No text display

The game requires Arial and Arial Black fonts, provided in the ttf-ms-fonts AUR package.

### Graphics flickering when using primusrun

Run with PRIMUS_SYNC=2 (but you will get reduced frame rate this way)

### Game crashes when accessing settings or saves on 64 bit systems on Steam

In the properties for Kerbal Space program, set a launch option of:

    LC_ALL=C %command%_64

### Locale settings

See https://bugs.kerbalspaceprogram.com/issues/504 if you have troubles with building Ships.

### No audio on 64-bit systems

Run the 64-bit executable.

Steam launches the KSP.x86 executable vs. the KSP.x86_64 executable. Navigate to:

    /home/$USER/.local/share/Steam/SteamApps/common/Kerbal\ Space\ Program/

Launch with:

    ./KSP.x86_64

Or you can simply right click on "Kerbal Space Program" in your game list, click Properties, click SET LAUNCH OPTIONS, then add this:

    LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" LC_ALL=C %command%_64

## Killing Floor

### Troubleshooting

#### Screen resolution

Killing Floor runs pretty much from scratch, although you might have to change in-game resolution screen as the default one is 800x600 and a 4:3 screen format. If you try to modify screen resolution in-game, it might crash your desktop enviroment. To fix this, please set the desired resolution screen size by modifing your `~/.killingfloor/System/KillingFloor.ini` with your prefered editor.

    ~/.killingfloor/System/KillingFloor.ini

    ...

    [WinDrv.WindowsClient]
    WindowedViewportX=????
    WindowedViewportY=????
    FullscreenViewportX=????
    FullscreenViewportY=????
    MenuViewportX=???
    MenuViewportY=???

    ...

    [SDLDrv.SDLClient]
    WindowedViewportX=????
    WindowedViewportY=????
    FullscreenViewportX=????
    FullscreenViewportY=????
    MenuViewportX=????
    MenuViewportY=????

    ...

Note: Replace all the `????` with the corresponding numbers according the desired resolution. If you have an 1366x768 screen and want to use it at it's fullest, change all the Viewport fields to something like `ViewportX=1366` and `ViewportY=768` in the corresponding areas.
Note: The dots in the middle indicate that there are more fields in that .ini file. But for screen resolution troubleshooting, you do not need to modify anything else.

Save the file and restart the game, it should work now.

#### Windowed mode

Uncheck fullscreen in the options menu, and use `Ctrl+g` to stop mouse capturing (that was non-obvious to discover..). This way you can easily minimize it and do other other things..and let your WM handle things.

## Metro: Last Light

This game is not allowing to change its resolution on a multimonitor setup on GNOME with Catalyst drivers.

### Attempted fixes

Various changes to the games config file was tried without success. `wmctrl` was not able to force the games resolution.

### Hacky solution

Disabled the side monitors.

### Possible solutions

Jason over at unencumbered by fact is using Nvidia drivers on his multimonitor setup. However he notes he is using a single display server setup. This is being explored.

## Multiwinia

### Dependencies

- lib32-openal

## Penumbra: Overture

### Dependencies

(Taken from penumbra-collection and penumbra-overture-ep1-demo)

- lib32-glu
- lib32-libxft
- lib32-libvorbis
- lib32-openal
- lib32-sdl_ttf
- lib32-sdl_image

### Troubleshooting

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

## Natural Selection 2

Game mostly works out of the box.

### No Sound

If there is no sound in-game. Try installing lib32-sdl, lib32-sdl2, and lib32-alsa-plugins

## Redshirt

### Dependencies (x86_64)

- lib32-libpulse (if you use PulseAudio)

## Revenge of the Titans

### Dependencies

- libxtst and lib32-libxtst

## Serious Sam 3: BFE

### Dependencies

- lib32-alsa-plugins

### Troubleshooting

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

## Sir, you are being hunted

### Dependencies

- lib32-alsa-plugins

## Spacechem

### Dependencies

- lib32-sqlite
- lib32-sdl_image
- lib32-sdl_mixer

### Troubleshooting

#### 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 or move the three files `libSDL-1.2.so.0`, `libSDL_image-1.2.so.0`, `libSDL_mixer-1.2.so.0` from `~/.steam/root/SteamApps/common/SpaceChem`

## Space Pirates and Zombies

### Dependencies

- lib32-alsa-plugins
- lib32-openal

### Troubleshooting

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

## Splice

Splice comes with both x86 and x64 binaries. Steam does not have to be running to launch this game.

### Dependencies

- glu

## Steel Storm: Burning Retribution

### Troubleshooting

#### Start with black screen

The game tries to launch in 1024x768 resolution with fullscreen mode by default. It is impossible on some devices. (for example laptop Samsung Series9 with intel hd4000 video).

You can launch the game in windowed mode. To do this open game Properties in Steam, in General tab select "Set launch options..." and type "-window".

Now you can change the resolution in game.

#### No English fonts

If you use Intel video card, just disable S3TC in DriConf.

## Strike Suite Zero

### Dependencies

- lib32-alsa-plugins

## Superbrothers: Sword & Sworcery EP

### Dependencies

- lib32-glu
- lib32-alsa-plugins
- lib32-libpulse (if you use PulseAudio)

## Team Fortress 2

### Dependencies

- lib32-libpng12

### Making HRTF work

Assuming HRTF has been set up properly 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

### Troubleshooting

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

## The Book of Unwritten Tales

If the game does not start, uncheck: Properties > Enable Steam Community In-Game.

The game may segfault upon clicking the Setting menu and possibly during or before gameplay. This is a known problem and you will unfortunately have to wait for a fix from the developer. A workaround (taken from the Steam forums) is to replace the game's RenderSystem_GL.so with one from Debian's repositories. To do that download this deb file, extract it (with `dpkg -x libogre-*.deb outdir`) and replace `~/.local/share/Steam/SteamApps/common/The Book of Unwritten Tales/lib/32/RenderSystem_GL.so` with the one that comes with the `.deb` package.

### Dependencies

- lib32-libxaw
- lib32-jasper

## The Book of Unwritten Tales: The Critter Chronicles

Because it's based on the same engine, the things that apply to The Book of Unwritten Tales also apply for this game.

## The Clockwork Man

### Dependencies

- lib32-libidn

## The Polynomial

### Dependencies

- ilmbase102-libs
- openexr170-libs

Steam for Linux issue #2721

### Troubleshooting

#### 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 `~/.local/share/Steam/SteamApps/common/ThePolynomial/Polynomial64`, and comment out the `LD_LIBRARY_PATH` variable. Make sure to put the `./bin/Polynomial64 "$@"` command on a new line.

## Towns / Towns Demo

### Crash on launch

Ensure you have Java installed.

## Trine 2

### Dependencies

- lib32-glu
- lib32-libxxf86vm
- lib32-openal
- xorg-xwininfo

### Troubleshooting

- If colors are wrong with FOSS drivers (r600g at least), try to run the game in windowed mode, rendering will be corrected. (bugreport)
- If sound plays choppy, try:

    /etc/openal/alsoft.conf

    drivers=pulse,alsa
    frequency=48000

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

## Unity of Command

### Dependencies

- lib32-pango
- lib32-alsa-plugins

### Troubleshooting

- If squares are shown instead of text, try removing `$HOME/Steam/SteamApps/common/Unity of Command/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/

## Wizardry 6: Bane of the Cosmic Forge

### Dependencies

- dosbox

To fix the crash at start, edit `~/.local/share/Steam/SteamApps/common/Wizardry6/dosbox_linux/launch_wizardry6.sh` and change

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs
    exec ./dosbox -conf dosbox_wiz6.conf -conf dosbox_wiz6_launch_linux.conf -noconsole "$@"

to

    #export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./libs
    exec dosbox -conf dosbox_wiz6.conf -conf dosbox_wiz6_launch_linux.conf -noconsole "$@"

## World of Goo

### Changing resolution

- To change the game resolution edit the section "Graphics display" in the configuration file `$HOME/Steam/SteamApps/common/World of Goo/properties/config.txt`. For example, see below:

     <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" />

## Worms Reloaded

### Dependencies

- lib32-alsa-plugins

Category:

- Gaming