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.
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.
Emulation
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. 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.
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.
- 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. ES-DE currently doesn't support the standalone version, but you can move/symlink the
tic80
folder to~/Applications
for futureproofing. - 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.
- 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
WARNING: Your packages will be removed when the Steam Deck updates and you will have to run the steps again.
Suggest more in the comments!