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!
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
- New Steam Controller 2 and VR controller designs got leaked
- Huge new Proton 9.0-4 update for Steam Deck / Linux now in need of testing
- Mesa 24.3.0 graphics drivers for Linux released with many new features and bug fixes
- Steam Deck OLED wins Best Gaming Hardware in the Golden Joystick Awards 2024
- The latest from Prime Gaming - November 22 edition - lots for Steam Deck / Linux
- > See more over 30 days here
-
LIGHT OF MOTIRAM takes Horizon Zero Dawn and turns it i…
- Ehvis -
The new Nexus Mods open source cross-platform app adds …
- amatai -
LIGHT OF MOTIRAM takes Horizon Zero Dawn and turns it i…
- Eri -
Mesa 24.2.8 released for Linux with bug fixes, last upd…
- d3Xt3r -
We're getting a Palworld x Terraria crossover, major Pa…
- ElectricPrism - > See more comments
- Adjusted our game pages search bar
- Liam Dawe - Astral Ascent - is it really like Dead Cells?
- CatKiller - The Nightdive Source Port List
- Shmerl - New Desktop Screenshot Thread
- Hamish - Spare gog keys
- Pyrate - See more posts
View PC info
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!
Never had an issue since then and no STEAM_RUNTIME_PREFER_HOST_LIBRARIES tricks were needed.
View PC info
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
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.
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" ;)
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!
View PC info
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!