Files
linux-steam-integration/src
Ikey Doherty feae99a359 intercept: Teach libintercept to transmute sonames for Feral Interactive games
Internally libintercept has a number of magic tricks to prevent games from
replacing the system SDL libraries with vendored ones. However, during testing
with DiRT Rally, it was discovered that Feral Interactive have altered the
sonames of their libraries and linked to those, ensuring they never match
the system versions.

This however will lead to a mixed SDL2 stack for those disabling the Steam
runtime, and in turn forces older builds of SDL to be used. To combat this,
we intercept soname requests during early linking based on a simple pattern,
and if they don't match the expected target name, we'll rewrite the request
in place to force the linker to look for the real soname.

In combination with the existing lsi_blacklist_vendor function, this ensures
that a game looking for `libSDL2-2.0.5.so` will correctly load the system's
own `libSDL2-2.0.so.0`.

Signed-off-by: Ikey Doherty <ikey@solus-project.com>
2017-10-13 15:30:00 +01:00
..