A MegaCollection Kit
Please let me know of anything else I could add in the comments at the bottom.
Some of these tools can also work with any Linux installation.
Terminology
- SteamOS: The version of Linux that runs on Steam Deck
- Arch Linux: What SteamOS is based on
- KDE Plasma: The desktop environment
- Discover Store: Installs Flatpak apps from Flathub. Most programs listed below can be downloaded from here:
- Flatpak: Way of distributing Linux apps to run on any distro
- Flathub: Repository for Flatpak apps
- Steam Play: Runs Windows games on Linux with Proton
- Wine: Interprets Windows apps for Linux systems
- Proton: Fork of Wine made by Valve
- Steam Input: Lets Steam translate controller inputs into keyboard/mouse input, and more
- .desktop file: Basically a standalone executable file for Linux programs. Some programs omit the
.desktop
extension to make it easier to run them from the command line. - AppImage: An entire Linux app in a single file.
~/
: Linux terminology for the home directory. On the Steam Deck, that's/home/deck
.
Resources and Websites
ProtonDB crowdsources compatability reports for Steam games, with guides and suggested tweaks, and is often more accurate than Steam's Deck Verified system. Are We Anti-Cheat Yet? lists all multiplayer games using anti-cheat and if Proton can run them.
This Google Doc is a guide for installing every Sonic game onto the Steam Deck, including the decompilations and setting up mod support.
Utilities
CryoUtilities can tweak some settings for a performance boost on some games and clean some storage space. DeckCleaner can delete the entire shadercache folder instead, but that will lesult in longer load times for games. Decky Loader adds plugin support with an extra tab in the quick menu. Discover is a Discord voice chat overlay. ProtonUp-Qt can download alternate versions of Proton that might work better with some games, including GE-Proton, an independent fork of Proton. Flatseal can make managing Flatpak permissions easy. Use it to make sure Flatpak apps can access the folders they need to. lnshot
is a command line utility that symlinks Steam screenshots into the Pictures folder with real game names.
For transferring files, you have a bunch of options. The most reliable and easiest to use option for wireless file transfers I've found is Rymdport. Alternatives include Warpinator (and Winpinator), using file sharing services like file.io and sending the link with your browsers, DeckMTP if you don't mind using a wire, or even enabling FTP and using FileZilla or WinSCP.
KDE Connect comes preinstalled on Steam Decks as part of KDE Plasma, and can be used to remotley control it and send text/clipboard data, useful if using Rymdport. Alternativley, try AnyDesk for both remote control and file transferring.
Other Storefronts
Heroic can install GOG and Epic Games, setup Wine prefixes, and add them to Steam. It can even download the Epic Online Services overlay. Legendary is an alternative for Epic Games. The itch.io app runs natively. The Game Jolt app also has a native Linux version, but can't download Windows games like the itch app can.
Alternativley, NonSteamLaunchers directly installs the other launchers and runs them with GE-Proton, and adds them to Steam.
External Games
Lutris runs various community made scripts to install many games from the launcher. You can search for various games through the application's interface to add games, then let it install the games for you.
BoilR can auto-add games downloaded from other sources to Steam, with artwork. Don't select the optimize for Big Picture option, as that will set the icon image to be the capsule image. It doesn't look good on the Deck. Also, be sure to uncheck any games that get incorrect artwork, or want to use altenate launch options with. Note that Itch games won't be detected if the Windows version is downloaded.
GZDeck makes launching GZDoom mods easy on a controller. Grapejuice makes running Roblox easy. Note that Roblox anti-cheat might prevent Linux users from playing in some updates. The Minecraft Bedrock Launcher (see Discover store) can launch the Android version of Minecraft, with all the Bedrock exclusive DLC, as long as you have purchased Minecraft on the Google Play Store.
SteamOS Android Waydroid Installer installs Waydroid, letting you run Android on the Steam Deck.
Emulation
See this guide for detailed instructions on hwo to install.
EmuDeck instantly setups emulators for use with the Deck, from configuration to appearance to directories to put the ROMs into. RetroDECK is an alternative that can be downloaded from Flatpak and contains the applications within itself. Steam ROM Manager imports ROMs into Steam, with artwork. EmulationStation Desktop Edition is a customizable frontend for games that works with a controller. Both come with EmuDeck and RetroDECK.
Batocera.linux is an entire Linux OS for emulation that can be installed onto the Deck, either alongside SteamOS or replacing it, or onto an SD card.
Customization
You can access these resources with Decky plugins. Steam Deck Repo has custom boot and suspend slash videos. Steam Deck Repo Manager can be used to add the videos as an alternative to the Decky Plugin. DeckThemes hosts userstyles to tweak the appearance of some of the UI, as well as audio packs for background music and menu sounds. SteamGridDB hosts artwork for games not on Steam, even for games to run through an emulator.
PICO-8 and TIC80 Fantasy Console Guide
This will set up both systems to run natively on the Steam Deck for the purpose of easily launching them and playing games. The setup will make them be easily accessible within Game Mode, and to launch straight to their respective game browsing modes to work better without a keyboard. Optionally, this will also cover loading carts through EmulationStation Desktop Edition. Note that you do not need to install TIC80 if you just want to use the carts since it also comes in a RetroArch core, see the Notes section below.
- Download the Linux versions of PICO-8 and/or TIC80.
- PICO-8 is avaliable from the website or Itch.io. You will need to purchase it, or have purchased it as part of the Racial Justice and Equality Megabundle. Select the amd64 version, to match the CPU of the Steam Deck.
- TIC80 is avaliable from the website, the GitHub, Itch.io, or even within the Discover store. Purchasing a Pro license is optional.
- If you're not downloading them through the Itch app or Discover store, unzip them to the Applications folder (or wherever else you'll want to store them if you don't care about ES-DE for PICO-8) within the Home directory (
~/Applications
).
- Go to their .desktop files within their install directories (they won't have the file extension and will just be called
pico8
ortic80
) and add them to Steam. If you downloaded them with the Itch app or Discover Store, try BoilR instead, but also uncheck their entries after they're added to Steam so that their launch options won't get overridden next time you run BoilR. - Go to their Library pages within Steam and open their Properties. Then modify their Launch Options.
- For PICO-8, add
-splore
to boot into splore mode. Additional arguments - For TIC80, add
--scale=5 --cmd surf
to make the screen fit the Steam Deck screen and to run the surf program on boot. Additional arguments
- For PICO-8, add
- Test and enjoy!
Optional Steps
- Download
.p8
,.p8.png
, and.tic
ROMs from their respective websites or from Itch.- If using EmuDeck or RetroDECK, put them in the
pico8
andtic80
folders within theroms
folder they generated. - If using ES-DE without them, put them where ES-DE is configured to look for them.
- If not using ES-DE, put them in their respective install directories.
- If using the Flatpak version of TIC80 and putting the carts in a custom location, use Flatseal to let TIC80 access that folder.
- If using EmuDeck or RetroDECK, put them in the
- To run PICO-8 through ES-DE, either unzip PICO-8 to
~/Applications
, or if downloaded from the Itch client, make a Symlink within the~/Applications
folder to the PICO-8 folder within Itch's app install directory.- You can do this from the Dolphin's file browser. Open
~/Applications
and the folder that containspico-8
in split view mode or two separate windows. Then drag thepico-8
folder into the~/Applications
window and select Create Link from the context menu that pops up. - Make sure you select the right
pico-8
folder. The Itch app installs apico-8
folder in its apps directory that contains anotherpico-8
folder. Link the inner folder that's next to the.itch
folder and contains thepico8
file.
- You can do this from the Dolphin's file browser. Open
- To launch splore from ES-DE, add an empty file in the
roms/pico-8
folder ES-DE is using (right-click within the folder and select Create New File) namedsplore.p8.png
(or whatever you want, as long as it ends in.p8
or.p8.png
, including the file extension). Then within ES-DE, highlight the dummy ROM and set it's alternate emulator to splore (SELECT > Edit This Game's Metadata > Alternate Emulators > Splore > Save). - On their respective command lines, run
INSTALL_DEMOS
andINSTALL_GAMES
on PICO-8 anddemo
on TIC80 to install the sample demos and games.
NOTES AND QUIRKS
- When launching TIC80 ROMs from ES-DE, the RetroArch core will be used by default.
You can switch to using the standalone version, if you move/symlink theDOESN'T WORK.tic80
folder to~/Applications
. - The fullscreen option in TIC80 is bugged and the program will not respond to input if turned on. Avoid turning it on from the menu or launch options. If you get stuck in fullscreen, delete
~/.local/share/com.nesbox.tic
to reset the settings.
pacman package manager Guide
pacman
is the Arch Linux package manager. This will allow you to install Arch packages that aren't on the Discover Store. Not recommended or necessary unless you're an advanced Linux user. Don't do this unless you find something you want to install that you can't install any other way. It is recommended to use Homebrew instead.
- Open Konsole and type in the following commands
passwd
to create asudo
password for thedeck
user (lets you use admin/root commands) if you haven't alreadysudo steamos-readonly disable
to disable read-only mode in SteamOSsudo pacman-key --init
to initialize thepacman keyring
sudo pacman-key --populate archlinux
to get the arch Linux keys- You're ready! Basic commands
- (Optional) Open
/etc/pacman.conf
in a text editor (Kate is default). Then, below[options]
, addILoveCandy
under a new line. The progress bar when installing withpacman
will change to Pac-Man
Extra Fixes
If external hard drives are not recognized (source):
- Turn off the Deck
- Hold Power and Volume Up buttons to go to BIOS settings
- Advanced Settings > Switch USB from DRD to XHCI
- Save and reboot
Background taken from here.
Suggest more in the comments!