Have an Xbox One wireless adaptor for PC and want to use it on your Deck? Use my installer for the xone Linux kernel driver!
Adding roms to Steam with Steam Rom Manager
This first step is optional but highly recommended. Download RustDesk for your computer and then within Desktop Mode download the latest (unknown-linux-gnu**.flatpak**) file for the Deck. To install it right-click the file and choose to Open with Discover. Make sure you're saving as .flatpak
and not .download
. In the future, it should be in the Discover store and searchable as normal. Once RustDesk is running on both systems you should be able to remote into your Deck and follow the rest of the guide remotely.
Pro-tip: Under Settings - Security, Enable Direct IP Access. You can then enter IP/Hostname rather than ID. No relay servers!
In order for certain programs and scripts to run in Linux we need root
access, to do this we grant our user sudo
. Do this by entering Desktop mode, launching Konsole ("the terminal") and running the following command and entering a secure password when prompted.
passwd deck
steamos-btrfs offers storage space and speed improvements over the default ext4
filesystem used by the Deck.
- Download
steamos-btrfs
to your home directory
cd ~
mkdir steamos-btrfs
curl -sSL https://gitlab.com/popsulfr/steamos-btrfs/-/archive/main/steamos-btrfs-main.tar.gz | tar -xzf - -C steamos-btrfs --strip-components=1
./steamos-btrfs/install.sh
Choose to convert home and/or SD card. Enable auto updates and reboot! I use only SD card as updates can go wrong with home converted. SteamOS 3.5 expected an ext4 parition to resize as part of the update, for example.
Your Deck is now set up to use btrfs
instead of ext4
! 🎉 Simply insert and format an SD card as you normally would from Gaming Mode or use KDE Partition Manager from within Desktop Mode. Formatting may take up to 10 minutes for a 1TB drive, be patient.
Continue reading to learn how to install the extra goodies!
EmuDeck is a script that automates the installation and configuration of a variety of emulators.
- Open a browser and download EmuDeck making sure to save this to the desktop as a
.desktop
file https://www.emudeck.com/EmuDeck.desktop - Click EmuDeck icon on Desktop
- Choose Easy Mode
- Install to SD Card
- Be patient
- EmuDeck has now setup files and folders for roms/bios on your SD card
- Click Exit
Now we want a convenient way to transfer the roms/bios files over to our Deck. To do this we will enable and secure SSH so we can use FileZilla to connect with SFTP.
Start by disabling password access
sudo vim +/PasswordAuthentication /etc/ssh/sshd_config
- Press i to enter insert mode
- Change
yes
tono
next toPasswordAuthentication
making sure the line does not start with#
- Press Escape
Now enable key based authentication
- Type
/PubkeyAuthentication
to jump to the next change and press Enter - Remove the
#
at the start of the line and make sure we haveyes
followingPubkeyAuthentication
- Press Escape
- Type
:wq
then press Enter
Now start sshd
and set it to run at boot
sudo systemctl enable sshd --now
The Deck is now secured, the final step requires us to generate a key to connect with and add it to your Deck's authorized_keys
file.
- Download and install PuTTY on your computer
- Launch PuTTYgen
- Click Key -> SSH-2 Ed25519 key (or SSH-2 EdDSA depending on PuTTY version support, either is fine, unless you're adverse to NIST/Gov)
- Click Key -> Generate key pair
- Save the private key somewhere safe and have a backup!
- Copy the "Public key for pasting into OpenSSH" Back to the Deck and open Konsole once more and run the following commands
mkdir ~/.ssh
touch ~/.ssh/authorized_keys
vim ~/.ssh/authorized_keys
- Press i to enter insert mode
- Press
Shift+Insert
to paste your previously copied key (if using AnyDesk which shares clipboard) - Press
Escape
- Type
:wq
then hit Enter - Obtain Deck ip by typing
ip addr
then hit Enter You should see a line similar to
inet 192.168.1.25/24 brd 192.168.1.255 scope global dynamic noprefixroute wlan0
Your IP is 192.168.1.25
in this case
15. Restart sshd
to load your authorisation file. sudo systemctl restart sshd
Load your key and test your connection in Filezilla!
- Download Filezilla and install it.
- Open Filezilla
- Click Edit -> Settings
- Open Connection -> SFTP
- Click Add key file...
- Open your saved private key from the previous step
Now to test the connection
- Enter your Deck's IP as Host in the quick connect bar at the top
- Username is
deck
- Password blank
- Port 22
You should now be connected and see /home/deck
on the right. To add roms, bios files, saves and more navigate to /run/media/deck/<random-id>/Emulation/
. Come back to this guide once you've filled your SD up with goodies.
- Exit Steam (Right-click the icon near the clock)
- Click Steam Rom Manager
- Click Preview
- Click Generate app list
- Look through the images by the type dropdown along the top and check things looks right
- Click Save app list
Scripts and utilities to improve performance and manage storage on the Steam Deck.
- Download https://raw.githubusercontent.com/CryoByte33/steam-deck-utilities/main/InstallCryoUtilities.desktop to your Deck's desktop
- Double click
- Follow along, use recommended settings
Be sure to follow the BIOS instructions to increase memory.
Decky Loader is a homebrew plugin launcher for the Steam Deck. It can be used to stylize your menus, change system sounds, adjust your screen saturation, change additional system settings, and more.
- Visit https://github.com/SteamDeckHomebrew/decky-loader on your Deck
- Hit the big download button and save to the desktop.
- Double click
- Type your sudo password set before
- Choose latest Release
Some of my favourite plugins:
Finally, install some other useful tools from Discover
- Boilr (to add non-steam games such as from Epic)
- Heroic Games Launcher (to download Epic and GOG games)
- ProtonUp-Qt (to download newer Proton versions)
Like this guide? Consider buying me a beer/coffee!