This guide contains descriptions of settings and utilities for safely improving the performance, and useful information for advanced Steam Deck users. All settings supported LCD and OLED versions.
This is an optimized mode for launching your games, similar to Big Picture on PC.
In this mode, SteamOS is installed (based on the Arch Linux distribution with KDE Plasma as the desktop environment), and you have the full PC experience โ connect keyboard/mouse/devices, install any apps, use a console, and many more...
By default, your Steam Deck loads on Gaming Mode
.
To switch to Desktop Mode
, follow these steps:
- Press the Steam button and select
Power
- Scroll and click
Switch to Desktop
- Restart your Steam Deck when prompted
To return to Gaming Mode
:
- Restart your Steam Deck
- Double-click the
Return to Gaming Mode
icon on Desktop
To show the keyboard on Desktop Mode
and Gaming Mode
, use the Steam + X button combination.
Tip
Hold the Steam button on Gaming Mode
to see a list of all available shortcuts.
To access certain advanced settings, you need to enable Developer Mode
:
- Switch your Steam Deck to
Gaming Mode
- Press Steam button and select
Settings
- Scroll down and click
Developer
- Enable
Developer Mode
Now, one thing you are going to want to do is move to the beta channel. The reason is that Valve is constantly pushing out updates and new features, and being in the beta channel ensures you get all the latest updates as they're released.
To enable the Beta Channel
, follow these steps:
- Switch your Steam Deck to
Gaming Mode
- Press Steam button and select
Settings
- Scroll up and click
System
- Change
System Update Channel
toBeta
- Change
OS Update Channel
toSteam Deck Beta
- Restart your Steam Deck when prompted
By default, the Steam Deck user is shipped with no password. This is a secure setting that prevents access via SSH and can't be used to run commands via sudo
for installing homebrew apps.
To set the password, follow these steps:
- Switch your Steam Deck to
Desktop Mode
- Open the application menu and select
System
- Run the
Konsole
app
Type this command and hit Enter:
passwd
Type your new password (typed characters do not appear on the screen!) and hit Enter. After retyping the password, hit Enter again.
SSH allows you to remotely interact with your Steam Deck, so you can transfer games from another Windows/MacOS/Linux computer directly to your Steam Deck. You can also do helpful things like install mods, manage game configs, keep tabs on running processes, and other fun maintenance things.
To enable SSH, follow these steps:
- Switch your Steam Deck to
Desktop Mode
- Open the application menu and select
System
- Run the
Konsole
app
This would make the SSH server start at boot:
sudo systemctl enable sshd
After that, run this command to start the server immediately:
sudo systemctl start sshd
Now, on your computer, you should be able to access your Steam Deck terminal with this command and type password:
ssh deck@steamdeck.local
Tip
If your router is not catching up with the domain name, you must type the Steam Deck's IP address manually instead of the steamdeck.local
.
You can easily check the IP address by typing ip addr
on the Konsole
app.
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.
To install Decky
:
- Switch your Steam Deck to
Desktop Mode
- Open
Firefox
and go to https://deckbrew.xyz - Download the
.desktop
file into your Desktop - Double-click the
Install Decky
icon on Desktop - Enter your password when prompted
Alternatively, you can install Decky
via console:
curl -L https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/install_prerelease.sh | sh
...and go to Decky
:
- Switch your Steam Deck to
Gaming Mode
- Press the ... button
- Select
Decky
- Install plugins preview
Recommended plugins:
AutoSuspend
โ automatically suspend on low powerDeckSettings
โ browse recommended game settingsHLTB for Deck
โ show game lengths according to HowLongToBeatProtonDB Badges
โ show tappable ProtonDB badges on your game pages
These are basic settings for additional optimization.
Collection of SteamOS tweaks to improve Steam Deck performance by A.T.B.
To apply tweaks:
- Switch your Steam Deck to
Desktop Mode
- Open the application menu and select
System
- Run the
Konsole
app
Run script via console:
curl -L https://raw.githubusercontent.com/denis-g/steam-deck-optimization-guide/master/scripts/steamos_optimization.sh | sh
Enter your password when prompted.
Scripts and utilities to enhance the Steam Deck experience โ swap tuner, memory parameters and storage manager optimized.
Note
At the moment CryoUtilities is not actually for SteamOS version 3.6 and higher details.
Old guide:
To install CryoUtilities
:
- Switch your Steam Deck to
Desktop Mode
- Open
Firefox
and go to https://github.com/CryoByte33/steam-deck-utilities#install - Download the
.desktop
file into your Desktop - Double-click
Install CryoUtilities
icon on Desktop
Alternatively, you can download installer CryoUtilities
on Desktop via console:
curl -s -L "https://raw.githubusercontent.com/CryoByte33/steam-deck-utilities/main/InstallCryoUtilities.desktop" -o "$HOME/Desktop/InstallCryoUtilities.desktop"
And run the CryoUtilities
installer:
- Open the application menu and select
Utilities
- Run the
CryoUtilities
app - Enter your password when prompted
- Select
Recommended Settings
By default, the Steam Deck uses 1GB of VRAM. This means the CPU will use the remaining 15GB of RAM. The GPU can use more than the 1GB reserved, but priority will always be given to the CPU.
To change the VRAM size needed to run UEFI (aka BIOS):
- Turn off your Steam Deck
- Hold the Volume Up (+) button and turn on Steam Deck
- Wait for UEFI to load
- Click
Setup Utility
icon - Click
Advanced
tab - Scroll down and select
UMA Frame buffer Size
- Set it to
4GB
- Click
Save and Exit
Warning
Games not compatible with this setting:
- Red Dead Redemption 2
Important
This setting reset to default after the UEFI update.
Btrfs with its transparent compression and deduplication capabilities can achieve impressive storage gains but also improve loading times because of less data being read. It also supports instant snapshotting which is very useful to roll back to a previous state.
Caution
Before installation read all information on the repo about this tweak and potential problems like a free space available, and can't go back to ext4 after the conversion process, flatpak issues...
To install SteamOS-Btrfs
:
- Switch your Steam Deck to
Desktop Mode
- Open
Firefox
and go to https://gitlab.com/popsulfr/steamos-btrfs#desktop-installer - Download the
.desktop
file into your Desktop - Double-click this icon on Desktop
- Enter your password when prompted
- When your Steam Deck reboots wait the conversion process will end (it's not frozen! don't reboot!)
Alternatively, you can install SteamOS-Btrfs
via console:
t="$(mktemp -d)"
curl -sSL "https://gitlab.com/popsulfr/steamos-btrfs/-/archive/main/steamos-btrfs-main.tar.gz" | tar -xzf - -C "$t" --strip-components=1
"$t/install.sh"
rm -rf "$t"
Although 60 FPS provides the best gaming experience, it's not always feasible due to the game's inability to sustain it or the draining of battery life. In such cases, a lower option like 30 FPS is preferred. While 40 FPS may appear closer to 30 FPS, it's not the case.
- 60 FPS โ game refreshes every 16.7 ms
- 40 FPS โ game refreshes every 25 ms
- 30 FPS โ game refreshes every 33.3 ms
By doing the math, one can see that 40 FPS is precisely in the middle between 30 and 60 FPS. The quicker a game updates, the more improvement there is in input lag, leading to a smoother visual experience. Digital Foundry Test
To set the Framerate Limit
:
- Switch your Steam Deck to
Gaming Mode
- Press the ... button
- Select
Perfomance
- Scroll down and set the
Framerate Limit
to40
- Set the
Refresh Rate
to40
ProtonUp-Qt is a simple and great way to manage the likes of GE-Proton (previously known as Proton GE), the Luxtorpeda compatibility tool for Native Linux game engines and more.
Install ProtonUp-Qt
:
- Switch Steam Deck on
Desktop Mode
- Open application menu and select
Utilities
- Run
Discover
app - Type on searchbox
proton
- Select
ProtonUp-Qt
and clickInstall
Alternatively, you can install ProtonUp-Qt
via console:
sudo flatpak install flathub net.davidotek.pupgui2 -y
For install latest Proton version:
- Open application menu and select
Utilities
- Run
ProtonUp-Qt
app - Click
Add version
, select latest version, and clickInstall
Now, if you need to change the Proton version for a game, you can do so in three ways.
Via the ProtonUp-Qt
app:
Warning
Close the Steam app before changes!
...or change via the Steam
app:
...or change on Gaming Mode
:
Some third party apps or games must be launched with the specific locale and not language running on your system.
For example, japanese apps must be launched with JA-JP
locale:
- Switch your Steam Deck to
Gaming Mode
orDesktop Mode
- Select your app or game
- Go to
Settings
- Change
Launch Options
toLANG=ja_JP.UTF-8 %command%
This is a wrapper script that allows you to easily run Winetricks commands for Steam Play/Proton games among other common Wine features, such as launching external Windows executables. This is often useful when a game requires closed-source runtime libraries or applications that are not included with Proton.
Install Protontricks
:
- Switch Steam Deck on
Desktop Mode
- Open application menu and select
Utilities
- Run
Discover
app - Type on searchbox
proton
- Select
Protontricks
and clickInstall
Alternatively, you can install Protontricks
via console:
sudo flatpak install flathub com.github.Matoking.protontricks -y
Sometimes it is necessary to install or update software in a container with a specific game.
For example, update the old Uplay Launcher
to the new Ubisoft Connect
for the correct launch of the game:
- Open application menu and select
Utilities
- Run
Protontricks
app - Select your game and click
OK
- Select
Install an application
and clickOK
- Scroll down, select
Uplay
and clickOK
Next > Next > Finish
and wait when application install
Cabextract is Free Software for extracting Microsoft cabinet files, also called .CAB files.
For install cabextract
into your system:
- Switch Steam Deck on
Desktop Mode
- Open the application menu and select
System
- Run the
Konsole
app
Type this command and hit Enter:
sudo steamos-readonly disable
Enter your password when prompted. Also needed to type all the below commands:
sudo pacman-key --init
sudo pacman-key -u
sudo pacman-key --populate
sudo pacman -S cabextract
After is completed type this command and hit Enter again:
sudo steamos-readonly enable
Alternatively, it is needed to install cabextract
for a specific game. For example, this is needed to fix skipping all cutscenes and videos in Darksiders: Warmastered Edition
.
- Switch Steam Deck on
Desktop Mode
- Open
Firefox
and go to https://gitlab.com/steevyp/mf-installcab_steamdeck - Download the
.zip
source code archive file into your Downloads directory - Extract the
.zip
file
Alternatively, you can download .zip
and extract the file via console:
curl -s -L "https://gitlab.com/steevyp/mf-installcab_steamdeck/-/archive/main/mf-installcab_steamdeck-main.zip" -o "$HOME/Downloads/mf-installcab_steamdeck-main.zip"
unzip -o "$HOME/Downloads/mf-installcab_steamdeck-main.zip" -d "$HOME/Downloads"
- Open the application menu and select
System
- Run the
Konsole
app
Type this command and hit Enter:
PROTON="$HOME/.steam/root/steamapps/common/Proton 8.0" && \
WINEPREFIX="$HOME/steam/root/steamapps/compatdata/462780/pfx" ./install-mf-64.sh -proton
And wait when application install.
- Copy
mfplat.dll
to installed game directory - Switch your Steam Deck to
Gaming Mode
- Change the Proton version to
8.0
for a game
Alternatively, you can copy mfplat.dll
file via console:
cp "$HOME/Downloads/mf-installcab_steamdeck-main/mfplat.dll" "$HOME/.steam/steam/steamapps/common/Darksiders Warmastered Edition/mfplat.dll"
Note
462780
is ID for Darksiders: Warmastered Edition
game.
If possible, set it to FXAA or TAA. SSAA or MSAA are mostly not recommended because they consume a lot of power.
Reduce all reflections to the lowest possible settings. They are usually expensive to process.
This one is a bit tricky, as it is heavily dependent on the algorithm used. Try playing with the settings to see what works best for your game.
Turn it off, as many game engines and developers misuse it, causing a lot of stress on the GPU. It won't be missed on an 800p screen.
Shadows can also be very resource-intensive, depending on how they are rendered. This is another setting you should try lowering first.
Official:
Community:
Steam Deck illustration created by ApeWTF. All screenshots from opened internet resources. All rights reserved.