Neko

Kirby with headphones

DeckKit

A MegaCollection Kit

Please let me know of anything else I could add in the comments at the bottom.

Steam Deck

Official Site

Some of these tools can also work with any Linux installation.

Terminology

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.

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.

  1. 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).
  2. Go to their .desktop files within their install directories (they won't have the file extension and will just be called pico8 or tic80) 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.
  3. 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
  4. Test and enjoy!

Optional Steps

  1. Download .p8, .p8.png, and .tic ROMs from their respective websites or from Itch.
    • If using EmuDeck or RetroDECK, put them in the pico8 and tic80 folders within the roms 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.
  2. 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 contains pico-8 in split view mode or two separate windows. Then drag the pico-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 a pico-8 folder in its apps directory that contains another pico-8 folder. Link the inner folder that's next to the .itch folder and contains the pico8 file.
  3. 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) named splore.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).
  4. On their respective command lines, run INSTALL_DEMOS and INSTALL_GAMES on PICO-8 and demo on TIC80 to install the sample demos and games.

NOTES AND QUIRKS

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.

WARNING: Your packages will be removed when the Steam Deck updates and you will have to run the steps again.

  1. Open Konsole and type in the following commands
  2. passwd to create a sudo password for the deck user (lets you use admin/root commands) if you haven't already
  3. sudo steamos-readonly disable to disable read-only mode in SteamOS
  4. sudo pacman-key --init to initialize the pacman keyring
  5. sudo pacman-key --populate archlinux to get the arch Linux keys
  6. You're ready! Basic commands
  7. (Optional) Open /etc/pacman.conf in a text editor (Kate is default). Then, below [options], add ILoveCandy under a new line. The progress bar when installing with pacman will change to Pac-Man

Extra Fixes

If external hard drives are not recognized (source):

  1. Turn off the Deck
  2. Hold Power and Volume Up buttons to go to BIOS settings
  3. Advanced Settings > Switch USB from DRD to XHCI
  4. Save and reboot

Background taken from here.

Suggest more in the comments!