DEV Community

Filip Stanis
Filip Stanis

Posted on

How to install Cinnamon on your Steam Deck

I was really excited when I learned that Valve's Steam Deck has a "Desktop Mode". This means that I can easily dock it and use it as it's a fully fledged desktop computer wherever I go.

By default, it's running Arch Linux and KDE Plasma. As I'm not super used to KDE, I decided to try installing Cinnamon desktop instead. The process wasn't as straightforward at time of writing so I'm sharing what I went through, in case it's useful for others.

Step 1: disable read-only and install dependencies

sudo steamos-readonly disable
sudo pacman-key --populate archlinux
sudo pacman -Sy archlinux-keyring
sudo pacman -Syu
sudo pacman -S base-devel linux-api-headers glibc binutils gcc git libarchive
Enter fullscreen mode Exit fullscreen mode

Step 2: install Yay (optional)

Some Cinnamon packages require Yay. This step is optional, but Yay will probably be useful down the line.

cd /opt
sudo git clone https://aur.archlinux.org/yay.git
sudo sudo chown -R deck:deck ./yay
cd yay
makepkg -si
Enter fullscreen mode Exit fullscreen mode

Step 3: install Cinnamon

sudo pacman -S cinnamon gnome-terminal
Enter fullscreen mode Exit fullscreen mode

Step 4: replace Plasma with Cinnamon

Steam Deck has a series of scripts that allow for switching between "Desktop Mode" and "Gaming Mode". As to not disrupt these flows, I'm just replacing the binary being launched from Plasma to Cinnamon's in /usr/bin/startplasma-steamos-oneshot.

sudo cp /usr/bin/startplasma-steamos-oneshot /usr/bin/startplasma-steamos-oneshot.old
sudo sed -i 's#CHAINED_SESSION="/usr/bin/startplasma-x11"#CHAINED_SESSION="/usr/bin/cinnamon-session-cinnamon"#' /usr/bin/startplasma-steamos-oneshot
Enter fullscreen mode Exit fullscreen mode

Step 5: replace desktop shortcut

Steam Deck has a useful "Return to Gaming Mode" shortcut on the desktop that can be used to quickly switch back from Desktop Mode. This is merely a quick way to log off, but Cinnamon uses a different mechanism to achieve it, so we can patch that up too.

cp ~/Desktop/Return.desktop ~/Desktop/Return.desktop.old
sed -i -E 's/^Exec=.*/Exec=cinnamon-session-quit --logout --no-prompt/' ~/Desktop/Return.desktop
Enter fullscreen mode Exit fullscreen mode

Step 6: remove KDE Plasma (optional)

After installing Cinnamon and verifying it works, I decided to remove most of Plasma to free up some space. Make sure you reboot and verify everything works fine before this step!

pacman -R plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-integration plasma-nm plasma-pa plasma-systemmonitor plasma-thunderbolt plasma-vault plasma-workspace plasma-workspace-wallpapers plasma-wayland-session powerdevil systemsettings plasma-meta kdeplasma-addons kgamma5 khotkeys kinfocenter sddm-kcm dolphin kwrite oxygen milou kwrited kwayland-server kwin kwayland-server kwallet-pam kwayland-integration ksystemstats  ksshaskpass kscreenlocker kscreen kmenuedit kmenuedit kde-gtk-config kde-cli-tools kactivitymanagerd kuserfeedback krunner kdesu  discover breeze breeze-icons kdecoration
Enter fullscreen mode Exit fullscreen mode

Top comments (0)