{"id":13807876,"url":"https://github.com/solus-project/linux-steam-integration","last_synced_at":"2025-04-06T20:12:49.973Z","repository":{"id":40499231,"uuid":"59779383","full_name":"solus-project/linux-steam-integration","owner":"solus-project","description":"Helper for enabling better Steam integration on Linux","archived":false,"fork":false,"pushed_at":"2018-10-18T17:45:35.000Z","size":786,"stargazers_count":438,"open_issues_count":38,"forks_count":20,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-03-30T19:06:48.522Z","etag":null,"topics":["distro","game","integration","library","linux-distribution","linux-steam","lsi","native-libraries","needs-more-tags","performance","solus","steam","steam-client","steam-runtime"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solus-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-05-26T19:57:27.000Z","updated_at":"2025-03-21T01:06:56.000Z","dependencies_parsed_at":"2022-09-20T04:51:52.901Z","dependency_job_id":null,"html_url":"https://github.com/solus-project/linux-steam-integration","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solus-project%2Flinux-steam-integration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solus-project%2Flinux-steam-integration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solus-project%2Flinux-steam-integration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solus-project%2Flinux-steam-integration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solus-project","download_url":"https://codeload.github.com/solus-project/linux-steam-integration/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247543593,"owners_count":20955865,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distro","game","integration","library","linux-distribution","linux-steam","lsi","native-libraries","needs-more-tags","performance","solus","steam","steam-client","steam-runtime"],"created_at":"2024-08-04T01:01:31.568Z","updated_at":"2025-04-06T20:12:49.945Z","avatar_url":"https://github.com/solus-project.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"linux-steam-integration\n-----------------------\n\nLinux Steam* Integration is a helper system to make the Steam Client and Steam\ngames run better on Linux. In a nutshell, LSI automatically applies various workarounds\nto get games working, and fixes long standing bugs in both games and the client.\n\n![screenshot](https://raw.githubusercontent.com/solus-project/linux-steam-integration/master/.github/LSI_Settings.png)\n\nIn many cases this will involve controlling which libraries are allowed to be used\nat any given time, and these libraries may be overriden for any of the following\nreasons:\n\n - Security\n - Compatibility\n - Performance\n\n\nThis project, and by extension Solus, is not officially endorsed by, or affiliated with, Steam, or its parent company, Valve*.\n\nLinux Steam Integration is a [Solus project](https://solus-project.com/)\n\n![logo](https://build.solus-project.com/logo.png)\n\n### Linking compatibility\n\nWith LSI, you don't need to worry any more about manually mangling your Steam installation\njust to make the open source drivers work, or manually creating links and installing\nunsupported libraries. LSI is designed to take care of all of this for you.\n\nMany library names are redirected through the main \"intercept\" module, which ensures\ngames will (where appropriate) use the updated system libraries. Additionally the\nmodule can override how games and the Steam client are allowed to make use of\nvendored libraries. This will help with many launch failures involving outdated\nlibraries, or indeed the infamous `libstdc++.so.6` vendoring which breaks open\nsource graphics drivers on systems compiled with the new GCC C++ ABI.\n\n\n### Apply path based hotfixes to games\n\nThe redirect module contains some profiles to allow us to dynamically fix some\nissues that would otherwise require new builds of the games to see those issues\nresolved.\n\n - Project Highrise: Ensure we don't `mmap` a directory as a file (fixes invalid prefs path)\n - ARK Survival Evolved: Use the correct shader asset from TheCenter DLC to fix broken water surfaces.\n\n### Unity3D Black Screen Of Nope\n\nOlder builds of Unity3D had (long since fixed) issues with launching to a black\nscreen when defaulting to full screen mode. This is commonly addressed by launching the\ngames with `-screen-fullscreen 0`, and is due to an invalid internal condition clamping\nthe renderer size to 0x0 after setting the fullscreen (borderless) window size.\n\nNote - updating these games to newer versions of Unity will fix this bug on Linux, however\nLSI currently ships a workaround. This workaround will abstract access to the configuration\nfile in `$XDG_CONFIG_HOME/.config/unity3d/*/prefs` through the Linux `/dev/shm` system,\nand will provide initial game configuration whilst also masking the harmful fullscreen\nsetting.\n\nNet result - all Unity3D games using this pref path (the older generation) will start\nin windowed mode always. They can be fullscreened from inside the game, and this will\nhelp with making sure games **actually launch**.\n\n### Notes\n\nNote that LSI will not modify your Steam installation, and instead makes use of two\nmodules, `liblsi-redirect.so` and `liblsi-intercept.so`, to dynamically apply all of the\nworkarounds at runtime, which in turn is set up by the main LSI `shim` binary.\n\nFor a more in depth view of what LSI is, and how to integrate it into your distribution,\nplease check the [technical README document](https://github.com/solus-project/linux-steam-integration/blob/master/TECHNICAL.md).\n\nBe advised that we intend to remove the need for distributions to integrate LSI in the near future, by providing\nthe LSI system as a [snap](https://snapcraft.io/) package for all supported distributions.\n\n## Getting LSI\n\nLSI may not yet be available for your distribution, however some community maintained repositories do exist.\n\n - [Arch Linux](https://aur.archlinux.org/packages/linux-steam-integration/)\n - [Fedora](https://copr.fedorainfracloud.org/coprs/alunux/linux-steam-integration/)\n - Solus uses LSI by default, just install the `steam` package.\n\nTo install the experimental snaps (`snapd` \u003e= 2.29.4):\n\n    sudo snap install --edge solus-runtime-gaming\n    sudo snap install --devmode --edge linux-steam-integration\n\n## Snap Support\n\nLSI is currently undergoing work to become a universal package for all Linux distributions!\n\nItems left to implement:\n\n - [x] Add basic library support for snapd environment\n - [x] Make `shim` support `$SNAP` style environmental variables for local Steam\n - [x] Add support to LSI + `snapd` for NVIDIA+Vulkan\n - [ ] Verify \"normal\" games work again\n - [x] Publish snaps (edge)\n\n\n## License\n\nCopyright © 2016-2017 Ikey Doherty\n\nlinux-steam-integration is available under the terms of the `LGPL-2.1` license.\n\nSee the accompanying `LICENSE.LGPL2.1` file for more details\n\n\n`data/lsi-steam.desktop`:\n\n        This file borrows translations from the official `steam.desktop` launcher.\n        These are copyright of Valve*.\n\n`* Some names may be claimed as the property of others.`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolus-project%2Flinux-steam-integration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolus-project%2Flinux-steam-integration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolus-project%2Flinux-steam-integration/lists"}