Bugzilla – Bug 1032151
steamruntime-fix breaks feral games
Last modified: 2019-07-11 11:09:20 UTC
Feral's games fails to launch from Steam (I've tested Mad Max and Shadow of Mordor). "steam --reset" fixes it, but if I restart steam it breaks again. However if I comment out steamruntime-fix in /usr/bin/steam it works properly.
Reassign to proper maintainer.
I can confirm this, I think it expects openssl to be build with engine support (openssl-steam is compiled without). Log: > >>> Adding process 20107 for game ID 241930 > ShadowOfMordor: crash reporter initialised with path "/home/ferdinand/.local/share/feral-interactive/ShadowOfMordor/crashes" > /mnt/data/Steam/steamapps/common/ShadowOfMordor/bin/ShadowOfMordor: relocation error: /mnt/data/Steam/steamapps/common/ShadowOfMordor/bin/../lib/x86_64/libcurl.so.4: symbol ENGINE_load_builtin_engines, version OPENSSL_1.0.0 not defined in file libcrypto.so.1.0.0 with link time reference > Game removed: AppID 241930 "Middle-earth: Shadow of Mordor", ProcID 20089
Looks like the guys from Arch also ran into this and contacted Feral (who are aware of this issue): https://bugs.archlinux.org/task/53618#comment157124
https://bugzilla.opensuse.org/show_bug.cgi?id=988273#c23 mentions openssl-steam was purposely not built with engine support. I am not the expert on this.
Is there a consistent method for detecting the nvidia binary driver is active (perhaps just installed)? I have not investigated, but I would assume so. To be clear I do not have an nvidia machine to test on, but adding a condition for the the time being would probably suffice.
(In reply to Jimmy Berry from comment #5) > Is there a consistent method for detecting the nvidia binary driver is > active (perhaps just installed)? I have not investigated, but I would assume > so. To be clear I do not have an nvidia machine to test on, but adding a > condition for the the time being would probably suffice. lsmod | grep nvidia perhaps. Although I don't see the relevance.
(In reply to Linus Kardell from comment #6) > (In reply to Jimmy Berry from comment #5) > > Is there a consistent method for detecting the nvidia binary driver is > > active (perhaps just installed)? I have not investigated, but I would assume > > so. To be clear I do not have an nvidia machine to test on, but adding a > > condition for the the time being would probably suffice. > > lsmod | grep nvidia perhaps. Although I don't see the relevance. It looks like I confused this for another steam/openssl issue that was related to the nvidia binary driver. Can someone confirm that this feral games case occurs on a Mesa gallium based driver? Otherwise, we may be able to kill two birds with one stone.
In case it helps, openssl fix is disabled when nvidia binary driver detect in https://github.com/steamtricks/steamtricks/commit/5b9bba38db1b005a772cf34d21ee32b07efbf0f4 which is included in 0.3.0 release that has been submitted to Factory.
I believe I figured out a proper fix for this in https://github.com/steamtricks/steamtricks-data/issues/1. I resolved the issue for Tomb Raider, but do not have Mad Max to test against. Please verify it works by trying out the latest packages in https://build.opensuse.org/project/show/home:boombatower:steamtricks.
The fix allows Steam to run against patched openssl while the game to run against the system ones. If necessary I could have it keep the old steam-runtime versions around and run against those. If those with lots of feral games could give me a list of appids or an automated method for determining a feral game then I can set the fix to be applied to all such games.
Merely detecting the presence of the Nvidia driver wouldn't be enough on Optimus systems though.
It looks as if I have the same issue with Steam/Tomb Raider/Alien:Isolation. Since I installed Tumbleweed, both stopped running with an error message like /local/games/Steam/SteamApps/common/Tomb Raider/bin/TombRaider: relocation error: /local/games/Steam/SteamApps/common/Tomb Raider/bin/../lib/i686/libcurl.so.4: symbol ENGINE_load_builtin_engines, version OPENSSL_1.0.0 not defined in file libcrypto.so.1.0.0 with link time reference (Alien:Isolation similar with x86_64) Now I decided to have a closer look and removed the files /usr/lib/steam/lib[64]/libcrypto.so, and both are running now. I'm using a Radeon RX480 (amdgpu) Still not working: Portal2, exits with Segfault. Michael
the libcurl.so.4 might also need to go to be able to use our libcrypto.so.1
I have 2 feral games which also don't get fixed by the steamruntime-fix. I'm running Tumbleweed 20170522 and use amdgpu/MESA 17.1 on an AMD rx480 card. Any hint how to get the games working? michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Tomb Raider/bin> ldd ./TombRaider | grep 'not found' ./TombRaider: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /home/michael/.local/share/Steam/steamapps/common/Tomb Raider/bin/./../lib/i686/libcurl.so.4) michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Tomb Raider/bin> michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Deus Ex Mankind Divided/bin> ldd ./DeusExMD | grep 'not found' ./DeusExMD: /usr/lib64/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /home/michael/.local/share/Steam/steamapps/common/Deus Ex Mankind Divided/bin/./../lib/x86_64/libcurl.so.4) michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Deus Ex Mankind Divided/bin>
(In reply to Michael Born from comment #14) > I have 2 feral games which also don't get fixed by the steamruntime-fix. > I'm running Tumbleweed 20170522 and use amdgpu/MESA 17.1 on an AMD rx480 > card. > Any hint how to get the games working? > > michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Tomb Raider/bin> > ldd ./TombRaider | grep 'not found' > ./TombRaider: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found > (required by /home/michael/.local/share/Steam/steamapps/common/Tomb > Raider/bin/./../lib/i686/libcurl.so.4) > michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Tomb Raider/bin> > > michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Deus Ex Mankind > Divided/bin> ldd ./DeusExMD | grep 'not found' > ./DeusExMD: /usr/lib64/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found > (required by /home/michael/.local/share/Steam/steamapps/common/Deus Ex > Mankind Divided/bin/./../lib/x86_64/libcurl.so.4) > michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Deus Ex Mankind > Divided/bin> steamruntime-fix no longer exists in Tumblweed, but has been replaced by steamtricks. 1) `zypper info steamtricks | grep Version` # hopefully running 3.0.0 2) steamtricks apply 203160 If you already had both steamtricks and Tomb Raider installed the new fix will not be applied since it is currently only triggered manually or with game updates/validations. See https://github.com/steamtricks/steamtricks/issues/36 for determining when new fixes are available and applying during startup to already installed applications. Anyway, #2 should apply the fix to Tomb Raider. There are several approaches to fixing this, but a rather simple one is currently implemented. See https://github.com/steamtricks/steamtricks-data/issues/1 for discussion of the problem. Otherwise, Marcus Meissner's suggestion may need to be investigated.
(In reply to Jimmy Berry from comment #15) > (In reply to Michael Born from comment #14) > > I have 2 feral games which also don't get fixed by the steamruntime-fix. > > I'm running Tumbleweed 20170522 and use amdgpu/MESA 17.1 on an AMD rx480 > > card. > > Any hint how to get the games working? > > > > michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Tomb Raider/bin> > > ldd ./TombRaider | grep 'not found' > > ./TombRaider: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found > > (required by /home/michael/.local/share/Steam/steamapps/common/Tomb > > Raider/bin/./../lib/i686/libcurl.so.4) > > michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Tomb Raider/bin> > > > > michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Deus Ex Mankind > > Divided/bin> ldd ./DeusExMD | grep 'not found' > > ./DeusExMD: /usr/lib64/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found > > (required by /home/michael/.local/share/Steam/steamapps/common/Deus Ex > > Mankind Divided/bin/./../lib/x86_64/libcurl.so.4) > > michael@linux-lj8d:~/.local/share/Steam/steamapps/common/Deus Ex Mankind > > Divided/bin> > > steamruntime-fix no longer exists in Tumblweed, but has been replaced by > steamtricks. > > 1) `zypper info steamtricks | grep Version` # hopefully running 3.0.0 > 2) steamtricks apply 203160 > > If you already had both steamtricks and Tomb Raider installed the new fix > will not be applied since it is currently only triggered manually or with > game updates/validations. See > https://github.com/steamtricks/steamtricks/issues/36 for determining when > new fixes are available and applying during startup to already installed > applications. > > Anyway, #2 should apply the fix to Tomb Raider. There are several approaches > to fixing this, but a rather simple one is currently implemented. See > https://github.com/steamtricks/steamtricks-data/issues/1 for discussion of > the problem. > > Otherwise, Marcus Meissner's suggestion may need to be investigated. Not sure I understand. zypper info steamtricks | grep Version Version : 0.3.0-1.1 I still use the same TW snapshot as in comment 14, but unfortunately I updated steam today. That changed what I need to do to get Deus Ex and Tomb Raider started. Before the steam update: 1. LD_PRELOAD='/usr/$LIB/libstdc++.so.6' NO_STEAMTRICKS=1 steam --reset 2. NO_STEAMTRICKS=1 STEAM_RUNTIME=0 steam Have to login/connect to my account. -> Could not connect to Steam network 3. LD_PRELOAD='/usr/$LIB/libstdc++.so.6' NO_STEAMTRICKS=1 steam Then I could start Deus Ex by clicking in the steam gui. Today I needed to use the additional: STEAM_RUNTIME_PREFER_HOST_LIBRARIES=0 to get the games starting. Otherwise, they were complaining about the: /home/michael/.local/share/Steam/steamapps/common/Tomb Raider/bin/TombRaider: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /home/michael/.local/share/Steam/steamapps/common/Tomb Raider/bin/../lib/i686/libcurl.so.4) I found this hint here: https://github.com/ValveSoftware/steam-for-linux/issues/5000
FYI upstream. They've got fixes, they're just not deployed yet. https://github.com/FeralInteractive/ferallinuxscripts/issues/2
Does this still happen?
For me, Alien:Isolation is now working. Tomb Raider still fails: GameAction [AppID 203160, ActionID 2] : LaunchApp changed task to SynchronizingCloud with "" GameAction [AppID 203160, ActionID 2] : LaunchApp changed task to SiteLicenseSeatCheckout with "" GameAction [AppID 203160, ActionID 2] : LaunchApp changed task to CreatingProcess with "" GameAction [AppID 203160, ActionID 2] : LaunchApp waiting for user response to CreatingProcess "" GameAction[AppID 203160, ActionID 2] : LaunchApp continues with user response "CreatingProcess" Opted-in Controller Mask: 0 Game update: AppID 203160 "Tomb Raider", ProcID 26820, IP 0.0.0.0:0 >>> Adding process 26820 for game ID 203160 GameAction [AppID 203160, ActionID 2] : LaunchApp changed task to WaitingGameWindow with "" ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. pid 26831 != 26827, skipping destruction (fork without exec?) pid 26832 != 26827, skipping destruction (fork without exec?) pid 26833 != 26827, skipping destruction (fork without exec?) GameAction [AppID 203160, ActionID 2] : LaunchApp changed task to Completed with "" ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. pid 26834 != 26827, skipping destruction (fork without exec?) ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. >>> Adding process 26827 for game ID 203160 pid 26838 != 26827, skipping destruction (fork without exec?) ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. pid 26845 != 26840, skipping destruction (fork without exec?) ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. >>> Adding process 26836 for game ID 203160 >>> Adding process 26835 for game ID 203160 pid 26844 != 26840, skipping destruction (fork without exec?) pid 26839 != 26827, skipping destruction (fork without exec?) ERROR: ld.so: object '/home/michael/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored. /local/games/SteamLibrary/SteamApps/common/Tomb Raider/bin/TombRaider: /usr/lib/libldap_r-2.4.so.2: no version information available (required by /local/games/SteamLibrary/SteamApps/common/Tomb Raider/bin/../lib/i686/libcurl.so.4) /local/games/SteamLibrary/SteamApps/common/Tomb Raider/bin/TombRaider: /usr/lib/liblber-2.4.so.2: no version information available (required by /local/games/SteamLibrary/SteamApps/common/Tomb Raider/bin/../lib/i686/libcurl.so.4) /local/games/SteamLibrary/SteamApps/common/Tomb Raider/bin/TombRaider: /usr/lib/libssl.so.1.0.0: version `OPENSSL_1.0.1' not found (required by /local/games/SteamLibrary/SteamApps/common/Tomb Raider/bin/../lib/i686/libcurl.so.4) /local/games/SteamLibrary/SteamApps/common/Tomb Raider/bin/TombRaider: /home/michael/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbus-1.so.3: no version information available (required by /usr/lib/libdbus-glib-1.so.2) /local/games/SteamLibrary/SteamApps/common/Tomb Raider/bin/TombRaider: /home/michael/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbus-1.so.3: no version information available (required by /usr/lib/libavahi-client.so.3) >>> Adding process 26837 for game ID 203160 >>> Adding process 26840 for game ID 203160 >>> Adding process 26841 for game ID 203160 >>> Adding process 26842 for game ID 203160 Game removed: AppID 203160 "Tomb Raider", ProcID 26820 >>> Adding process 26843 for game ID 203160 >>> Adding process 26846 for game ID 203160 No cached sticky mapping in ActivateActionSet.
This is automated batch bugzilla cleanup. The openSUSE 42.3 changed to end-of-life (EOL [1]) status. As such it is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of openSUSE (At this moment openSUSE Leap 15.1, 15.0 and Tumbleweed) please feel free to reopen this bug against that version (!you must update the "Version" component in the bug fields, do not just reopen please), or alternatively create a new ticket. Thank you for reporting this bug and we are sorry it could not be fixed during the lifetime of the release. [1] https://en.opensuse.org/Lifetime