Update Routine

Weekly maintenance for a healthy system

โšก The 5-Minute Weekly Routine

Perform these steps in Desktop Mode terminal.

# 1. Update system (do this first) ujust update # (This handles Bazzite system + Flatpaks + Firmware) # 2. Update Proton-GE (if new version available) # Open ProtonPlus -> Check for updates -> Install # 3. Check EmuDeck (monthly) # Run EmuDeck app -> Update (if available) # Then reboot if system update installed: sudo systemctl reboot

Detailed Breakdown

Bazzite System Critical

Where: Desktop Mode โ†’ Terminal โ†’ ujust update OR sudo rpm-ostree update

How Often: Weekly or when system notification appears

โš ๏ธ Can Break Things: System updates require reboot and can occasionally cause boot issues or hardware regression.


Backup Strategy: Bazzite automatically keeps 2 previous system versions. At boot menu (GRUB), you can select previous version if new one breaks.

Flatpak Apps Safe

Where: Desktop Mode โ†’ Terminal โ†’ flatpak update

How Often: 2-3 times per week

โš ๏ธ Rarely Breaks Things: Occasionally an app update may have bugs.


Downgrade Strategy: flatpak update --commit=OLDER_COMMIT com.app.Name

Firmware Risk

Where: Desktop Mode โ†’ Terminal โ†’ sudo fwupdmgr update

How Often: Monthly, or when notified

โš ๏ธ Can Break Things: Bad firmware can brick hardware components.


Safety: Only update on full battery or plugged in. Never interrupt.

Windows 11 Risk

Where: Settings โ†’ Windows Update

How Often: Monthly (Patch Tuesday)

โš ๏ธ Can Break Boot: Windows updates sometimes overwrite bootloader.


Backup Strategy: Have Bazzite USB installer ready to repair boot via Rescue mode.

Partition Layout (4TB SSD)

Do not touch the EFI or System partitions manually.

/dev/nvme0n1p1 - EFI System Partition (~500MB) [Boot files] /dev/nvme0n1p2 - Windows (1TB) [Windows 11] /dev/nvme0n1p3 - Bazzite /boot (~1GB) [Bazzite boot] /dev/nvme0n1p4 - Bazzite / (~349GB) [Bazzite system] /dev/nvme0n1p5 - Shared (~2.4TB) [Your games/files]

Dual Boot Management

  • Method 1 (GRUB): When you turn on the Legion Go 2, you'll see a boot menu. Use D-pad to select Bazzite or Windows Boot Manager.
  • Method 2 (BIOS): Hold Volume Down while pressing power. Select boot device from BIOS menu.
  • Boot Issues? If Windows update breaks GRUB, boot Bazzite USB โ†’ Rescue โ†’ sudo grub2-install /dev/nvme0n1

Bazzite Basics

  • Immutable OS: The core system files are read-only. Updates happen all-at-once.
  • Gaming Mode: Hold POWER + Volume Up for 3 seconds to switch context.
  • Desktop Mode: Full KDE Plasma desktop. Access terminal here.
  • File System: Your personal files live in /home/deck/.

The Shared Drive (2.4TB)

This partition is accessible from both Windows and Bazzite. Store games, ROMs, and media files here to avoid duplication.

Permanent Mounting (Strict Workflow)

Follow these steps exactly to enable write permissions in Bazzite.

1. Identify and Create Directory:

sudo mkdir /media/SharedDrive

2. Check user IDs (Should be 1000):

id -u id -g

3. Attached Disk Partition (Find the Partition Name):

sudo fdisk -l

4. Identify UUID (Copy this):

sudo blkid

5. Edit fstab:

sudo nano /etc/fstab

6. Paste at the bottom (Replace UUID and Drive Name):

UUID=[PASTE UUID HERE] /media/SharedDrive ntfs uid=1000,gid=1000,rw,user,exec,umask=000

Press Ctrl+O (Save), then Ctrl+X (Exit).

7. Final Steps:

  • Reboot your system.
  • IN WINDOWS: Disable Fast Startup in Power Settings to prevent drive locking.

Best Practices & Folder Structure

Install games to this path to save space.

SharedDrive/ โ”œโ”€โ”€ Games/ โ”‚ โ”œโ”€โ”€ Steam/ (Install Steam games here) โ”‚ โ”œโ”€โ”€ Epic/ (Heroic games) โ”‚ โ”œโ”€โ”€ GOG/ (GOG games) โ”‚ โ””โ”€โ”€ Standalone/ (Non-launcher games) โ”œโ”€โ”€ Emulation/ โ”‚ โ”œโ”€โ”€ ROMs/ (Symlinked from /home/deck/Emulation) โ”‚ โ””โ”€โ”€ Saves/ โ”œโ”€โ”€ Media/ โ””โ”€โ”€ Backups/

Permissions Issues? If you can't write to the drive, verify the fstab mount options above or run sudo ntfsfix /dev/nvme0n1p5.

Decky Loader

Access via Quick Access (ยทยทยท) button in Gaming Mode. Updates are handled inside the Decky settings menu.

Broken? Run this in Desktop Terminal:

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

Essential Plugins

Bazzite Buddy, ProtonDB Badges, SteamGridDB, CSS Loader.

Performance & Tools

Frame Gen, MangoHud, Volume Boost, MagicPods.

Tracking & Customization

Playtime, Playcount, Animation Changer, CheatDeck.

Essential Plugins

Bazzite Buddy

Purpose: Quick access to Bazzite-specific tools and settings. Toggle performance settings, view system info, and access Bazzite utilities directly from Gaming Mode.

ProtonDB Badges

Purpose: Shows game compatibility ratings from ProtonDB directly in your library.

  • ๐ŸŸข Platinum: Works perfectly
  • ๐ŸŸก Gold: Works with minor tweaks
  • ๐Ÿ”ด Bronze: Barely playable

SteamGridDB

Purpose: Automatically download custom game artwork (covers, backgrounds, logos). Essential for non-Steam games added via Heroic or Lutris.

CSS Loader

Purpose: Customize the look of Gaming Mode with themes. Browse the store to change fonts, colors, and layouts.

Performance & Tools

Decky Frame Gen

Purpose: Adds frame generation (like FSR 3) to games. Enable in Quick Access โ†’ Decky โ†’ Frame Gen. If games stutter, try lowering the multiplier.

MangoHud (Mango Peel)

Purpose: Performance overlay (FPS, CPU/GPU usage, temps). Configure position and displayed metrics. Toggle in-game with Shift + F12.

Volume Boost

Purpose: Amplify volume beyond 100%. Useful for quiet games. Warning: Can cause audio distortion at levels >150%.

MagicPods

Purpose: Better integration for AirPods and Bluetooth headphones. Displays battery level and enables automatic pausing when removed.

Tracking & Customization

CheatDeck

Purpose: Enable game cheats and trainers for single-player games. NEVER use in multiplayer games (risk of ban).

Animation Changer

Purpose: Change boot animations and suspend screens. Browse community-made animations directly in the plugin.

Playtime & Playcount

Purpose: Track actual time spent in games (more detailed than Steam's tracker) and how many times you've launched each title. Helps with backlog management.

All managed via Flatpak. Update regularly via terminal using flatpak update.

Heroic Games Launcher

For: Epic Games Store & GOG.

Install to Shared Drive!

Lutris

For: Battle.net, Ubisoft, EA, Standalone EXEs.

System Tools

Flatseal, Protontricks, Gear Lever, Warehouse.

Heroic Games Launcher

Purpose

Play Epic Games Store and GOG games on Linux using Proton/Wine.

First Time Setup

  1. Open Heroic and log in to Epic Games (or GOG).
  2. Crucial: Configure default install path to /run/media/deck/SharedDrive/Games/.

Installing a Game

  • Select game from Library โ†’ Install.
  • Confirm install location is on the Shared Drive.
  • Select Wine/Proton version (Default usually works).

Troubleshooting

  • Game won't launch: Settings โ†’ Wine Version โ†’ Download a different version (GE-Proton).
  • Login issues: Clear cache in Settings.
  • Permissions: If Heroic cannot see the Shared Drive, use Flatseal to grant filesystem access.

Lutris

Purpose

Universal game launcher. Best for Battle.net, Ubisoft Connect, EA App, and old disc games.

Installing Games

  1. Search Lutris.net for the game/launcher.
  2. Click "Install" to run the script.
  3. Follow prompts. Lutris auto-configures Wine runners.

Example: Battle.net

  • Click (+) -> Search runners -> Install "Battle.net".
  • Log in to Battle.net.
  • Install Blizzard games within the launcher.

Troubleshooting

If a game doesn't launch, right-click -> Configure -> Runner options -> Try a different Wine version. If you get "Runtime not found", check Preferences -> Enable Lutris runtime.

System Tools

Flatseal Must Have

Purpose: Manage Flatpak app permissions. Flatpaks are sandboxed by default.

Use Case: If Heroic or Lutris cannot see your Shared Drive, open Flatseal, select the app, and add /run/media/deck/SharedDrive to the Filesystem list.

Protontricks

Purpose: Winetricks for Proton games. Used to install Windows dependencies (DirectX, Visual C++, Fonts) into specific game prefixes.

flatpak run com.github.Matoking.protontricks

Gear Lever

Purpose: Manage Wine/Proton runners and prefixes. Allows you to easily delete old "prefixes" (virtual Windows folders) to save space.

Warehouse

Purpose: A better manager for Flatpaks. Allows you to batch update, downgrade apps, or view their data folders.

The Ecosystem

Emulation is managed primarily by EmuDeck. ROMs should live on your Shared Drive.

EmuDeck & ES-DE

The manager script and the frontend UI.

Nintendo

Dolphin (GC/Wii), Cemu (WiiU), Yuzu/Ryujinx (Switch).

Retro & Sony

RetroArch, PPSSPP (PSP), PCSX2 (PS2).

EmuDeck

What it does

Installs emulators, configures controls, sets up ROM folders, downloads artwork, and adds games to Steam.

Steam ROM Manager (SRM)

Used to inject your ROMs directly into the Steam Gaming Mode library.

  1. Open SRM (installed by EmuDeck).
  2. Click "Parse" to find new ROMs.
  3. Click "Save to Steam".

ES-DE (EmulationStation)

A beautiful frontend for launching games if you don't want to clutter your Steam library. It scrapes metadata and box art automatically.

Location

Your ROMs should be in: /run/media/deck/SharedDrive/Emulation/roms/. EmuDeck should be configured to use this path (or a symlink).

Nintendo Emulators

Dolphin (GameCube / Wii)

  • Formats: .iso, .rvz, .wbfs
  • Config: Graphics Backend -> Vulkan.
  • Controls: Map "Standard Controller" for GameCube. For Wii, use "Emulated Wii Remote".
  • BIOS: Not required.

melonDS (Nintendo DS)

  • Formats: .nds, .zip
  • Features: Supports touchscreen via mouse/touch. Requires BIOS files in the bios folder for best compatibility.

PrimeHack

A specialized version of Dolphin specifically for playing the Metroid Prime Trilogy with modern mouse/keyboard style aiming.

Retro & Sony

RetroArch

The all-in-one backend for older systems (NES, SNES, Genesis, GBA, PS1). Uses "Cores" for each system.

  • Hotkeys: Select + Start usually exits the game.
  • Menu: Press L3 + R3 to open the quick menu.

PPSSPP (PSP)

  • Formats: .iso, .cso
  • Tweaks: Set Rendering Resolution to 3x or 4x for crisp visuals on the Legion Go screen. Use Vulkan backend.

Xemu (Original Xbox)

  • Formats: .iso
  • Requirements: BIOS REQUIRED. You must place valid Xbox BIOS and HDD image files in ~/.local/share/xemu/bios/.

Gaming Mode Crashes

Steam won't load / Black Screen?

systemctl --user restart steam-jupiter

Controller broken?

rm -rf ~/.steam/steam/steamapps/common/SteamLinuxRuntime_sniper

Desktop Freeze

If desktop is stuck and you can't move mouse:

  1. Press Ctrl + Alt + F2 to enter TTY.
  2. Login as deck.
  3. Run: sudo systemctl restart sddm

Game Issues

  • Crash on Start: Check Proton version. Try Proton Experimental or Proton-GE.
  • Dependencies: Use Protontricks to install missing DLLs.
  • Performance: Lower in-game resolution or use FSR in Quick Access menu.

Network Issues

WiFi not working?

sudo systemctl restart NetworkManager

Bluetooth not pairing?

sudo systemctl restart bluetooth

Terminal Cheat Sheet

# System ujust update # Update Bazzite rpm-ostree status # Check OS Version df -h # Check Disk Space htop # Check CPU/RAM usage # Maintenance flatpak uninstall --unused # Clean unused data rm -rf ~/.local/share/Steam/steamapps/shadercache/ # Clear Shaders # File Management ls -la # List all files (hidden included) du -sh /path/to/folder # Check folder size # Network nmcli device wifi # Check WiFi ping google.com # Test Internet

File Locations

  • Home: /home/deck/
  • Steam: /home/deck/.local/share/Steam/
  • Compatdata (Prefixes): /home/deck/.local/share/Steam/steamapps/compatdata/
  • Flatpak Data: /home/deck/.var/app/
  • Decky: /home/deck/homebrew/