These are lists of some tools and software that are useful for Steam Deck and can enhance your experience with it, as well as all the websites and other such Steam Deck resources I know.
I made these lists for the wiki on Reddit’s SteamDeck sub and I thought it was a pretty useful to keep around. I wanted to dump them here for everybody to preserve them and to maybe find a new home for this Steam Deck resource.
Let me know what you think.
List of tools and homebrew
Below is a list of tools and homebrew that can enhance your experience with the Steam Deck. Since the Steam Deck offers most things that a normal Linux desktop environment can, tools are included that can be found in the Discover store (including from non-default repositories) and have proven to be an especially good fit.
Emulation and non-steam games
-
BCML (a modding tool voor Breath of the Wild for WiiU) can be difficult to get running on Steam Deck, because it uses an immutable filesystem and the version of Python installed by default is higher than what BCML supports. This script helps people install it.
-
Add non-steam games to your steam library.
-
This script automates downloading, installing and setting up a large list of different emulators.
-
A graphical and themeable emulator front-end that allows you to access all your favorite games in one place, which is installed by Emudeck and Retrodeck, but can also be used by itself.
-
Mod Organizer 2 Linux Installer
This project aims to make modding and playing Bethesda games on Linux as easy as possible. It does that by providing installers which automatically setup a working experience for the user.
-
A flatpak application containing a large list of different emulators.
-
A tool that automatically applies assets from SteamGridDB directly to your Steam library, removing the need to download and set them manually.
-
Steam ROM Manager is a super flexible tool for adding non-Steam games to steam in bulk and managing their artwork assets. It can be installed with Emudeck, but can also be used by itself.
File management
-
Copy Steam Games From Your PC to Your Steam Deck SD Card.
-
A tool for managing your used and free space.
-
Filelight is an application to visualize the disk usage on your computer by showing folders using an easy-to-understand view of concentric rings. Filelight makes it simple to free up space!
-
If you prefer the command-line,
gdu
is a fast disk usage analyzer with console interface, written in Go. -
A script that creates human readable symlinks for Proton game prefixes. Reddit release post
-
Steam Deck Shader Cache Killer
Script to Purge The Steam Decks Shader Cache/ Compat Data. Reddit release post
File transfer and synchronization
-
A work-in-progress auto-uploader for screenshots made from the Deck onto your PC or phone. Reddit post by u/ Xinerki.
-
Easy automated syncing between your computers and your MEGA Cloud Drive.
-
Open Cloud Saves is an open source application for managing your saves games across Windows, MacOs, and Linux (including SteamOS).
-
Syncthing is a file synchronization tool like Dropbox, except that it can work with your own machines and without a server. This can be very useful for keeping non-Steam and emulator save games in sync or backed up.
-
Send and Receive Files across the Network
Launchers
-
Alfae is an experimental project to launch GOG/Local/ItchIo/Epic/Bottles Games in an organised fashion. Also can add games to deck UI.
-
Runs Windows software on Linux with Bottles.
-
Heroic is an Open Source Games Launcher. Right now it supports launching games from the Epic Games Store using Legendary and GOG Games using our custom implementation with gogdl.
-
Lutris is a video game preservation platform aiming to keep your video game collection up and running for the years to come.
-
Installs the latest GE-Proton and several non-Steam launchers under one Proton prefix folder and adds them to your Steam library. Reddit release post for v2.7
-
Steam Tinker Launch is a versatile Linux wrapper tool for use with the Steam client which allows for easy graphical configuration of game tools, such as GameScope, MangoHud, modding tools and a bunch more. It supports both games using Proton and native Linux games, and works on both X11 and Wayland.
Plugins and mods
-
[This application does not seem to be maintained any longer.] Crankshaft is a Steam client plugin manager and framework that lets you install and create plugins to add more functionality to your Steam client.
-
A plugin loader for the Steam Deck.
-
A GUI tool to install boot videos on your Steam Deck built on top of the Steam Deck Repo website. Reddit release post
Remote access and game streaming
-
AnyDesk allows you to connect to your Steam Deck desktop remotely, like TeamViewer.
-
Share mouse and keyboard over the local network.
-
Chiaki4deck is a fork of Chiaki, adding features for the Steam Deck. It is a free and Open Source Client for PlayStation 4 and PlayStation 5 Remote Play. It can be used to play in real time on a PlayStation as long as there is a network connection.
-
Turn any device into a secondary screen for your computer. Streams your Steam Deck screen to a browser on another machine.
-
Enables communication between all your devices.
-
Moonlight allows you to play your PC games on almost any device, whether you’re in another room or miles away from your gaming rig.
-
Like AnyDesk, allows remote desktop connections to your Steam Deck. Disabling read-only on the filesystem is required to install, but otherwise works very well.
-
Use your phone as a keyboard and mouse, and copy/paste between devices (apps for iOS and for Android available.) Gained improved support for Linux and Steam Deck in December 2022.
-
An open source TeamViewer alternative, remote desktop software. Works out of the box, no configuration required. Use the AppImage from the nightly build.
-
Connect your Steam Deck or other Steam devices with each other for remote streaming.
-
Sunshine is a self-hosted game stream host for Moonlight, offering low latency, cloud gaming server capabilities.
-
Remote control app for your Steam Deck. Turn your smartphone into a universal remote control, control mouse, keyboard and more.
Other tools
-
Replace the Deck startup video file with a file of the user’s choice. Randomizer provides two features: individual random set and on-boot randomization. Reddit release post
-
CoreKeyboard is an X11-based virtual keyboard. It has the advantage over Valve’s built-in keyboard to offer access to special keys such as Ctrl, Alt and function keys.
-
Great on Deck browser extension for Chrome or Firefox
See what games are verified for the Steam Deck and which medal they have on ProtonDB in the Steam store.
-
Backup tool for PC game saves. Here is the Reddit release post.
-
Install and manage Wine- and Proton-based compatibility tools for Steam and Lutris with this graphical user interface.
-
Qbert generates a root overlay where you can install whatever software you need without messing your filesystem. NOTICE: something is broken atm, Qbert is not creating a correct overlay so basically the software is not working as intended.
-
User-mode driver, mapper and GTK3 based GUI for Steam Controller, DS4 and similar controllers. Steam Deck support added in version 0.4.8.8.
-
An application to help you keep track of the different games you have on your SD Cards. If you ever found yourself wondering if you already have a game installed on a different SD Card then this is for you. Reddit post by u/ddotthomas.
-
Steam Deck Utilities by CryoByte33
Scripts and utilities to enhance the Steam Deck experience, particularly performance.
-
Allows you to modify the shortcuts file quickly and set game name to be the appid, so you have access to community controls. Link to Reddit post
-
A simple command line utility to tweak the screen saturation of the Steam Deck.
List of Steam Deck-related websites
Here is a collection of websites that offer information, guides and news about the Steam Deck.
Official Valve sites
-
The official website for the Steam Deck by Valve.
-
Deck Verified Games From Your Library
List of games from your library that Valve has tested so far.
-
Valve’s Steam Deck bug report forum, feature request forum and general discussion forum
The official Steam Deck forums on the Steam site.
-
On this Steam page, you can find a list of Valve hardware and their serial numbers. You can click on the Steam Deck in the list to view a list of its hardware components.
Linux and Steam Deck gaming sites
-
Crowdsourced Linux and Steam Deck game compatibility reports.
-
GamingOnLinux deals with games on Linux (which the Steam Deck runs) in general, but has consistently reported on Steam Deck-related news.
-
Linux Gaming Central is dedicated to giving you news on the Linux gaming front. The link above points to the “Steam Deck” tag on the site.
-
Boiling Steam is dedicated to covering the world of PC Linux Gaming since 2014. The site often reports on the Steam Deck, as the search results the link points to show.
-
A comprehensive and crowd-sourced list of games using anti-cheats and their compatibility with GNU/Linux or Wine/Proton.
Steam Deck community sites
-
An independent Steam Deck Forum.
-
A Steam Deck blog for the latest news, tips and tricks and more.
-
A web site with game reviews with optimal configuration, tips and guides, and news.
-
An unofficial site to find and share Steam Deck performance configurations.
-
overkill.wtf primarily focuses on the Steam Deck, with a hint of Switch, PC gaming and whatever else we find interesting at that moment–but mostly Steam Deck.
-
Unofficial Steam Deck compatibility website. Verification, performance reviews and tweaks for Steam Deck. Emulation guides, Epic Games Store, Ubisoft Connect games and more.
-
Check Steam Deck compatibility of your Steam library.
-
A list of Steam Deck resources.
-
A guide covering Steam Deck, including the applications and tools that will make you better and more efficient with your Steam Deck device.
-
A website where you can upload and share community-made Steam Deck boot videos (plus in the future, other things like themes and an app to automatically apply them to the Steam Deck)!
-
This wiki aims to be a useful resource for those that want to explore the desktop side of the Steam Deck.
-
This guide contains all kinds of useful tips that were found online. Hopefully it will help you use your Steam Deck to the fullest.
List of Steam Deck-related subreddits and Lemmy communities
These other places covering the Steam Deck also exist on sites like Reddit and Lemmy:
- r/SteamDeck
- r/DeckSupport
- r/steamdeck_linux
- r/SteamDeckBootVids
- r/SteamDeckEmulation
- r/SteamDeckGames
- r/SteamDeckModded
- r/SteamDeckMods
- r/SteamDeckTech
- r/SteamDeckTinker
- r/SteamDeckTricks
- r/SteamDeckWins
- r/SteamDeckYuzu
- r/SteamOS
- r/WindowsOnDeck
- r/BestOfSteamDeck
- r/linux_gaming
List of Steam Deck-related podcasts
If you enjoy listening to Steam Deck news in your car or elsewhere, these podcasts might be for you:
- On Deck - by Nerdnest YouTube
- The Steam Deck Podcast - by FlipScreen Games
- Decked Up - by Mekel Kasanova YouTube
- Fan the Deck - by Richard Alvarez YouTube
List of Steam Deck-related Discord servers
Get together and discuss the Steam Deck on these Discord servers:
-
The main Steam Deck Discord, not affiliated with Valve, Valve employees are known to lurk on the Discord.
-
Steam Deck Homebrew Discord server, with, among others, a channel for Decky support.
Can moderators can sticky/pin posts here? If so this probably should be stickied/pinned/whatever the fuck you call it here.
I think it’s called featuring. Yep, it has been featured.
I’ll bring this up to the others.
It might be a good idea to remove r/steamdeck_linux from the list. I restricted that subreddit a while ago, and this community serves as it’s replacement.
I don’t know, it seems you disabled new posts, but there might still be good information that is readable there?
yeah i suppose, fair enough
Great list, but remove Crankshaft. It’s basically dead now, and pretty much everything it could do is now possible in Decky, including video capture.
I added a disclaimer. Might still be useful for historical purposes, or when the project becomes alive again, as open source project sometimes do.
Should at least change the link to the GitHub repo then, as the site is dead and the domain could be picked up by somebody malicious.
You’re right. I changed it.
If anything, this highlighted for me how hard it still is to edit large posts on Lemmy! Also, I went to another instance multiple times without realizing it after I clicked “Show context”, which made it impossible for me to edit the post, because I was on a different instance!
This will take some getting used to and/or fixing!
Yeah. Even for Reddit, Discord, and now Lemmy, for long posts I usually draft them in a separate text editor first, preferably one with markdown code highlighting and autosaving. Saves me a lot of pain. Then I just copy and paste.
I used to do that sometimes. But I guess Reddit Enhancement Suite had improvements that made it bearable to edit large texts. I hope more and more of RES gets into lemmy-ui.
Wow thank you!
This little snippet covers how to get Syncthing to run in background on boot regardless of Desktop environment (so that you’ve got full synchronisation even in default game code), might be worth adding it under the link to Syncthing. :)
I don’t know, I felt that such things move into the realm of guides, and many of these things are either general Linux skills, as well. Also, it costs a lot of time and effort to do this for a large number of software.
Basically, lists such as these help you to find what is available, but the specific documentation for those tools can help you further when needed.
Of course, I know my way around Linux, so those kinds of guides would be more aimed at low to medium technical users, which again, take a lot of time to write.
Hey, thanks for linking to my podcast! 😄
Which one? I used to listen to a couple of them in the car, but not so much lately!I figure it’s probably The Steam Deck Podcast.Yeah, that’s the one! 😄
Nice! Keep that one going. I like the vibe of your podcast. Unfortunately, most of the other podcasts seem to have stopped putting out new content.
Well heck, that is quite the list. Thank you!
Thanks a ton! What a great list!
The Steam Link Linux App Flatpak/on Flathub should be added.
I’ve been looking for a way to replace my Steam Link with the Steam Deck as a PC Desktop Streaming Target. And the Steam Link Linux app should be the solution.
I changed it to the Flatpak link.
Heads up that your link for the Steam Deck Community forums no longer appears valid. It links to a spash page advertising the domain for sale.
Great post. I wish valve would make it easyer to manage storage (other) on the deck though. The 64gb is giving me a headache…
Since the Steam Deck is just Linux, I simply use Linux tools for that. I like the command-line, so I mostly use
gdu
there. It helps to learn the structure of the file system. Of course, there are GUI tools available and on the list, as well.But some people don’t like going to the desktop, so I guess some sort of tool within game mode would be nice for them.
Fantastic list! I’m gonna try out SyncThing this weekend 👍🏻
SyncThing is great. I have it on all my computers and a VPS. At least two clients need to be online for them to be able to transfer data, of course, so that VPS comes in handy. Something like a Raspberry Pi would work.
I sync all my emulator save games with it, for instance.
That was actually pretty easy to setup.
I installed SyncThing on my Windows PC using https://github.com/Bill-Stewart/SyncthingWindowsSetup and set it up to monitor a folder which contains the non-Steam games I want to sync to my SteamDeck.
On the SteamDeck, in Desktop mode, I installed the SyncThingy app via the package manager and followed the instructions to set it up as a service that starts at boot time, so it will even work in Gaming mode.
Once that was running, I went through the process in SyncThing to synchronize my PC and the Steam Deck, which does take a few clicks and confirmations on both the PC and the Steam Deck, but after that it just started copying the game folders automatically.
After a game had sync’d to the Steam Deck, I added it to Steam, switched back to Gaming mode and played it for a bit. After saving my game, I checked on the PC to see that the save files that added to the game folder on my Steam Deck also now showed up on my PC.
SyncThing is hands down my favorite software ever.
People often recommend shit like Nextcloud for personal file hosting where you need to set up a server and have everything connect to that. There is no central server in SyncThing (unless you manually set up the syncing rules to create something like that).
Not only is setting up SyncThing stupidly easy because you don’t have to setup a server (it is so easy it has a damn QR code reader button, if your device has a camera you can have one device show a QR code and the other scan it and boom they are connected that’s it), it also means you don’t have to maintain a server as a central nexus point indefinitely. You can add and remove devices from sharing a folder in any way you want. The original device that shared the folder can be long gone and it is no problem. I don’t know if people intuitively grasp how much easier that makes retaining important file folders longterm, especially if you are disorganized, chaotic and prone to losing, destroying or not properly maintaining things like I am lol.
A raspberry pi works great as a SyncThing device that you can leave always on to catch your other devices when they connect to the internet briefly and sync their folders, but if the folder is small enough and your phone has the space, your phone works even better. SyncThing works on both Android and iOS (with the paid app mobiussync).
Honestly SyncThing is a stunning piece of software, the kind that actually legitimately changes your life when you get used to using it, and thank god it isn’t locked into some corporations silo to only work with that companies products.
As a pro tip, this kind of file sharing between devices that may not both happen to be online at the same time for long periods can create issues where both devices have an updated version of a file from when they last connected (which is one of the reasons that having an always on device like a raspberry pi or phone is nice). This is a potentially a hard problem, but SyncThing handles this great with a sync conflict resolving utility where you are prompted what to do for each sync conflict.
Something I recommend to further mitigate potential issues is for folders with a relatively small amount of files, go into the folder options and set it so SyncThing keeps the last 10 or so versions of a file (if it’s all small files go crazy and do 20 who cares). That way if you do make a huge mistake and lose a critical updated file you can just grab it from the backups. The amount of previous versions of files SyncThing keeps is set per folder on each device separately, so when sharing a folder, your device with a huge amount of storage can be set to retain many older versions of files and your smartphone with little available storage can be set not to retain any or very few.
https://swethatanamala.substack.com/p/how-i-ran-llms-on-steam-deck-handheld
I am going to probably make a post/video about using the setup Swetha lays out in this article after I have fiddled around with this setup to have enough good advice to collect into a post, but it is worth linking to this awesome guide here as well on how to run a LLM/AI locally on your steam deck (meaning an internet connection is not needed and no data leaves your device period). There are a million ways to do this but what is so clever about Swetha’s is that because the whole setup is contained within a distrobox ubuntu instance that lives in your home directory, updates to your Steam Deck won’t break everything (Steam-os is an immutable operating system which can cause headaches with having to re-setup things after every update).
Also because this method relies on using a llama.cpp through a terminal, there is no reason this workflow couldn’t be done with a terminal program open in Gaming Mode on the Steam Deck (or through Decky Terminal, but I can’t figure out how to easily paste text in and out of it ughh).
Edit you can also just install jan from here as an app image https://jan.ai/ and load in .gguf files you download from huggingface.co
Swetha recommends getting a model that is less than 4 gigabytes and loading it into the GPU, but I haven’t found a >4 gig model that actually gives that useful information yet. I have had success with running these models on the CPU
https://huggingface.co/TheBloke/Mistral-7B-Instruct-v0.1-GGUF
In particular I found the sweet spot to be these specific models:
mistral-7b-instruct-v0.1.Q5_K_S.gguf Q5_K_S
mistral-7b-instruct-v0.1.Q5_K_M.gguf Q5_K_M
This one runs too slow on the CPU to be useful at least with the settings I am currently using:
mistral-7b-instruct-v0.1.Q6_K.gguf Q6_K
I like the handy chart that comes along with this release of mistral models as it gives you a good starting point from which to figure out generally what size model is practical and optimal for your computer.
This reddit thread had some good general information on how to download AI models from hugginface.co and run them
https://www.reddit.com/r/LocalLLaMA/comments/18hzun0/sharing_a_simple_local_llm_setup/
Specifically this quote from that reddit thread is useful
Steps:
Install llama.cpp, the steps are detailed in the repo.
Download an LLM from huggingface.
For those not familiar with this step, look for anything that has GGUF
in its name. You will probably find that on TheBloke's page. If you are not sure which one to choose, start with one that has lots of likes or downloads, or browse this community for impressions and feedback. Once you find the model you like, go to its page, click on
Files and versions` and then choose a file that ends with .gguf and download it. If you are not familiar with the sizes, go for Q4_K_M and make sure the size of the file seems to be something that can fit in your GPU or CPU memory.Removed by mod
Here is a guide to installing and using distrobox on the Steam Deck. The usefulness of using distrobox is that distrobox sets up little mini environment you can install programs too that is outside the context of the immutable SteamOS operating system. Thus, after updates, software or setups you install in a distrobox environment will remain the same. Distrobox is more than just a simple bifurcation between the main SteamOS and a virtual environment, it provides tools to set up the ability to connect programs between the two for advanced setups (though you can ignore this stuff and just use the defaults).
What Distrobox does (quote)
Simply put it’s a fancy wrapper around podman, docker or lilipod to create and start containers highly integrated with the hosts.
The distrobox environment is based on an OCI image. This image is used to create a container that seamlessly integrates with the rest of the operating system by providing access to the user’s home directory, the Wayland and X11 sockets, networking, removable devices (like USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the udev database, etc…
It implements the same concepts introduced by https://github.com/containers/toolbox but in a simplified way using POSIX sh and aiming at broader compatibility.
All the props go to them as they had the great idea to implement this stuff.
It is divided into 12 commands:
distrobox-assemble - creates and destroy containers based on a config file distrobox-create - creates the container distrobox-enter - to enter the container distrobox-ephemeral - create a temporal container, destroy it when exiting the shell distrobox-list - to list containers created with distrobox distrobox-rm - to delete a container created with distrobox distrobox-stop - to stop a running container created with distrobox distrobox-upgrade - to upgrade one or more running containers created with distrobox at once distrobox-generate-entry - to create an entry of a created container in the applications list distrobox-init - the entrypoint of the container (not meant to be used manually) distrobox-export - it is meant to be used inside the container, useful to export apps and services from the container to the host distrobox-host-exec - to run commands/programs from the host, while inside of the container
source: https://github.com/89luca89/distrobox/blob/main/docs/README.md#what-it-does
Guide For Installing Distrobox On The Steam Deck
https://github.com/89luca89/distrobox/blob/main/docs/posts/steamdeck_guide.md
Quckstart Guide
https://github.com/89luca89/distrobox/blob/main/docs/README.md#quick-start
Distrobox Guide Homepage
https://github.com/89luca89/distrobox/tree/main/docs#readme
note because distrobox is a process that can be run by command line, you could presumably launch distrobox in a terminal window in Gaming Mode and keep everything for that session within that steam Big Picture window no problem. I am gonna have to keep experimenting with this, I will update with progress.