The latest steam beta now includes `libpangocairo-1.0.so.0` as a private
library. Currently an issue arises where it loads this file from the
distribution, but is incompatible with the privately loaded libpango due to
the lack of `pango_renderer_get_alpha` symbol.
While admittedly there is no case of us using any invalid LsiRedirectOperation,
there exists the future possibility for invalid inserts into the op table
when we encounter an unhandled op type.
Knock it on the head and bail early, as appropriate.
Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
Weird janky escaping is left-over from our time as an
autotools project and should've been fixed long ago as
it was obvious the compiler warnings were legit.
Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
Additionally, add an output report to show at build time what we're
configured to do, ala autotools.
Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
Instead of the potential ugly route of whitelisting (which still might be
needed in future) we'll allow the SDL2 core library to be overriden only
on 32-bit builds of Steam games.
This has the interesting side-effect of enabling Don't Starve to work
correctly, as it ships a custom patched (incompatible ABI) version of
SDL2 to change the mouse event handling.
If it turns out random 32-bit games break by using their own old and
unmodified builds of SDL2, we'll implement whitelisting. For now, this
change should suffice.
Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
Previous copyright assignment was to myself but the range doesn't account
for the project WIPs and lifetime, so retroactively fit them to the right
year range (project duration). Now set ongoing copyright for future and
current changes.
Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
On some distributions, `linux32` command is not readily available in the
default install. However, `setarch` is commonly available as part of the
`util-linux` packaging, so let's invoke `setarch` directly now without
relying on links.
Signed-off-by: Ikey Doherty <ikey.doherty@intel.com>
This is required for some Aspyr ports which will form their own fixed
paths to directories based on getpwuid() as opposed to using the environment
`HOME` variable.
With this we force the home directory to be consistent under snapd and
alleviate any issues with denials based on home directory lookups.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
This will alleviate some weird apparmor confinement denials when trying
to access the wrong directory.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
This is as yet untested, but the basic idea is that when games call out
to `system("pulseaudio --check > /dev/null 2>&1")` we'll put our script
in their way and unconditionally return 0. This is for games using libfmod,
which will die when trying to execute pulseaudio right now.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
This reverts commit c640f2f215.
Turns out this is due to a very weird situation where Arch has their
libudev.so.0 as an incompatible API which all current games expect to
be of libudev.so.1 ABI, and isn't something LSI should be fixing, the
distro should.
Arch Linux uses a funky udev shim package which is incompatible with
our udev workaround, so allow them to disable it and use their shim
instead (as some packages are apparently **built** against the shim.)
For all other distros which are binary-built in ABI lockstep with udev
proper, keep it enabled.
This fixes#46.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>
This should fix our linking issues that appeared once we opted to include
the `fcntl.h` header, which adds `#define`s for the exact symbols that
we are trying to override.
Signed-off-by: Ikey Doherty <ikey@solus-project.com>