Git Product home page Git Product logo

denis-g / steam-deck-optimization-guide Goto Github PK

View Code? Open in Web Editor NEW
130.0 4.0 4.0 1.99 MB

๐ŸŽฎ 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.

Home Page: https://steamcommunity.com/sharedfiles/filedetails/?id=2944561919

steam steamdeck steamos homebrew steam-deck cryoutilities decky-loader linux-gaming proton steam-os

steam-deck-optimization-guide's Introduction

Steam Deck

Steam Deck Optimization Guide

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.



Basic

Gaming Mode

This is an optimized mode for launching your games, similar to Big Picture on PC.

Steam Deck Gaming Mode


Desktop Mode

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...

Steam Deck Desktop Mode


Switch Modes

By default, your Steam Deck loads on Gaming Mode.

To switch to Desktop Mode, follow these steps:

  1. Press the Steam button and select Power
  2. Scroll and click Switch to Desktop
  3. Restart your Steam Deck when prompted

Switch Mode on Steam Deck

To return to Gaming Mode:

  • Restart your Steam Deck
  • Double-click the Return to Gaming Mode icon on Desktop

Shortcuts

To show the keyboard on Desktop Mode and Gaming Mode, use the Steam + X button combination.

Hold the Steam button on Gaming Mode to see a list of all available shortcuts.


Pre-Settings

Developer Mode

First, to install homebrew apps, you need to enable Developer Mode:

  1. Switch your Steam Deck to Gaming Mode
  2. Press Steam button and select Settings
  3. Scroll down and click Developer
  4. Enable Developer Mode
  5. Scroll down and enable CEF Remote Debugging
  6. Restart your Steam Deck when prompted

Enabled Developer Mode on Steam Deck


Beta Channel

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:

  1. Switch your Steam Deck to Gaming Mode
  2. Press Steam button and select Settings
  3. Scroll up and click System
  4. Change System Update Channel to Beta
  5. Change OS Update Channel to Steam Deck Beta
  6. Restart your Steam Deck when prompted

Change update channel on Steam Deck


Root Password

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:

  1. Switch your Steam Deck to Desktop Mode
  2. Open the application menu and select System
  3. 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.

Set Root Password on Steam Deck


Enable SSH

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:

  1. Switch your Steam Deck to Desktop Mode
  2. Open the application menu and select System
  3. 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:

Note: 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.


Homebrew

Decky

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:

  1. Switch your Steam Deck to Desktop Mode
  2. Open Firefox and go to https://deckbrew.xyz
  3. Download the .desktop file into your Desktop
  4. Double-click the Install Decky icon on Desktop
  5. Enter your password when prompted

Alternatively, you can install Decky via console:

curl -L https://github.com/SteamDeckHomebrew/decky-installer/releases/latest/download/install_release.sh | sh

...and go to Decky:

  1. Switch your Steam Deck to Gaming Mode
  2. Press the ... button
  3. Select Decky
  4. Install plugins preview

Decky

Recommended plugins:

  • AutoSuspend โ€“ automatically suspend on low power
  • DeckSettings โ€“ browse recommended game settings
  • HLTB for Deck โ€“ show game lengths according to HowLongToBeat
  • ProtonDB Badges โ€“ show tappable ProtonDB badges on your game pages

Tweaks

These are basic settings for additional optimization.

CryoUtilities

Scripts and utilities to enhance the Steam Deck experience โ€” swap tuner, memory parameters and storage manager optimized.

Compare results:

CryoUtilities compare

To install CryoUtilities:

  1. Switch your Steam Deck to Desktop Mode
  2. Open Firefox and go to https://github.com/CryoByte33/steam-deck-utilities#install
  3. Download the .desktop file into your Desktop
  4. 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:

  1. Open the application menu and select Utilities
  2. Run the CryoUtilities app
  3. Enter your password when prompted
  4. Select Recommended Settings

CryoUtilities


VRAM

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.

Compare results:

Steam Deck with 4Gb VRAM

To change the VRAM size needed to run UEFI (aka BIOS):

  1. Turn off your Steam Deck
  2. Hold the Volume Up (+) button and turn on Steam Deck
  3. Wait for UEFI to load
  4. Click Setup Utility icon
  5. Click Advanced tab
  6. Scroll down and select UMA Frame buffer Size
  7. Set it to 4GB
  8. Click Save and Exit

Steam Deck UEFI

๐Ÿ”ด Attention: Games not compatible with this setting:

  • Red Dead Redemption 2

โš ๏ธ Warning: This setting reset to default after the UEFI update.


BTRFS

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.

Compare results:

Steam Deck with 4Gb VRAM

๐Ÿ”ด Attention: 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:

  1. Switch your Steam Deck to Desktop Mode
  2. Open Firefox and go to https://gitlab.com/popsulfr/steamos-btrfs#desktop-installer
  3. Download the .desktop file into your Desktop
  4. Double-click this icon on Desktop
  5. Enter your password when prompted
  6. 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"

40 FPS

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:

  1. Switch your Steam Deck to Gaming Mode
  2. Press the ... button
  3. Select Perfomance
  4. Scroll down and set the Framerate Limit to 40
  5. Set the Refresh Rate to 40

Force 40 FPS on Steam Deck


ProtonUp-Qt

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:

  1. Switch Steam Deck on Desktop Mode
  2. Open application menu and select Utilities
  3. Run Discover app
  4. Type on searchbox proton
  5. Select ProtonUp-Qt and click Install

Alternatively, you can install ProtonUp-Qt via console:

sudo flatpak install flathub net.davidotek.pupgui2 -y

For install latest Proton version:

  1. Open application menu and select Utilities
  2. Run ProtonUp-Qt app
  3. Click Add version, select latest version, and click Install

ProtonUp-Qt

Now, if you need to change the Proton version for a game, you can do so in three ways.

Via the ProtonUp-Qt app:

Change Proton version on ProtonUp-Qt

โš ๏ธ Warning: Close the Steam app before changes!

...or change via the Steam app:

Change Proton version on Steam

...or change on Gaming Mode:

Change Proton version on Steam


Enhanced

Protontricks

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:

  1. Switch Steam Deck on Desktop Mode
  2. Open application menu and select Utilities
  3. Run Discover app
  4. Type on searchbox proton
  5. Select Protontricks and click Install

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:

  1. Open application menu and select Utilities
  2. Run Protontricks app
  3. Select your game and click OK
  4. Select Install an application and click OK
  5. Scroll down, select Uplay and click OK
  6. Next > Next > Finish and wait when application install

ProtonUp-Qt


Cabextract

Cabextract is Free Software for extracting Microsoft cabinet files, also called .CAB files.

For install cabextract into your system:

  1. Switch Steam Deck on Desktop Mode
  2. Open the application menu and select System
  3. 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.

  1. Switch Steam Deck on Desktop Mode
  2. Open Firefox and go to https://gitlab.com/steevyp/mf-installcab_steamdeck
  3. Download the .zip source code archive file into your Downloads directory
  4. 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"
  1. Open the application menu and select System
  2. 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.

  1. Copy mfplat.dll to installed game directory
  2. Switch your Steam Deck to Gaming Mode
  3. 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.


In-Game Settings

โ— Anti-Aliasing

If possible, set it to FXAA or TAA. SSAA or MSAA are mostly not recommended because they consume a lot of power.

โ— Screen Space Reflections

Reduce all reflections to the lowest possible settings. They are usually expensive to process.

โ— Ambient Occlusion

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.

โ— Tessellation

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

Shadows can also be very resource-intensive, depending on how they are rendered. This is another setting you should try lowering first.


References

Official:

Community:


Steam Deck illustration created by ApeWTF. All screenshots from opened internet resources. All rights reserved.

steam-deck-optimization-guide's People

Contributors

denis-g avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

steam-deck-optimization-guide's Issues

VRAM instructions is wrong

Hold the Volume Up (+) and Power buttons is incorrect, it should be
Hold the Volume Up (+) while powering on (a.k.a. you press Power buttons normally and don't hold)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.