Skip to content

v0.6 - "You're a Wizard, Harry"

Compare
Choose a tag to compare
@ikeydoherty ikeydoherty released this 07 Nov 18:52
· 89 commits to master since this release

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

lsi_settings

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 has libssl-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 (requires TheCenter 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.