Preface: Steam Deck is not a fully supported device, but it can be made to work with Plucky. It will require maintenance with each major Deck update because the updates will break Plucky, but the maintenance process is not very difficult nor time consuming. If you are fine with that, read on.

Valve’s Steam Deck runs a customized version of Arch Linux called SteamOS. Since Plucky is supported on Linux, this means that it’s possible to install Plucky on a Steam Deck, but the installation process involves some extra steps compared to installing on a standard Linux desktop.

This is primarily due to the fact that Valve, for security reasons, ships the Deck’s operating system with an immutable file system. [1] The manufacturer expects the user to only install apps and software via flatpaks in the Discover store. Plucky doesn’t come as a flatpak, so in order to get it installed it’s necessary to disable read-only mode and make the OS writable. Valve allows the end-user to do this as there isn’t a stability risk in doing so (assuming you carefully follow this guide and don’t run random commands you find on the internet), but it comes with a caveat: because the user is not intended to write things to directories that are factory-default set to read-only, Valve warns that “whatever you install may be wiped with the next SteamOS update.” [2]

This simply means that, when a major update occurs, it will be necessary to quickly run the steps in the recovery section on this page to repair the broken/missing files. If you have followed these steps before and are trying to repair Plucky after upgrading the Deck OS, go straight to recovery steps after an OS upgrade.

If you aren’t using a keyboard, mouse and USB-C hub, and are instead using the Deck’s native interface, please refer to the controls below.

Deck Button Input
A Enter
Right touchpad Mouse
Right Trigger Left-click
Left Trigger Right-click
X Open on-screen keyboard
Y Space
B Escape / Backspace
D-Pad Arrow keys

General advice

Unless otherwise stated, accept default on all prompts issued by Konsole when following the terminal steps.

Remember, A is the same as Enter, so you don’t have to open the keyboard and type ‘y’ every time to accept the default.

The bash commands are written so that you can copy and paste them directly into Konsole, since typing on the Deck’s on-screen keyboard is not the fastest nor most efficient method, and can lead to more typos than a physical keyboard.

Installation steps

  1. Create a sudo password

    There are many tutorials out there for how to do this, but the quickest is to use passwd inside Konsole (the Deck’s pre-installed terminal). We will be using Konsole a lot for this guide, so make sure to keep it open.

    passwd
    
  2. Disable steamos-readonly to make the operating system writable. When prompted, enter the password you created in step 1.

    sudo steamos-readonly disable
    
  3. Initialize the keyring, populate it, and sync package databases with the repo indexes.

    sudo pacman-key --init
    sudo pacman-key --populate archlinux
    sudo pacman -Sy
    
  4. Open the Discover store, click on Installed, and remove all browsers (the Deck comes with Firefox’s flatpak by default,so make sure to remove that). If you are following this guide on the Steam Deck itself, print off these instructions, or follow them from another device because you won’t have a web browser until after completing the next step.

  5. Depending on which browser(s) you want, the commands you enter will be a bit different. Firefox is particularly straightforward as all the dependencies you will need are already installed. Chromium browsers (Chrome, Edge, and Brave) require other dependencies and will also need to be installed with an AUR-helper like yay.

    Firefox

    sudo pacman -S firefox
    

    Prerequisite for Chromium browsers

    sudo pacman -S --needed base-devel
    

    It’s outside the scope of this guide, so here is a tutorial for installing yay for those who need it: https://www.youtube.com/watch?v=cBeSJvYkV7I&t=489s.

    For the following commands, do not use sudo

    Chrome

    yay -S google-chrome
    

    Edge

    yay -S microsoft-edge-stable-bin
    

    Brave

    yay -S brave-bin
    
  6. Download plucky-install.tar from https://getplucky.net and save in Downloads folder

  7. Install the .tar we downloaded like a normal Linux installation.

    cd /tmp
    rm -f ./pluck*install*
    for tarball in $HOME/Downloads/pluck*.tar*; do echo $tarball; done
    tar xf $tarball
    sudo ./plucky-install
    
  8. Wait patiently for the silent install to complete. It is finished when it opens your defaut browser and loads the welcome page.

  9. Verify it installed properly by running pluck version in Konsole.

    If it returns the version number, it installed properly. If it says bash: pluck: command not found, you did not disable read-only mode in step 2.

Post-install setup

All that’s left is to create a proper configuration for the device.

The Discover store will be blocked by default while feature system is turned on. If some functionality from the store is needed, it should probably be allowed on a schedule. Likewise with package managers.

To allow installing/updating non-Steam apps and software on Saturdays at 10am until noon:

pluck + when A10-12 allow program plasma-discover
pluck + when A10-12 allow program git-remote-http

Some other recommended settings:

pluck + block image
pluck + block video
pluck + system

Jon has shared a public configuration that whitelists Valve’s IP addresses. [3] Importing this configuration should mean no further configuration is required for allowing Valve/Steam resources: https://u.pluckeye.net/configurations/76004

Don’t forget to visit https://u.pluckeye.net and sign-in at least once in order to associate the device with your account. Also, assign the newly associated device with a configuration (see next section).

Create a new config called ‘Steam Deck’

It might be useful to create a new configuration just for the Deck. Particularly if you use other devices with your primary configuration, you may not want overlap with Deck-specific rules like allow program steam.

Recovery steps after an OS upgrade

After upgrading a test Deck from OS version 3.3.2 to 3.3.3, the following things were broken: Plucky, Firefox, Chrome, and Brave (in other words, everything installed by means other than the Discover store).

Recovery is rather simple, though. In case you find yourself without internet, it may be beneficial to save the following bash commands to a text file in the home directory.

sudo steamos-readonly disable
sudo pacman-key --init
sudo pacman-key --populate archlinux
sudo pacman -Sy
sudo pacman -S --overwrite \* base-devel
sudo pacman -S --overwrite \* firefox
yay -S --overwrite \* google-chrome
yay -S --overwrite \* brave-bin
cd /tmp
rm -f ./pluck*install*
for tarball in $HOME/Downloads/pluck*.tar*; do echo $tarball; done
tar xf $tarball
sudo ./plucky-install

After running the commands on the test Deck, everything was restored to a working state without any data loss. Plucky’s config remained, as did all browser configuration and personal data.

Troubleshooting

PGP package errors

One user reported encountering an error following the recovery steps after a Steam Deck update. When trying to install Firefox, he received an error stating the package “is unknown trust”.

The solution he found was to refresh the keys.

sudo pacman-key --refresh-keys

After doing so, he reported being able to follow the rest of the above commands and have everything working again.


Last updated: 2023-12-12