Bug 1032151 - steamruntime-fix breaks feral games
Summary: steamruntime-fix breaks feral games
Status: RESOLVED WONTFIX
Alias: None
Product: openSUSE Distribution
Classification: openSUSE
Component: Commercial (show other bugs)
Version: Leap 42.3
Hardware: x86-64 openSUSE 42.2
: P5 - None : Normal with 1 vote (vote)
Target Milestone: ---
Assignee: Vítězslav Čížek
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-04-03 15:53 UTC by Linus Kardell
Modified: 2019-07-11 11:09 UTC (History)
10 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---
vcizek: needinfo? (linus.kardell)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Linus Kardell 2017-04-03 15:53:28 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.
Comment 1 Dirk Stoecker 2017-04-27 07:42:48 UTC
Reassign to proper maintainer.
Comment 2 Ferdinand Thiessen 2017-04-27 10:38:10 UTC
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
Comment 3 Ferdinand Thiessen 2017-04-27 13:04:33 UTC
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
Comment 4 Matthias Mailänder 2017-04-29 06:12:07 UTC
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.
Comment 5 Jimmy Berry 2017-05-17 03:25:09 UTC
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.
Comment 6 Linus Kardell 2017-05-17 06:31:00 UTC
(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.
Comment 7 Jimmy Berry 2017-05-17 15:20:22 UTC
(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.
Comment 8 Jimmy Berry 2017-05-19 00:41:52 UTC
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.
Comment 9 Jimmy Berry 2017-05-19 02:25:54 UTC
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.
Comment 10 Jimmy Berry 2017-05-19 02:38:17 UTC
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.
Comment 11 Linus Kardell 2017-05-19 06:10:17 UTC
Merely detecting the presence of the Nvidia driver wouldn't be enough on Optimus systems though.
Comment 12 Michael Zapf 2017-05-21 18:04:37 UTC
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
Comment 13 Marcus Meissner 2017-05-23 09:44:05 UTC
the libcurl.so.4 might also need to go to be able to use our libcrypto.so.1
Comment 14 Born 2017-05-26 22:54:00 UTC
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>
Comment 15 Jimmy Berry 2017-05-27 11:22:06 UTC
(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.
Comment 16 Born 2017-06-02 21:34:31 UTC
(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
Comment 17 Jon Brightwell 2017-11-08 10:45:17 UTC
FYI upstream. They've got fixes, they're just not deployed yet.
https://github.com/FeralInteractive/ferallinuxscripts/issues/2
Comment 18 Vítězslav Čížek 2018-04-05 12:42:09 UTC
Does this still happen?
Comment 19 Michael Zapf 2018-04-05 20:35:21 UTC
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.
Comment 20 Tomáš Chvátal 2019-07-11 11:09:20 UTC
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