My prefered platform for running Steam is Arch Linux at the moment. The Steam client segfaults each time it is started. It took me some time to find the root cause and the solution.

This is the console output when I start Steam. As you can see it crashes because of a segmentation fault:

[user@host ~]$ steam                                         
/home/user/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
/home/user/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
Running Steam on arch  64-bit
/home/user/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
/usr/share/themes/Breeze/gtk-2.0/widgets/entry:70: error: unexpected identifier `direction', expected character `}'

(steam:1477): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Breeze/gtk-2.0/widgets/styles:36: error: invalid string constant "combobox_entry", expected valid string constant
/usr/share/themes/Breeze/gtk-2.0/widgets/entry:70: error: unexpected identifier `direction', expected character `}'

(steam:1477): Gtk-WARNING **: Unable to locate theme engine in module_path: "adwaita",
/usr/share/themes/Breeze/gtk-2.0/widgets/styles:36: error: invalid string constant "combobox_entry", expected valid string constant
Installing breakpad exception handler for appid(steam)/version(1468023329)
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig error: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 72: non-double matrix element
Fontconfig warning: "/etc/fonts/conf.d/10-scale-bitmap-fonts.conf", line 80: saw unknown, expected number
[0714/135234:ERROR:main_delegate.cc(779)] Could not load cef_extensions.pak
[0714/135234:ERROR:browser_main_loop.cc(217)] Running without the SUID sandbox! See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.
Installing breakpad exception handler for appid(steamwebhelper)/version(20160708214346)
Installing breakpad exception handler for appid(steamwebhelper)/version(1468014226)
[0714/135235:ERROR:main_delegate.cc(779)] Could not load cef_extensions.pak
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steamwebhelper)/version(20160708214346)
Installing breakpad exception handler for appid(steamwebhelper)/version(1468023329)
Installing breakpad exception handler for appid(steamwebhelper)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)
Created shared memory when not owner SteamController_Shared_mem
Installing breakpad exception handler for appid(steam)/version(1468023329)
Installing breakpad exception handler for appid(steam)/version(1468023329)

** (steam:1477): WARNING **: Could not initialize NMClient /org/freedesktop/NetworkManager: Unit dbus-org.freedesktop.NetworkManager.service not found.
Steam: An X Error occurred
X Error of failed request:  BadValue (integer parameter out of range for operation)
Major opcode of failed request:  18 (X_ChangeProperty)
Value in failed request:  0xffffffb8
Serial number of failed request:  132
xerror_handler: X failed, continuing
Installing breakpad exception handler for appid(steam)/version(1468023329)
assert_20160714135230_1.dmp[1528]: Uploading dump (out-of-process)
/tmp/dumps/assert_20160714135230_1.dmp
/home/user/.local/share/Steam/steam.sh: line 713:  1477 Segmentation fault      (core dumped) $STEAM_DEBUGGER "$STEAMROOT/$STEAMEXEPATH" "$@"                                                                
assert_20160714135230_1.dmp[1528]: Finished uploading minidump (out-of-process): success = yes
assert_20160714135230_1.dmp[1528]: response: CrashID=bp-1cba6a06-f4ab-4f26-8467-1f9f52160714
assert_20160714135230_1.dmp[1528]: file ''/tmp/dumps/assert_20160714135230_1.dmp'', upload yes: ''CrashID=bp-1cba6a06-f4ab-4f26-8467-1f9f52160714''
[user@host ~]$

The problem is that not all locales supported by the host system are also supported by X (also see Valve GitHub Issue 1420). A quick fix is to run LC_ALL=C steam.

It really took some time for me to figure this out. The problem is that the console output of the program does not give any hints about the cause of the segmentation fault. Using Google did not help either because most Steam client crash reports out there do not have anything to do with system locale settings. I also tried to get to the root cause of the problem using tools like strace. In the end I just had luck and found Valve GitHub Issue 1420 while browsing through Valves issue list for the Linux Steam client over at GitHub. This issue contained the information I needed to understand and finally run the Linux Steam client on my Arch Linux system. My Steam client currently contains the following versioning information:

  • Built: Jul 8 2016, at 21:44:35
  • Steam package versions: 1468023329

Now I have to get back to kick some zombie ass :-) Dead Island: Definitvie Edition has been release on Linux a few weeks ago…

A note about Netcup (advertisement)

Netcup is a German hosting company. Netcup offers inexpensive, yet powerfull web hosting packages, KVM-based root servers or dedicated servers for example. Using a coupon code from my Netcup coupon code web app you can even save more money (6$ on your first purchase, 30% off any KVM-based root server, ...).