mirror of
https://github.com/clearlinux/linux-steam-integration.git
synced 2026-08-28 13:25:49 +00:00
feae99a359
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>