Skip to content

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, Glyph, Minecraft & VK Play. SD Card Support and Games.

License

Notifications You must be signed in to change notification settings

lukespragg/NonSteamLaunchers-On-Steam-Deck

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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

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 

Pre-commit hooks

Pre-commit hooks are installed via pre-commit and are run automatically on git commit.

Most importantly, ruff is used to lint all python code.

  • Install pre-commit
  • Install pre-commit hooks
    pre-commit install
  • Trigger pre-commit hooks automatically on git commit
    git add .
    git commit -m "commit message"
  • Bypass pre-commit hooks
    • Sometimes, it's necessary to bypass pre-commit hooks. This can be done with the --no-verify flag.
      git commit -m "commit message" --no-verify

Conventional Commits

While not currently enforced, by using conventional commits, it's possible to automatically generate changelogs and version numbers via release-please.

To help with that, the commitizen tool can be installed.

Usage

# install cz
npm install -g commitizen cz-conventional-changelog

# make repo cz friendly
commitizen init cz-conventional-changelog --save-dev --save-exact
npm install

# add file to commit
git add .gitignore

# run cz
ฮป git cz
[email protected], [email protected]

? Select the type of change that you're committing: chore:    Other changes that don't modify src or test files
? What is the scope of this change (e.g. component or file name): (press enter to skip) .gitignore
? Write a short, imperative tense description of the change (max 81 chars):
 (17) update .gitignore
? Provide a longer description of the change: (press enter to skip)

? Are there any breaking changes? No
? Does this change affect any open issues? No
[main 0a9920d] chore(.gitignore): update .gitignore
 1 file changed, 131 insertions(+)

ฮป git push

Formatting

TL;DR: The Ruff formatter is an extremely fast Python formatter, written in Rust. Itโ€™s over 30x faster than Black and 100x faster than YAPF, formatting large-scale Python projects in milliseconds โ€” all while achieving >99.9% Black compatibility.

  • While it runs automatically on commits, it can also be run manually
    # check for errors
    ruff check .
    
    # fix (some) errors automatically
    ruff check . --fix

Additional tooling

TODO

asdf

  • Install asdf
  • Add plugins
    asdf plugin-add python
    asdf plugin-add poetry https://github.com/asdf-community/asdf-poetry.git
    asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
  • Usage
    • Install local plugins in repo
      asdf install
    • Install specific plugins
      # install stable python
      asdf install python <latest|3.11.4>
      
      # set stable to system python
      asdf global python 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.

About

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, Glyph, Minecraft & VK Play. SD Card Support and Games.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 82.9%
  • Shell 16.7%
  • Dockerfile 0.4%