MCPcopy
hub / github.com/moraroy/NonSteamLaunchers-On-Steam-Deck

github.com/moraroy/NonSteamLaunchers-On-Steam-Deck @v4.2.91 sqlite

repository ↗ · DeepWiki ↗ · release v4.2.91 ↗
700 symbols 2,137 edges 43 files 259 documented · 37%
README

“Who hath ascended up into heaven, or descended? who hath gathered the wind in his fists? who hath bound the waters in a garment? who hath established all the ends of the earth? what is his name, and what is his son's name, if thou canst tell?”

- Proverbs 30:4 (KJV)

“For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.”

“For God sent not his Son into the world to condemn the world; but that the world through him might be saved.”

- John 3:16-17 (KJV)

<img src="https://github.com/cchrkk/NSLOSD-DL/raw/main/logo.svg" width=40% height=auto

NonSteamLaunchers 🚀

This script installs the latest UMU & GE-Proton and 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 in real time and will attempt to remove the games from your library in real time when you uninstall a game from a launcher. Collections for your games, launchers and web shortcuts will also be created/removed per launcher. Play time is tracked for all non steam games as well as boot videos downloaded per shortcut if any exist. Non-Downloadable Game theme music is also applied to your library. Metadata cards are also applied to your library automatically to give your non steam pages some life including Player Count if there are any on Steam! Special ".desktop" files will be created per shortcut allowing you to run the games and launchers outside of Steam as well. NSL can be used on Desktop or in Game Mode, and don't you worry, Local Saves and Cloud saves are supported, as well as multiplayer/online support (because you're using the launchers). Obviously, certain anticheat games will not work on linux enviroments; this is on a game to game basis.

Features ✅

  • Automatic installation of the most popular launchers for your Steam Deck and Steam Machine on SteamOS 🎮

  • Handle automatically the download and installation of your chosen launchers and the games, artwork included! ⌚️

  • 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!

  • ProtonTricks is compatible with NonSteamLaunchers default installation (one prefix). This will add a NonSteamLaunchers shorcut in your library...this shortcut doesnt do anything. All you have to do is simply "Hide this Game" in your Library. Right click its properties and choose "Manage" and "Hide this Game". You never have to worry about it again! If you were to open up ProtonTricks to fix any game or launcher it is now accessible!

  • In case you didnt know, you can also choose to check mark "Separate App Id's" when installing a launcher, this will install all launchers in each of their own prefix. Automatically working with ProtonTricks!

  • Command Line Ready, you can call it from online, heres an example of installing a launcher /bin/bash -c 'curl -Ls https://raw.githubusercontent.com/moraroy/NonSteamLaunchers-On-Steam-Deck/main/NonSteamLaunchers.sh | nohup /bin/bash -s -- "Epic Games"'

  • NSL can in fact be installed on many linux distros, feel free to try, here are some examples of some... Ubuntu LTS, ChimeraOS, Nobara and Arch Linux as well as any KDE Environments such as this opensuse - tumbleweed - wayland , if for any reason you find that NonSteamLaunchers installs perfectly or not, let me know!

  • RemotePlayWhatever is also bundled with NSL to allow for local and co-op play between non steam games, this is created by m4Engi, here is the repo here

  • Ludusavi is also pre-installed and setup for NSL for your games save backups. Not all games will work with this yet so bear this in mind when deleted or uninstalling games that are arent backed up yet, here is the repo here

In both versions of NonSteamLaunchers, Desktop or Decky, NSL will back up your games saves here automatically /home/deck/NSLGameSaves The Desktop Version only does this once, at the start of when the script is opened and you see the main options list. The decky plugin version does this on every manual scan that you do.

-Pressing "Update Proton GE" in both the Desktop version or the Decky Plugin version, will give you the latest version of Proton GE and UMU. A patch will also be applied to allow Game Streaming from Discord in Game Mode.

  • Pressing the "Music Button" on the top left of your game page will enable/disble the Game Theme Feature. This simply attempts to play your games theme music in the client! You can even change the music if you dont like it with the paste button!. Clicking the button will hide and disable the feature.

  • UMU Launcher is automatically used and is processed for each game and Launcher. Proton GE will be used where necessary.

Notes

  • With NSL youre able to send notes to each other and communicate to other NSL users via a hashtag in your note at the beginning, write #nsl and leave a space, and then type your actual note. The script will then look for that note and send it through the api and spit it back out for that non-steam game. Everyone who uses NSL will then receive it and it will be added to the "NSL Community Note". This is to allow people to have first hand information about their games right in front of them from others! Currently you can participate only if you send a note! Once you created a note, open up NonSteamLaunchers and press the ❤️. This is an expiremental feature so keep that in mind!

Logs

  • The logs for NSL are located here /home/deck/Downloads/NonSteamLaunchers-install.log and here /home/deck/homebrew/logs/NonSteamLaunchers/ if using the Decky Plugin Version.

As Seen on

just to name a few!...there are much more videos and articles out there just wanted to share some resources on how to install and how the program works.

Videos

Articles


Currently Working On 👷‍♂️

  • Decky Loader Plugin is available here and the pull request for it here and can be installed with this big button, only press this button if you have Decky Loader installed already
  • Working on Flatpak version

Download NSL Decky Plugin


Windows Installation Steps:

  1. Download the current Windows version of Decky Loader here link

  2. Download NSLPluginWindows.exe from here.

  3. Run NSLPluginWindows.exe first. This will also create the necessary cef debugging file for Decky Loader.

  4. Run either No_console.exe or Plugin Loader.exe. You can also press Win + R, type shell:startup, and press Enter, then place the .exe there to launch Decky Loader on boot.

  5. Go into Game Mode or Big Picture Mode to see the Decky Loader plugin and NonSteamLaunchers.

This setup will automatically add all your non-Steam games with artwork, correctly formatted for Windows. Only scanning will work; nothing else will function, so you can either auto-scan or manually scan your games.

How to Install the Desktop Version 🔧

Download NonSteamLaunchers

  • Go to desktop mode, click the download button above and it should download the .desktop file in your Downloads folder.
  • Go to your downloads folder, 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, 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, the scanner should have added it to our library, if not simply run a scan. Restart your Deck or quit and reopen Steam and the NSLGameScanner.service should add it to your library, even in gamemode! 🥳

How to Run 🏃‍♂️

  • Select your launchers and hit OK. This will install your selected launchers. (Optionally, check "separate app ids", to install each launcher in its own prefix)
  • ❤️ = this will send and recieves any notes you have created to the community using the #nsl tag at the beginning of your note.
  • Uninstall = uninstalls the specific launchers and possibly its games too, each launcher uninstallation is different.
  • 🔍 = Pressing the magnifying glass will stop the NSL Scanner and prompt you to restart it if needed. When you open NSL the scanner will update from online then auto scan. So restarting it activates the real time service file for active scanning.
  • Start Fresh = Wipes all of NSL, all the prefixes, launchers, games, etc. Shortcuts will remain, and your game save backups, if any, at /home/deck/NSLGameSaves will not be deleted. This essentially "Uninstalls" NonSteamLaunchers.
  • Move to SD Card = moves each prefix to your SD Card, this is legacy code and probably still needs work.
  • Update Proton GE = this will update and install Proton GE and UMU if you dont have it already, the script attempts to do this on each launcher install but you can do it manually and help the script before hand if you want.

Core symbols most depended-on inside this repo

get
called by 365
Modules/urllib3/response.py
append
called by 71
Modules/charset_normalizer/models.py
create_new_entry
called by 54
NSLGameScanner.py
items
called by 41
Modules/urllib3/_collections.py
browser_for_env
called by 32
NSLGameScanner.py
track_create_entry
called by 30
NSLGameScanner.py
read
called by 30
Modules/urllib3/response.py
send_ws_text
called by 23
NSLGameScanner.py

Shape

Method 369
Function 224
Class 107

Languages

Python100%

Modules by API surface

NSLGameScanner.py83 symbols
Modules/urllib3/response.py76 symbols
Modules/charset_normalizer/md.py61 symbols
Modules/urllib3/exceptions.py56 symbols
Modules/urllib3/_collections.py45 symbols
Modules/charset_normalizer/models.py38 symbols
Modules/urllib3/contrib/pyopenssl.py35 symbols
Modules/urllib3/connectionpool.py28 symbols
Modules/urllib3/connection.py28 symbols
Modules/charset_normalizer/utils.py28 symbols
Modules/urllib3/util/ssltransport.py26 symbols
Modules/vdf/__init__.py25 symbols

Dependencies from manifests, versioned

certifi2026.5.20 · 1×
charset-normalizer3.4.7 · 1×
idna3.18 · 1×
python-decouple3.8 · 1×
python-steamgriddb1.0.5 · 1×
requests2.34.2 · 1×
urllib32.7.0 · 1×
vdf3.4 · 1×

For agents

$ claude mcp add NonSteamLaunchers-On-Steam-Deck \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact