FS#49235 - [steam] Work around runtime issues

Attached to Project: Community Packages
Opened by Max (silverhammermba) - Friday, 06 May 2016, 16:52 GMT
Last edited by Levente Polyak (anthraxx) - Wednesday, 12 October 2016, 21:15 GMT
Task Type Feature Request
Category Packages
Status Closed
Assigned To Levente Polyak (anthraxx)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

The Steam runtime has known conflicts with Arch Linux packages that prevents Steam from starting. Specific conflicts are gcc-libs, libxcb, and libgpg-error. The current wisdom on the wiki is to force Steam to use Arch's libraries by either setting LD_PRELOAD or deleting the Steam runtime versions.

Seeing as this problem probably affects most Arch systems, and Valve has expressed no interesting in changing their runtime despite years of bug reports, I think this would be a fitting use of an Arch-specific patch.

It could be as simple as defining LD_PRELOAD in the /usr/bin/steam script, or perhaps something more sophisticated is needed.

Runtime issues on the wiki: https://wiki.archlinux.org/index.php/Steam/Troubleshooting#Work_arounds
Bug reports to Valve:
https://github.com/ValveSoftware/steam-runtime/issues/13
https://github.com/ValveSoftware/steam-for-linux/issues/3273
This task depends upon

Closed by  Levente Polyak (anthraxx)
Wednesday, 12 October 2016, 21:15 GMT
Reason for closing:  Fixed
Additional comments about closing:  use steam-native-runtime and the steam-native startup script
Comment by Felipe Contreras (felipec) - Friday, 20 May 2016, 15:36 GMT
Older versions of packages could be packaged, couldn't they?
Comment by Max (silverhammermba) - Sunday, 22 May 2016, 20:02 GMT
I'm not sure what you mean. The intention of the steam runtime is to ship compatible libs for Steam games, so we shouldn't ignore it willy-nilly. But these specific package conflicts can completely prevent steam from starting.
Comment by Felipe Contreras (felipec) - Monday, 23 May 2016, 02:21 GMT
We wouldn't be ignoring it, I am not proposing to use LD_PRELOAD, that would be ignoring it. The problem comes when a lib32 package inside the Steam runtime doesn't have a corresponding 64-bit library. If Arch Linux packaged the old version, there wouldn't be any need for workarounds like modifying Steam's runtime, or LD_PRELOAD.
Comment by Max (silverhammermba) - Saturday, 09 July 2016, 19:45 GMT
I can confirm that simply adding

export LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /usr/$LIB/libgpg-error.so'

at the top of the /usr/bin/steam script fixes the issue for me. Is this an acceptable fix? I suppose this might break certain Steam games that rely on older versions of the libraries from the runtime, but without this workaround Steam won't even start on two of my Arch systems, so it seems like a moot point.

Loading...