v0.6 - "You're a Wizard, Harry"
Linux Steam Integration (LSI) 0.6
This is a rather large release for LSI, focusing on improving compatibility
and security for gamers.
This release also features a new LD_PRELOAD
based liblsi-redirect.so
to help
with some bugs in ARK: Survival Evolved
and Project Highrise
. Read down for
more details!
New UI
liblsi-intercept.so
- Transmute vendored SDL libraries to host names
- Prevent games from using vendored libcurl
- Rewrite XNA/Mono
dlopen()
requests to use host libraries where possible - Prevent games from using vendored
openssl
libraries - Whitelist swiftshader
libGLESv2.so
- Prevent games from replacing the rest of
mesa
libs - Prevent games from using some common vendored GLU/GLEW libraries
- Redirect broken
/Plugins/x86/
dlopen()
requests to the proper directory (/Plugins/x86_64/
) - Whitelist
libx264
vendoring in the Steam client - Add new system to allow redirecting LibreSSL linking to a host library, which can be the native
libSSL or an alternatively named library (i.e Solus haslibssl-libressl.so
). This will help to
improve security for certain ports, along with the existing SSL/libcurl intercepts. - Fix preload failures for Mono games attempting to load
.dll.so
files when the.dll
path is the
correct one (Helps with "black screen of nope" issues)
liblsi-redirect.so:
- Introduced this
LD_PRELOAD
based module to fix games on the fly - Override
open()
system call to fix "ARK: Survival Evolved" using broken shader assets (requiresTheCenter
DLC) - Override
fopen64()
system call to fix "Project Highrise" attempting to use a preference directory as a file and then crashing - Introduced profile system to allow explicit + safe matching of games, with a view to extending this in future.
common:
- Lots of cleanups
- Much nicer logging system (
LSI_DEBUG=1 steam
) - Introduced a
VDF
(Valve Data Format) file parser to support multiple Steam installation directories. - Shared much of the code-base between the various modules.
lsi-settings changes:
- Completely revamped the UI
- Dynamically updates state based on selections
- Writes settings when closing the window, no need for extra buttons
- Uses CSD under supported desktop environments (dynamically)
- Community translations, thank you community!
Raw changelog commits.