Document the new sexies

Signed-off-by: Ikey Doherty <ikey@solus-project.com>
This commit is contained in:
Ikey Doherty
2017-12-19 12:45:14 +00:00
parent f12643039a
commit 368e6ca7c7
2 changed files with 64 additions and 14 deletions
+56 -14
View File
@@ -15,13 +15,55 @@ reasons:
- Compatibility
- Performance
Additionally we apply dynamic workarounds to fix some filesystem path related bugs in Linux
ports (or even shader workarounds for ARK*) through our redirect module.
This project, and by extension Solus, is not officially endorsed by, or affiliated with, Steam, or its parent company, Valve*.
Linux Steam Integration is a [Solus project](https://solus-project.com/)
![logo](https://build.solus-project.com/logo.png)
### Linking compatibility
With LSI, you don't need to worry any more about manually mangling your Steam installation
just to make the open source drivers work, or manually creating links and installing
unsupported libraries. LSI is designed to take care of all of this for you.
Many library names are redirected through the main "intercept" module, which ensures
games will (where appropriate) use the updated system libraries. Additionally the
module can override how games and the Steam client are allowed to make use of
vendored libraries. This will help with many launch failures involving outdated
libraries, or indeed the infamous `libstdc++.so.6` vendoring which breaks open
source graphics drivers on systems compiled with the new GCC C++ ABI.
### Apply path based hotfixes to games
The redirect module contains some profiles to allow us to dynamically fix some
issues that would otherwise require new builds of the games to see those issues
resolved.
- Project Highrise: Ensure we don't `mmap` a directory as a file (fixes invalid prefs path)
- ARK Survival Evolved: Use the correct shader asset from TheCenter DLC to fix broken water surfaces.
### Unity3D Black Screen Of Nope
Older builds of Unity3D had (long since fixed) issues with launching to a black
screen when defaulting to full screen mode. This is commonly addressed by launching the
games with `-screen-fullscreen 0`, and is due to an invalid internal condition clamping
the renderer size to 0x0 after setting the fullscreen (borderless) window size.
Note - updating these games to newer versions of Unity will fix this bug on Linux, however
LSI currently ships a workaround. This workaround will abstract access to the configuration
file in `$XDG_CONFIG_HOME/.config/unity3d/*/prefs` through the Linux `/dev/shm` system,
and will provide initial game configuration whilst also masking the harmful fullscreen
setting.
Net result - all Unity3D games using this pref path (the older generation) will start
in windowed mode always. They can be fullscreened from inside the game, and this will
help with making sure games **actually launch**.
### Notes
Note that LSI will not modify your Steam installation, and instead makes use of two
modules, `liblsi-redirect.so` and `liblsi-intercept.so`, to dynamically apply all of the
workarounds at runtime, which in turn is set up by the main LSI `shim` binary.
@@ -29,14 +71,21 @@ workarounds at runtime, which in turn is set up by the main LSI `shim` binary.
For a more in depth view of what LSI is, and how to integrate it into your distribution,
please check the [technical README document](https://github.com/solus-project/linux-steam-integration/blob/master/TECHNICAL.md).
Do note that we intend to remove the need for distributions to integrate LSI in the near future, by providing
Be advised that we intend to remove the need for distributions to integrate LSI in the near future, by providing
the LSI system as a [snap](https://snapcraft.io/) package for all supported distributions.
This project, and by extension Solus, is not officially endorsed by, or affiliated with, Steam, or its parent company, Valve*.
## Getting LSI
Linux Steam Integration is a [Solus project](https://solus-project.com/)
LSI may not yet be available for your distribution, however some community maintained repositories do exist.
![logo](https://build.solus-project.com/logo.png)
- [Arch Linux](https://aur.archlinux.org/packages/linux-steam-integration/)
- [Fedora](https://copr.fedorainfracloud.org/coprs/alunux/linux-steam-integration/)
- Solus uses LSI by default, just install the `steam` package.
To install the experimental snaps (`snapd` >= 2.29.4):
sudo snap install --edge solus-runtime-gaming
sudo snap install --devmode --edge solus-runtime-gaming
## Snap Support
@@ -48,16 +97,9 @@ Items left to implement:
- [x] Make `shim` support `$SNAP` style environmental variables for local Steam
- [x] Add support to LSI + `snapd` for NVIDIA+Vulkan
- [ ] Verify "normal" games work again
- [ ] Publish snaps
- [x] Publish snaps (edge)
## Getting LSI
LSI may not yet be available for your distribution, however some community maintained repositories do exist.
- [Arch Linux](https://aur.archlinux.org/packages/linux-steam-integration/)
- [Fedora](https://copr.fedorainfracloud.org/coprs/alunux/linux-steam-integration/)
- Solus uses LSI by default, just install the `steam` package.
## License
Copyright © 2016-2017 Ikey Doherty
+8
View File
@@ -226,6 +226,14 @@ Currently this INI file supports three options. The root section in this INI fil
The default value of this variable is `true`.
`use-unity-hack = $boolean`
If set to a true boolean value (yes/true/on), the `liblsi-redirect.so`
library will apply a preference workaround to Unity3D based games and
abstract access to their configuration files. This is used to force
Unity3D games to always start in windowed mode, and to ensure that
they're unable to make use of the stored fullscreen setting.
## Common issues