Installs the latest GE-Proton and Installs Non Steam Launchers under 1 Proton prefix folder and adds them to your steam library. Installs... Battle.net, Epic Games, Ubisoft, GOG, EA App, Amazon Games, itch.io , Legacy Games, The Humble Games Collection, IndieGala, Rockstar Games Launcher,PS Plus, Glyph, VKPlay & HoYoPlay. SD Card Support and Games.
Go to file
pythoninthegrass 84d147468e ci: add automatic semver
Will need to supply personal access token as repo secret `RELEASE_PLEASE_TOKEN`
2024-02-21 00:45:59 -06:00
.devcontainer Add tooling 2023-08-11 15:14:23 -05:00
.github ci: add automatic semver 2024-02-21 00:45:59 -06:00
.vscode Add tooling 2023-08-11 15:14:23 -05:00
Modules/steamgrid chore: remove modules 2024-02-20 23:30:53 -06:00
.editorconfig Add tooling 2023-08-11 15:14:23 -05:00
.gitignore Add tooling 2023-08-11 15:14:23 -05:00
.release-please-manifest.json ci: add automatic semver 2024-02-21 00:45:59 -06:00
.shellcheckrc Error handling and shellcheck additions 2023-09-01 01:33:08 -05:00
.tool-versions wip 2024-02-20 23:29:48 -06:00
config.env wip 2024-02-20 23:29:48 -06:00
config.py refactor: split config into file 2024-02-21 00:44:29 -06:00
LICENSE Create LICENSE 2023-05-11 16:00:53 +02:00
logo.png added logo 2023-05-13 14:15:56 +02:00
NonSteamLaunchers.desktop changed NonSteamLaunchers.desktop exec (Again) 2023-06-05 18:11:24 +02:00
NonSteamLaunchers.sh disbaled steam restart if Decky Plugin test 2024-02-18 22:47:04 -08:00
NSLGameScanner.py fixed controller config path 2024-02-19 22:19:57 -08:00
poetry.lock build: update deps 2024-02-21 00:39:07 -06:00
pyproject.toml build: update deps 2024-02-21 00:39:07 -06:00
README.md Removed unnecessary variable in SDHQ link 2024-02-10 15:33:01 -06:00
release-please-config.json ci: add automatic semver 2024-02-21 00:45:59 -06:00
requirements.txt build: update deps 2024-02-21 00:39:07 -06:00

NonSteamLaunchers 🚀

This script installs the latest GE-Proton, installs NonSteamLaunchers under one unique Proton prefix folder in your compatdata folder path called "NonSteamLaunchers" and adds them to your Steam Library. It will also add the games automatically on every steam restart. So you can use them on Desktop or in Game Mode.

Features

  • Automatic installation of the most popular launchers in your Steam Deck 🎮
  • Handle automatically the download and installation of your chosen launchers and the games
  • MicroSD Support 💾 This script supports moving the entire prefix to a microSD. The script will install launchers and games to your SD card, and the launchers in Steam will point to the SD card installation. This allows you to save internal storage space on your Steam Deck!

Supported Stores 🛍

  • Amazon Games Launcher ✔️
  • Battle.net ✔️
  • EA App ✔️
  • Epic Games ✔️
  • GOG Galaxy ✔️
  • Humble Games Collection ✔️
  • IndieGala ✔️
  • Itch.io ✔️
  • Legacy Games ✔️
  • Rockstar Games Launcher ✔️
  • Ubisoft Connect ✔️
  • Glyph ✔️
  • Minecraft ✔️
  • Playstation Plus ✔️
  • VK Play ✔️

Supported Streaming Sites for games and as well as any website. 🌐

  • Website Shortcut Creator ✔️
  • Xbox Game Pass ✔️
  • GeForce Now ✔️
  • Amazon Luna ✔️
  • Netflix ✔️
  • Amazon Prime Video ✔️
  • Disney+ ✔️
  • Hulu ✔️
  • Youtube ✔️
  • Twitch ✔️
  • movie-web ✔️

Finds Games Automatically

"NSLGameScanner.service" is also live when you use this script and continues after the script is closed and even works after your Steam Deck has restarted. This works in the background as a service file to automatically add your games to your library on every Steam restart. Currently adds:

  • Epic Games 🎮
  • Ubisoft Connect 🎮
  • EA App 🎮
  • Gog Galaxy 🎮
  • Battle.net 🎮
  • Amazon games 🎮

How to Install 🔧

Download NonSteamLaunchers

  • Go to desktop mode, right click the download button above and save the .desktop file to your Steam Deck desktop.
  • Go to your desktop, click the NonSteamLaunchers icon, it will download and run the latest NonSteamLaunchers.sh from this repository and run it.
  • You will simply have to choose which launcher to install and let the script handle the rest. 💻 No files are left in your "Downloads" they are deleted after installation.
  • After running the script, launch Steam on your Steam Deck. You'll find the new launchers in your library under the non-steam tab. Click a launcher to see your installed games from that store, and launch them directly from Steam! If you have downloaded a game inside of your launcher, restart your deck or steam adn the NSLGameScanner.service should add it to your library. Even in gamemode 🥳

▶️ YouTube Tutorial 🡺🡺🡺 https://www.youtube.com/watch?v=svOj4MTEAVc 🡸🡸🡸 ▶️

📖 Step-by-step Article 🡺🡺🡺 here 🡸🡸🡸 📖

How to Uninstall 🗑

  • Just run the script, and hit "Uninstall". Alternatively, if you want to totally wipe evrything from NonSteamLaunchers click "Start Fresh".
  • That's it.

Currently Working On 👷‍♂️

  • Decky Loader Plugin is available here
  • Integrate better with BoilR

Contributing 🤝

If you have any suggestions or improvements for this script, feel free to open an issue or submit a pull request.

You can donate to me on ko-fi, liberapay, or sponsor me on github or patreon

Development Environment

Dev Container

Install Docker. Once installed, a clean dev environment with a Docker container native to VSCode is spun up automatically.

  • Command palette (⇧⌘P) > Dev Containers: Reopen in Container
  • F5 for debug
    • May need to select interpreter (e.g., /opt/venv/bin/python) first

VSCode Extensions (Dev Container)

Manual Docker Instance

If VSCode isn't present or only the python portion (cf. __init__.py) is being worked on, it's possible to just run a Docker container on its own. The container installs the correct version of python and any dependencies (e.g., ipython, rich) in requirements.txt.

# navigate to directory with Dockerfile
cd .devcontainer/

# build image
docker build -t nonsteamlaunchers .

# run container
docker run -it --rm --name=mynonsteamlaunchers --workdir=/app -v $(pwd):/app nonsteamlaunchers bash

# exit container
exit

Python virtual environment

Useful for the python module(s), but extra compared to the dev container portion that covers the core shell script.

# create virtual environment
python -m venv .venv

# activate virtual environment
source .venv/bin/activate

# install dependencies
python -m pip install -r requirements.txt 

Additional tooling

Additional tooling includes but is not limited to:

asdf

  • Install asdf
  • Usage
    # add python plugin
    asdf plugin-add python
    
    # install stable python
    asdf install python <latest|3.11.4>
    
    # set stable to system python
    asdf global python latest
    
    # add poetry asdf plugin
    asdf plugin-add poetry https://github.com/asdf-community/asdf-poetry.git
    
    # install latest version via asdf
    asdf install poetry <latest|1.5.1>
    
    # set latest version as default
    asdf global poetry latest
    

shellcheck

.shellcheckrc excludes various bash language rules. Useful to control noise vs. legitimate warnings/errors when using the shellcheck extension.

License 📝

This project is licensed under the MIT License. See the LICENSE file for more information.