Fedora 26 + Steam (updated August 28) Many Games Don't Start - Solution
rstrube Aug 31, 2017
Hi Everyone,

My Steam client (running on Fedora 26 from RPM fusion) updated today to the August 28th version. This installed a new steam runtime which appears to causing problems with many games (Shadows of Mordor, Mad Max, etc.)

For example when I try to run Mad Max I get the following relevant errors when steam is started from the terminal:

Game update: AppID 234140 "Mad Max", ProcID 32705, IP 0.0.0.0:0
Loaded Config for Local Override Path for App ID 234140: /home/robert/.local/share/Steam//controller_base/empty.vdf
[234140]Non-Steam Controller Configs Enabled: 1
>>> Adding process 32705 for game ID 234140
GameAction [AppID 234140, ActionID 2] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/robert/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/robert/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 32707 != 32706, skipping destruction (fork without exec?)
pid 32708 != 32706, skipping destruction (fork without exec?)
pid 32709 != 32706, skipping destruction (fork without exec?)
pid 32710 != 32706, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/robert/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
/home/robert/Games/Steam_Library/steamapps/common/Mad Max/bin/MadMax: /lib64/libldap_r-2.4.so.2: no version information available (required by /home/robert/Games/Steam_Library/steamapps/common/Mad Max/bin/../lib/x86_64/libcurl.so.4)
/home/robert/Games/Steam_Library/steamapps/common/Mad Max/bin/MadMax: /lib64/liblber-2.4.so.2: no version information available (required by /home/robert/Games/Steam_Library/steamapps/common/Mad Max/bin/../lib/x86_64/libcurl.so.4)
MadMax: crash reporter initialised with path "/home/robert/.local/share/feral-interactive/Mad Max/crashes"
GameAction [AppID 234140, ActionID 2] : LaunchApp changed task to Completed with ""
>>> Adding process 32706 for game ID 234140
>>> Adding process 32714 for game ID 234140
dbus[32714]: arguments to dbus_type_is_basic() were incorrect, assertion "dbus_type_is_valid (typecode) || typecode == DBUS_TYPE_INVALID" failed in file ../../dbus/dbus-signature.c line 323.
This is normally a bug in some application using the D-Bus library.

  D-Bus not built with -rdynamic so unable to print a backtrace
process 32520: arguments to dbus_connection_ref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2656.
This is normally a bug in some application using the D-Bus library.
process 32520: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794.
This is normally a bug in some application using the D-Bus library.
process 32520: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794.
This is normally a bug in some application using the D-Bus library.
process 32520: arguments to dbus_connection_ref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2656.
This is normally a bug in some application using the D-Bus library.
process 32520: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794.
This is normally a bug in some application using the D-Bus library.
process 32520: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794.
This is normally a bug in some application using the D-Bus library.
process 32520: arguments to dbus_connection_unref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file ../../dbus/dbus-connection.c line 2794.
This is normally a bug in some application using the D-Bus library.
MadMax: dumped to "/home/robert/.local/share/feral-interactive/Mad Max/crashes/3a8b3297-a54a-115c-35e52650-704b0ff2.dmp"
MadMax: crash reporter "/home/robert/Games/Steam_Library/steamapps/common/Mad Max/bin/feral_linux_crash_reporter" launching
Game crashed, if possible email [[email protected]] with the crash file [/home/robert/.local/share/feral-interactive/Mad Max/crashes/3a8b3297-a54a-115c-35e52650-704b0ff2.dmp] and details


My solution was to run steam from the terminal with the following environment variable set:

STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0

The full command to run in steam the background and eliminate any output is:

STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 steam > /dev/null 2>&1 &

I hope this helps somebody else that was as frustrated as me!

Edit: anybody have any insight into why this solves my problem? The previous version of the Steam client from July 10 worked fine.


Edit2: Somebody in www.reddit.com/r/fedora clarified what's going on:

Steam provides its own copies of some system runtime libraries. In the latest update, they switched to trying to use more of the system libraries by default. Some games also include their own bundled copies of libraries, and they depend on specific versions of other libraries. Steam was trying to resolve those library dependencies using the system copy, but they were either unversioned or not the version it was looking for.

Setting that environment variable tells steam to use all its bundled libraries first, which is why they bundle them in the first place (because they can't be sure of compatibility to the system libs).

I think I have a better understanding now. The game's libcurl.so.4 (shared object library) has an ABI incompatibility with my local host operating system's /lib64/libldap_r-2.4.so.2 and /lib64/liblber-2.4.so.2. By setting the STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0, I can force steam to always use it's local runtime instead of my OS's libraries.


EDIT: New Solution and Better Explanation
So after doing some more research and reading some of the posts here, I believe there is a better solution. The issue actually appears to be with libdbus. After the Aug.28 update, the new steam runtime tries to use more of your local distros copies of libraries, and some games (e.g. feral games) appear not to start anymore.

By using STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0, you're telling Steam to only use the libraries in it's runtime, which is quite old. A better approach is to pin only the libraries that you're actually having problems with, this way you use the newer libraries from your distro when you can, but the few problematic libraries will come from the older steam runtime.

In the case of the Feral titles, libdbus seemed to be casing the problem.

Reading some issue reports on the steam-for-linux github page, people were suggesting to pin libdbus so that steam will always use that specific version. In this case we'll pin the libdbus from the steam runtime.

To pin the 32 bit version do this (note that this was already in place for me):

ln -s ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3 ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbus-1.so.3

To pin the 64 bit version do this (note this was NOT in place for me and solved my problem):

ln -s ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3 ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64/libdbus-1.so.3

This will create symbolic links from the both the 32 bit and 64 bit libdbus-1.so.3 from your steam runtime into the appropriate pinned_libs_xx folders. This ensures that when starting up Steam will always use these versions of libdbus. After doing this you no longer need to use STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0.

I hope this helps!
jens Sep 2, 2017
  • Supporter
I'm on Fedora too. I have left rpmfusion a long time ago and switched to the repositories provided by https://negativo17.org/repositories/

Never had an issue since then and no STEAM_RUNTIME_PREFER_HOST_LIBRARIES tricks were needed.
rstrube Sep 3, 2017
Quoting: jensI'm on Fedora too. I have left rpmfusion a long time ago and switched to the repositories provided by https://negativo17.org/repositories/

Never had an issue since then and no STEAM_RUNTIME_PREFER_HOST_LIBRARIES tricks were needed.

Interesting... I was under the impression that negativo's steam was virtually identical to the packaged version from RPM fusion. I'll have to try negativo's and see if the work arounds that I mentioned are still necessary.

Do you happen to have any Feral interactive games? (Shadows of Mordor, Mad Max, Dirt Rally, Deux Ex, etc.). If so, could you double check that your steam client is the Aug.28 version and try to start them. The problems I mentioned didn't affect all my games, just certain titles and only after the steam runtime was updated.

Thanks!

Rob
jens Sep 3, 2017
  • Supporter
Quoting: rstrubeDo you happen to have any Feral interactive games? (Shadows of Mordor, Mad Max, Dirt Rally, Deux Ex, etc.). If so, could you double check that your steam client is the Aug.28 version and try to start them. The problems I mentioned didn't affect all my games, just certain titles and only after the steam runtime was updated.

Yep, all good here. I did a quick test (starting a game and entering an actual playable part) with Hitman, Deus Ex, Dirt Rally, Tomb Raider and Life is Strange. Only small issue I had was the (known) alt+tab startup thingie in Life Is Strange.

I have a fully updated Fedora 26 with no rpm fusion packages at all, but lots of stuff from negativo17, like Steam, nvidia drivers, ffmpeg, mpv etc.
Steam client says
Built: Aug 28 2017, at 11:55:28, Steam API: v017, Steam package versions: 1503954609.
jens Sep 3, 2017
  • Supporter
Quoting: GuestNo problems with Debian testing Xfce. Everything has updated many years including the steam client. No matter if you are using a custom ~agd5f/linux/log/?h=drm-next-4.14-wip kernel and Oibaf ppa Mesa or a custom kernel from kernel.org and the latest nv driver from nvidia site, our rx460 and 750ti computers works fine.

Nasa realized what is the best os years ago.
http://www.computerweekly.com/blog/Open-Source-Insider/International-Space-Station-adopts-Debian-Linux-drops-Windows-Red-Hat-into-airlock

Thanks for the interesting link. Though please don't turn this thread from a specific Fedora question into "Which is the best Linux distribution for space exploration" ;)
jens Sep 4, 2017
  • Supporter
Quoting: GuestThe forum subtopic name is Native Linux Gaming. Debian testing is more native than fedora in the chronological order. World would be better without unstable and buggy operating systems and software what redhat does: gnome3, systemd, pulseaudio and networkmanager are unstable.

I'm happy for you that you found Debian-Xfce that apparently fits your need and ideology. All the best and I wish you a happy life!
rstrube Sep 12, 2017
Quoting: Guest
Quoting: jensThanks for the interesting link. Though please don't turn this thread from a specific Fedora question into "Which is the best Linux distribution for space exploration"

The forum subtopic name is Native Linux Gaming. Debian testing is more native than fedora in the chronological order. World would be better without unstable and buggy operating systems and software what redhat does: gnome3, systemd, pulseaudio and networkmanager are unstable.


I'm actually really enjoying Fedora! This was the first problem I encountered while gaming on Fedora and I thought I would offer some assistance for others that are facing similar issues. I would agree with jens that your comment seems out of place considering the the thread clearly is related to Fedora. I'm going to give his suggestion a try and switch over to the negativo repos for Steam in the future and see if I have better luck.

As a side note it appears that many others on different distributions are encountering similar problems. You can view this article here: https://www.gamingonlinux.com/articles/a-bunch-of-feral-interactive-linux-ports-may-be-broken-on-arch-and-others-heres-a-possible-workaround.10324, so problems with Steam and library updates aren't unique just to Fedora.

Finally (admittedly unrelated to my original post) I find it really interesting that you list gnome as software to avoid. It wasn't until I tried gnome that I finally decided to completely ditch Windows and make Linux my primary OS. I started with Ubuntu Gnome, and then ultimately transitioned to Fedora. Don't be so hard on Linux distributions that help people make the transition away from Windows. We can't all be die-hards that use minimal desktop environments. In addition, Redhat (and Canonical) are doing some great work that in the end benefits everyone!
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.