Steam/Games troubleshooting

From Gentoo Wiki
< Steam
Jump to: navigation, search

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

Note
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

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 libopenal.so.1.18.2. 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.

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/libstdc++.so.6" %command% to the launch options in Library->Black Mesa->Properties->General->Set launch options...

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

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

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
CURL_SSL="gnutls"
root #emerge --ask net-misc/curl

Planetary Annihilation: TITANS is expecting to find libudev.so.o. Within the Planetary Annihilation: TITANS runtime directory create a symbolic link to /lib/libudev.so.1:

user $ln -s /lib/libudev.so.1 libudev.so.0

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.

Starbound

  • 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

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[10]:
FILE /etc/portage/package.use/steam
# 32-bit ABI of this lib causes Team Fortess 2 to segfault on start
# https://github.com/ValveSoftware/Source-1-Games/issues/2520
app-crypt/p11-kit -abi_x86_32

Transistor

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[11]. 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.

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[12].

Yooka-Laylee

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 libudev.so.0
user $ln -s /usr/lib/libudev.so libudev.so.0

References

  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, anyc's 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. Dirk Meijer. Segmentation Fault in Linux, Stealth Bastard Deluxe Steam Community, May 3rd, 2013. Retrieved on May 27th, 2015.
  10. netfab. TF2 segfaults on start, Source 1 Based Games, February 11th, 2018. Retrieved on October 26th, 2018.
  11. 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.
  12. timon37. X³: TC and AP - Linux support thread, X Universe Forums, April 13th, 2013. Retrieved on May 26th, 2015.