Skip to content

Latest commit

 

History

History
370 lines (236 loc) · 12.8 KB

File metadata and controls

370 lines (236 loc) · 12.8 KB

SteamOS

Description

SteamOS is a Linux distribution developed by Valve. SteamOS 3 is based on the Arch Linux distribution with KDE Plasma.

Directory

References


Initial Setup

Description

This details how to setup SteamOS on initial installation/boot.

Update Hostname

From Gaming mode, update the hostname of the Steam Deck.

  1. Open the Steam menu by clicking the STEAM button.

  2. Click the Settings menu item.

  3. Click the System tab.

  4. Under the About section, click the button corresponding to the Hostname.

  5. Add your desired hostname for the Steam Deck in the provided text field.

  6. Click the Change & Restart button.

Create User Password

From Desktop mode, set up a sudo password for the deck user.

  1. Launch the Konsole app.

  2. Run the following command and follow the instructions to set a password for the deck user:

    passwd

From Desktop mode, this details how we can enable remote access into our system from other devices in the same network or externally.

Recommended Software Installation

From Desktop mode, install some essential Flatpak apps for the current user (or system):

  • Firefox
  • Plex
  • Discord
  • Spotify
  • Google Chrome
  • OBS Studio
  • Vesktop
  • KDiskMark
  • WhatsApp Desktop
  • LibreOffice
  • Signal Desktop

From Desktop mode, this details on how to configure default applications of various types on KDE Plasma.


Fish Shell

This details on how to make Fish the default shell for the user, setting an ideal configuration or profile for the Fish shell, and installing the Fisher plugin manager.

References

Notes

  • Since SteamOS is immutable, some of the dependencies required for the recommended configuration that were not preinstalled must either be installed manually (i.e. by downloading and installing their binary release from their source) or through Distrobox using an Arch Linux based container with yay installed.

  • Opting for podman over docker as the default container runtime is highly recommended for immutable systems due to its rootless nature.

  • In your Fish config.fish file, you may comment the entire # Package manager block since it does not apply for the SteamOS system.


SteamOS already comes with access to Flathub system-wide, follow this guide to add the Flathub repository specifically for the user.


ProtonUp-Qt

This details the installation of ProtonUp-Qt and GE-Proton, as well as how to update GE-Proton for your installed games down the line.

References


CryoUtilities

This details the installation and the setup steps for CryoUtilities in order to optimise our Steam Deck's performance.

References


To save storage space, game data can be moved to the SD card, and symlinked to the Deck's SSD. This procedure is called "Sync Game Data". This may cause issues for some games however, and this guide will undo the process for a particular game after having done it using the CryoUtilities programme.


This details how to install, setup, and maintain EmuDeck on SteamOS.


This details on certain configuration options or fixes for several games of various emulation systems.


This details on certain configuration options for several emulators.


This details how to mount a remote Samba share to our local machine.

Notes

  • It's potentially recommended to use a path within our user directory as the mountpoint for the remote directory (i.e. /home/deck/mynas) to avoid potential issues with the system's immutability.

  • Configurations made to the system's fstab file will not persist through (major) updates - use the systemd mount unit method instead to mount the remote storage.

  • Changes made to the system's hosts file will not persist either - when referencing the remote storage server in your mount configuration, use its IP address instead of its hostname.


Backing up with Vorta

This details installing and setting up Vorta to have it backup our personal files, and restoring them when needed.

References

Notes

  • These are our source folders and files to backup specific to the Steam Deck:

     ~/.config
     ~/.local/share/Steam/steamapps/common/Stardew Valley
     ~/.local/share/Steam/steamapps/compatdata
     ~/.local/share/Steam/steamapps/userdata
     ~/.var/app/io.github.shiiion.primehack/data/dolphin-emu/GC
     ~/.var/app/io.github.shiiion.primehack/data/dolphin-emu/StateSaves
     ~/.var/app/io.github.shiiion.primehack/data/dolphin-emu/Wii
     ~/.var/app/org.citra_emu.citra/data/citra-emu/sdmc
     ~/.var/app/org.citra_emu.citra/data/citra-emu/states
     ~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/GC
     ~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/StateSaves
     ~/.var/app/org.DolphinEmu.dolphin-emu/data/dolphin-emu/Wii
     ~/.var/app/org.libretro.RetroArch/config/retroarch/saves
     ~/.var/app/org.libretro.RetroArch/config/retroarch/states
     ~/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/PPSSPP_STATE
     ~/.var/app/org.ppsspp.PPSSPP/config/ppsspp/PSP/SAVEDATA
     ~/Applications
     ~/emudeck
     ~/ES-DE
     ~/homebrew
     ~/Pictures/Screenshots
     /run/media/mmcblk0p1/Emulation/roms/wiiu/mlc01/usr/save
     /run/media/mmcblk0p1/Emulation/saves/duckstation
     /run/media/mmcblk0p1/Emulation/saves/MAME
     /run/media/mmcblk0p1/Emulation/saves/pcsx2
     /run/media/mmcblk0p1/Emulation/saves/ryujinx
     /run/media/mmcblk0p1/Emulation/saves/scummvm
     /run/media/mmcblk0p1/Emulation/storage/rpcs3/dev_hdd0/home/00000001/savedata
     /run/media/mmcblk0p1/Emulation/storage/yuzu/nand/user/save

    This backs up some personal files and game-related files, including game saves and emulator configurations. Make necessary adjustments to the list based on your needs.


This details how to add web-based services to Steam so they can be accessed in gaming mode.


This details on how you can apply translation patches to your supported ROMs.


Note that this issue is a bug, and this guide is simply a workaround. It's likely that if the issue gets fixed, we can either ignore this workaround or revert it if it's already been implemented as it might disrupt or cause issues when attempting to update Google Chrome in the future.


Git LFS is needed to acquire files from git repositories that requires LFS. This details how we could set it up without root privileges.


Better Fonts

This details several configuration options for our desktop to have and use better looking fonts. This also includes Emoji, Microsoft Fonts, and Apple Fonts support.

References


This details how we can convert .xci Nintendo Switch games to .nsp.


Wake on LAN or Wireless

This details on how to enable, setup and use Wake on LAN (WoL) or Wake on Wireless (WoWLAN) on our system.

References


This details on some things that could be done to improve the experience of using the desktop mode.


This details some customisation options for the Plasma desktop.


Distrobox Installation and Usage

Note

As of SteamOS version 3.5, Distrobox (and Podman) should already be pre-installed by default.

This details how we can install, setup, and use Distrobox.

References


This details how we can install certain applications or libraries not present in your system via Distrobox.


This solves the issue of (some) Flatpak apps not looking native in KDE, and defaulting to a GTK theme instead.


This details how to install and run the Link's Awakening DX HD port.


This details installing and setting up KDE Connect on your system as a means to share files and other data wirelessly between devices on the same network.


This details how to install and run the Ocarina of Time PC port, Ship of Harkinian.


This details how to install and run the Majora's Mask PC port, 2 Ship 2 Harkinian.