Steam/Games troubleshooting

From Gentoo Wiki
< Steam
Jump to: navigation, search

This article provides troubleshooting details for specific games running via Steam.

Steam runtime

If the Steam runtime is enabled and some games are not starting (for example Dying Light or Life Is Strange), setting STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 may fix the issue.

Texture compression

Installing the media-libs/libtxc_dxtn package is no longer necessary since the S3TC patent expired on October 2, 2017. S3TC support is now enabled by default with Mesa 17.3[1].

Many games, especially those that use the Source engine, require S3 Texture Compression (S3TC) support. Without S3TC support, these games will usually have black or missing textures, or fail to start.

Confirm if S3TC support is enabled with glxinfo, which is provided by the x11-apps/mesa-progs package:

root #glxinfo | grep GL_EXT_texture_compression_s3tc
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_filter_anisotropic, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map,

If S3TC support is not enabled, ensure that the VIDEO_CARDS variable in /etc/portage/make.conf is set to the correct value, and update the video driver to most recent version.

If S3TC support is enabled, but games fail to start with the following error:

This system does not support the OpenGL extension GL_EXT_texture_compression_s3tc

Force enable S3TC support with:

user $force_s3tc_enable=true steam

If nouveau drivers are being used, installing x11-libs/gtkglarea may be required to fix the above error.

root #emerge --ask x11-libs/gtkglarea

Black Mesa

  • If the game is launched but shows nothing, add LD_PRELOAD="/usr/lib64/gcc/x86_64-pc-linux-gnu/<your gcc version number>/32/" %command% to the launch options in Library->Black Mesa->Properties->General->Set launch options...

Borderlands 2 and Borderlands: The Pre-Sequel

  • Gearbox's SHiFT service assumes the underlying distribution is Ubuntu, which stores its SSL certificates in /usr/lib/ssl, whereas Gentoo (by default) stores them in /etc/ssl. This difference prevents the redemption of SHiFT codes on Gentoo. To workaround this issue, add SSL_CERT_DIR="/etc/ssl/certs" %command% to the launch options in Library->{Borderlands 2,Borderlands: The Pre-Sequel}->Properties->General->Set launch options...
  • If the game is launched but closes almost immediately try adding -nostartupmovies to the launch options in Library->{Borderlands 2,Borderlands: The Pre-Sequel}->Properties->General->Set launch options... This fixes the BorderlandsPreS[...] general protection ip:.. sp:.. error:0 in Another solution is to recompile x11-libs/libxcb with -O1, media-sound/pulseaudio with -O1 and without -march and sys-libs/glibc without -march[2].
  • Additionally the game may still crash at points during game play, when creating a new character or when traveling to one of the DLC's. To workaround this issue edit the willowengine.ini file. Find the section [FullScreenMovie] and change the value of bForceNoMovies from FALSE to TRUE. The files can be found at ~/.local/share/aspyr-media/borderlands 2/willowgame/config/willowengine.ini and ~/.local/share/aspyr-media/borderlands the pre-sequel/willowgame/config/willowengine.ini.

Cities: Skylines

  • In case you have set some libraries in the environmental variable LD_PRELOAD of your linux session, make sure you run the game with this variable emptied or filled only with libraries directly related to the game. Empting can be done by setting LD_PRELOAD="" %command% in the launch options in Library->Cities: Skylines->Properties->General->Set launch options.... Unrelated libraries in this variable can cause the game will not start or become unstable.

Dead Cells

Dead cells requires the Wayland libraries to function correctly, and will complain if the libraries are missing when starting.

root #emerge --ask --noreplace dev-libs/wayland

Death Road to Canada

  • Death Road to Canada requires the following USE flags to function correctly and for in-game music:
FILE /etc/portage/package.use/steam
media-libs/libsdl2 opengl
media-libs/sdl2-mixer mp3 mad

Rebuild the media-libs/libsdl2 and media-libs/sdl2-mixer packages:

root #emerge --ask --oneshot media-libs/libsdl2 media-libs/sdl2-mixer

Add LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command% to the launch options in Library->Death Road to Canada->Properties->General->Set launch options...

Deus Ex: Mankind Divided

If only the cut scenes have audio/sound, but the menus and gameplay have no audio/sound, try emerging media-sound/pulseaudio.

DiRT Showdown

  • If an Intel GPU is being used and the launcher fails to start with the following error:
Unfortunately your machine doesn't meet the full OpenGL 4.1 requirements so the game may not perform correctly

Add MESA_GL_VERSION_OVERRIDE=4.1 MESA_GLSL_VERSION_OVERRIDE=410 %command% to the launch options in Library->DiRT Showdown->Properties->General->Set launch options... Intel Broadwell and Skylake based GPUs also require INTEL_DEBUG=vec4 to be added to the launch options[4].

  • If an Intel GPU is being used, the launch options can be removed after upgrading to Mesa 12.0.1.

Dota 2

  • If a red screen is visible during startup and textures are missing in-game, enable texture compression support[7].

Exiled Kingdoms

If the game produces the following error:

Exception in thread "LWJGL Application" java.lang.ExceptionInInitializerError
        at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync(
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$
Caused by: java.lang.ArrayIndexOutOfBoundsException: 0
        at org.lwjgl.opengl.LinuxDisplay.getAvailableDisplayModes(
        at org.lwjgl.opengl.LinuxDisplay.init(
        at org.lwjgl.opengl.Display.<clinit>(
        ... 2 more
AL lib: (EE) alc_cleanup: 1 device not closed

Ensure x11-apps/xrandr is installed.


  • If the game fails to start with the following terminal error:
Unable to preload the following plugins:

Try to add LD_PRELOAD=~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/ %command% to the launch options in Library->Firewatch->Properties->General->Set launch options....

Half-Life 2

Half-Life 2 and other Source-engine 1 based games (e.g. Portal) may segfault because the stack is no longer 16-byte aligned when the hl2_linux process does calls to glibc. A symptom that may be exhibited is a segfaulting SIMD instruction (or rather it raises a general protection error), for example vmovdqa in fseek/_IO_file_seekoff/_IO_new_file_seekoff.

To fix this, build sys-libs/glibc with -mstackrealign added to CFLAGS/CXXFLAGS. See package.env for information about setting per-package build options. Functions then have an automatic-alignment-fixing entry which restores the 16-byte-alignment-assumption often used for SSE2/AVX.


If the game crashes with the following errors:

failed to dlopen /home/user/.steam/steam/steamapps/common/insurgency2/bin/ error=/home/user/.steam/steam/steamapps/common/insurgency2/bin/ version `GCC_7.0.0' not found (required by /usr/lib32/

AppFramework : Unable to load library module!

Unable to load interface VCvarQuery001 from, requested from EXE.

Edit the file in the default game directory. Remove or comment out lines 27-29, where the lib path of game is prepended to LD_LIBRARY_PATH. This will force the game to use system libraries instead.

Left 4 Dead 2

Life Is Strange

  • If the launcher fails to start, add LD_LIBRARY_PATH="$HOME/.steam/root/steamapps/common/Life Is Strange/lib/x86_64:$HOME/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu:$HOME/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu" %command% to the launch options in Library->Life Is Strange->Properties->General->Set launch options...

Planetary Annihilation: TITANS

root #emerge --ask media-libs/libsdl2
FILE /etc/portage/make.conf
root #emerge --ask net-misc/curl

Planetary Annihilation: TITANS is expecting to find Within the Planetary Annihilation: TITANS runtime directory create a symbolic link to /lib/

user $ln -s /lib/

Rust (legacy)

  • If the launcher fails to start, add LD_LIBRARY_PATH="/usr/lib:$LD_LIBRARY_PATH" %command% to the launch options in Library->Rust->Properties->General->Set launch options...

Sid Meier's Civilization V

  • If a black screen is visible and the introduction music is audible during startup, change the value of FSResID[8]:
FILE ~/.local/share/Aspyr/Sid Meier's Civilization 5/GraphicsSettingsDX9.ini
FSResID = 7

The correct value for FSResID appears to be system dependent, and may require setting different values before working.

  • If the game crashes almost immediately and syslog/dmesg shows:
[120551.527719] traps: Civ5XP[14295] general protection fault ip:f72f2855 sp:f2a9eb34 error:0 in[f72e7000+2c000]

where the library might be,, or (amongst others), try recompiling x11-libs/libxcb, sys-libs/glibc, media-libs/alsa-lib and media-sound/pulseaudio and with CFLAGS -O1[2] and -march=x86-64.

  • If the game crashes during game play on a system that has 8 or more logical cores and dmesg shows following segfault:
[371471.978756] Civ5XP[2293]: segfault at 14 ip 000000000885bd5f sp 00000000882ff080 error 4
[371471.978762] Civ5XP[2292]: segfault at 0 ip 0000000008cd8534 sp 00000000e636afe0 error 4
[371471.978763]  in Civ5XP[8048000+22a7000]
[371471.978764]  in Civ5XP[8048000+22a7000]
[371471.978767] Code: 00 00 00 00 5b 81 c3 f2 ea 62 01 8b b4 24 88 00 00 00 8b bc 24 84 00 00 00 8b 94 24 80 00 00 00 0f b7 87 88 00 00 00 8b 4a 04 <8b>
2c 81 85 ed 0f 84 ef 00 00 00 8b 0a 8b 52 08 89 54 24 20 f3 0f
[371471.978768] Code: 44 24 20 c7 00 00 00 00 00 83 c4 0c 5e 5f 5b 5d c3 0f 0b 55 53 57 56 83 ec 0c e8 00 00 00 00 5b 8b 6c 24 2c 8b 44 24 24 8b 00 <8b>
70 14 8b 48 18 0f b7 d5 89 54 24 08 8d 14 11 8b 78 04 81 c3 ac

Try adding taskset -c 0-3 %command% to the launch options in Library->Sid Meier's Civilization V->Properties->General->Set launch options... so that the game only uses 4 physical CPU cores (and 8 threads, with hyper-threading)[9]. Note that the number of cores given as an argument to taskset depends on the system CPU, and it should be set so that the number of threads available isn't above 8.


  • If the launcher fails to start with the following error:
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Available platform plugins are: xcb.

Reinstalling the application may fix this problem.

Add $(dirname %command%)/starbound to the launch options in Library->Starbound->Properties->General->Set launch options...

Stealth Bastard Deluxe

root #emerge --ask media-fonts/font-misc-misc

Stealth Bastard Deluxe specifically requests the fonts 9x15/9x15b, which can be checked for availability with x11-apps/xlsfonts. Otherwise, add the fonts to the font path, or create a font alias:

FILE /usr/share/fonts/misc/fonts.alias
9x15 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1
9x15B -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1


Stellaris requires texture compression support.

Team Fortress 2

  • If a black screen is visible for 1-2 seconds, add -nojoy to the launch options in Library->Team Fortress 2->Properties->General->Set launch options...
  • If app-crypt/p11-kit is built with 32-bit support, Team Fortress 2 will segfault on start. The current workaround is to disable 32-bit ABI for this library[11]:
FILE /etc/portage/package.use/steam
# 32-bit ABI of this lib causes Team Fortess 2 to segfault on start
app-crypt/p11-kit -abi_x86_32

Terraforming Mars (or Windows-only games in general)

If Windows-only games crash without even displaying a window, and the Steam log include a line that begins:

wine: Unhandled exception 0x20474343 in thread..

the cause might be that the system Mesa library (on which Steam depends) is not compiled with Vulkan support. Follow the instructions on the Vulkan page to rectify this.

The Witcher 2: Assassins of Kings

  • If the game fails to start with the following terminal error after pressing "Launch game" in the launcher:
eON_Core::init() - failed to initialise SDL2: SDL not built with haptic (force feedback) support
ERROR - eON failed to initialise!

Try to add LD_PRELOAD=~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/i386-linux-gnu/ %command% to the launch options in Library->The Witcher 2: Assassins of Kings->Properties->General->Set launch options....


Incorrect sound card selected

Transistor uses the FMOD engine, which can sometimes detect the wrong default device. Determine the index of the card to be used with aplay -l's output, then put that index into $HOME/.local/share/Transistor/FMODDriver.txt. For example, to use the first card detected by ALSA (index 0):

user $echo "0" > ~/.local/share/Transistor/FMODDriver.txt

Relaunch Transistor and the chosen card should be outputting its sound.

Unity-based games

  • Many games that utilize the Unity3D engine released in late 2015 or later either display a black screen for a few seconds and segfault, or run but without sound[12]. To workaround this issue, disable the Steam runtime for the game by adding LD_LIBRARY_PATH="" %command% to the game's launch options. It may also be possible to run the game without Steam, but some games will force the use of Steam and keep failing.
  • Other Unity-based games such as Hollow Knight or Mother Russia Bleeds will show the screen for two seconds, terminate, and then write to a log file located in /home/user/.config/unity3d/<developer name>/<game name>/Player.log. This error is caused by the OpenGL version not matching up to what the game is requesting. To work around this, add MESA_GL_VERSION_OVERRIDE=3.3 MESA_GLSL_VERSION_OVERRIDE=330 %command% to the game's launch options. This will override the OpenGL version for that particular game, allowing it to run.
  • Some games, notably Wasteland 2 Director's Cut, might require PulseAudio to be started manually prior to launching the game, especially on desktop environments which do not have PulseAudio integrated. Torment: Tides of Numenera did not require PulseAudio to be started manually when the LD_LIBRARY_PATH method above was used.

War Thunder

If the game fails to start with the crash report dialog saying:

We are sorry, but something went wrong.

And terminal error:

double free or corruption (out)

Try to add LD_PRELOAD=linux64/ %command% to the launch options in Library->War Thunder->Properties->General->Set launch options....

X3: Terran Conflict and X3: Albion Prelude

  • If red, green and blue stripes are visible, or the launcher fails to start, enable texture compression support[13].


Yooka-Laylee will fail to start if a controller is connected (the game is only really playable with a controller).

user $cd ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu
user $rm
user $ln -s /usr/lib/


  1. Matt Turner. Import libtxc_dxtn's S3TC code into Mesa, The mesa-dev Archives, October 2nd, 2017. Retrieved on September 6th, 2018.
  2. 2.0 2.1 Rasmus Thomsen. x11-libs/libxcb-1.12[abi_x86_32] optimizations above -O1 causing multiple applications to stop working (e.g. Civilization 5), Gentoo Bugzilla, April 23rd, 2017. Retrieved on October 14th, 2018.
  3. nativemad. media-libs/libtxc required from DiRT Showdown, Steam Overlay, January 18th, 2016. Retrieved on January 21st, 2016.
  4. mahdi1234. DRI_PRIME=1 and DiRT Showdown won't launch due to opengl 4.1, Gentoo Forums, January 17th, 2016. Retrieved on January 21st, 2016.
  5. Arkady Rost. Black texture, Dota 2 Linux and Mac client, August 14th, 2013. Retrieved on May 26th, 2015.
  6. michaelsudnick. Black ground texture on Gentoo amd64, radeonsi open source driver, Dota 2 Linux and Mac client, July 12th, 2014. Retrieved on May 26th, 2015.
  7. proatx. Red-screen and no textures, Dota 2 Linux and Mac client, December 16th, 2013. Retrieved on May 26th, 2015.
  8. Nowaker. Linux: blank/black screen after start - windowed mode maybe?, Sid Meier's Civilization V Steam Community, June 12th, 2014. Retrieved on May 28th, 2015.
  9. jqpdev. New patch needed to fix segfaults in Civ 5 Linux client for CPUs with more than 8 logical cores, Sid Meier's Civilization V Steam Community, February 23rd, 2018. Retrieved on May 30th, 2019.
  10. Dirk Meijer. Segmentation Fault in Linux, Stealth Bastard Deluxe Steam Community, May 3rd, 2013. Retrieved on May 27th, 2015.
  11. netfab. TF2 segfaults on start, Source 1 Based Games, February 11th, 2018. Retrieved on October 26th, 2018.
  12. ambidot. Several Unity games segfault at "FMOD failed to get number of drivers" when PulseAudio isn't running, Unity Forums, November 25th, 2015. Retrieved on May 2nd, 2016.
  13. timon37. X³: TC and AP - Linux support thread, X Universe Forums, April 13th, 2013. Retrieved on May 26th, 2015.