Decky Loader¶
Decky Loader adds a plugin system to Gaming Mode on Steam Deck, letting you customize and enhance your experience.
What is Decky?¶
Decky Loader is a homebrew plugin framework that:
- Adds features Steam doesn't include
- Works entirely within Gaming Mode
- Plugins install from a built-in store
- Easy to use, no technical knowledge needed
Accessing Decky¶
- In Gaming Mode, press the ... button (Quick Access Menu)
- Scroll to the bottom
- Look for the plug icon (Decky tab)
If you don't see it, restart Steam: Power button > Restart Steam
Enabling Plugins¶
Configure which plugins to install in your config:
install_decky: true
decky_plugins:
powertools:
enabled: true
store_name: "PowerTools"
description: "CPU/GPU control"
protondb_badges:
enabled: true
store_name: "ProtonDB Badges"
description: "Compatibility ratings"
css_loader:
enabled: true
store_name: "CSS Loader"
description: "Visual themes"
Recommended Plugins¶
Essential¶
| Plugin | What It Does |
|---|---|
| PowerTools | Control CPU/GPU, TDP limits, per-game profiles |
| ProtonDB Badges | Show compatibility ratings in your library |
Customization¶
| Plugin | What It Does |
|---|---|
| CSS Loader | Apply visual themes to Gaming Mode |
| Animation Changer | Custom boot and suspend animations |
| SteamGridDB | Custom artwork for games |
Information¶
| Plugin | What It Does |
|---|---|
| HLTB | How Long to Beat game times |
| PlayTime | Detailed play time tracking |
| IsThereAnyDeal | Game deal notifications |
| Battery Tracker | Battery health over time |
Utilities¶
| Plugin | What It Does |
|---|---|
| AutoSuspend | Suspend after inactivity |
| Bluetooth | Better Bluetooth management |
| Tailscale Control | VPN toggle in Gaming Mode |
| DeckMTP | MTP file transfer |
| AutoFlatpaks | Auto-update Flatpak apps |
Social¶
| Plugin | What It Does |
|---|---|
| Discord Status | Show game status on Discord |
| KDE Connect | Phone/desktop integration |
Audio¶
| Plugin | What It Does |
|---|---|
| MagicPods | AirPods battery and controls |
Plugin Details¶
PowerTools¶
The most useful plugin. Control performance per-game:
Features:
- Set CPU/GPU clock speeds
- Limit TDP (power draw)
- Enable/disable SMT
- Per-game profiles (saves automatically)
- Fan curve control
Usage:
- Open Decky in game's Quick Access Menu
- Open PowerTools
- Adjust settings
- They save automatically for that game
Example Settings:
| Game Type | CPU | GPU | TDP |
|---|---|---|---|
| Indie/2D | 4 cores, no SMT | 400 MHz | 6W |
| AAA/Demanding | All cores, SMT | 1600 MHz | 15W |
| Balanced | All cores | 1200 MHz | 10W |
CSS Loader¶
Apply visual themes to Gaming Mode UI.
Installation:
- Enable CSS Loader
- Open plugin settings
- Browse themes in the store
- Apply and enjoy
Popular Themes:
- Clean gaming interfaces
- Retro console styles
- Minimalist designs
- Color schemes
ProtonDB Badges¶
Shows compatibility ratings directly in your library.
Badges:
| Badge | Meaning |
|---|---|
| ๐ฃ Native | Linux native, no Proton needed |
| ๐ข Platinum | Perfect with Proton |
| ๐ก Gold | Minor issues |
| ๐ Silver | Playable with tweaks |
| ๐ด Bronze | May have problems |
| โซ Borked | Doesn't work |
Tap the badge to open ProtonDB page for fix suggestions.
SteamGridDB¶
Replace game artwork with custom images.
Use Cases:
- Fix missing artwork for non-Steam games
- Use alternate art styles
- Animated logos (if supported)
- Consistent visual themes
Tailscale Control¶
Toggle Tailscale VPN without leaving Gaming Mode.
Features:
- Quick toggle on/off
- See connection status
- View Tailscale IP
GitHub Rate Limits¶
Installing many plugins requires GitHub API calls. Without authentication, you're limited to 60 requests/hour.
Automatic Authentication¶
If you enable >3 plugins, Bootible's bootstrap script automatically shows a QR code for GitHub login. No config needed!
Manual Token¶
Alternatively, add a token to your config:
Create at github.com/settings/tokens (no permissions needed).
Managing Plugins¶
In Gaming Mode¶
- Open Decky (... button > plug icon)
- Click the store icon (shopping bag) for new plugins
- Click gear icon for settings
- Individual plugins have their own settings
Updating Plugins¶
Decky checks for updates automatically. When available:
- Open Decky
- Look for update indicator
- Click to update
Removing Plugins¶
- Open Decky settings (gear icon)
- Find the plugin
- Click uninstall
Troubleshooting¶
Decky Tab Not Showing¶
- Restart Steam: Power button > Restart Steam
- Re-run Bootible: If still missing after restart
- Check install: Look for
~/homebrew/plugins/folder
Plugin Not Working¶
- Update it: Check for plugin updates
- Disable/enable: Toggle plugin off and on
- Check GitHub: Look for known issues
- Reinstall: Remove and re-add from store
Plugins Disappeared After Update¶
SteamOS updates can reset homebrew. Re-run Bootible:
Decky and plugins will be reinstalled.
Rate Limit Errors¶
If you see "API rate limit exceeded":
- Wait an hour, or
- Add GitHub authentication (see above)
All Available Plugins¶
For the complete list of plugins, see the config reference or browse:
decky_plugins:
# Performance
powertools:
enabled: true
store_name: "PowerTools"
autosuspend:
enabled: false
store_name: "AutoSuspend"
battery_tracker:
enabled: false
store_name: "Battery Tracker"
# Game Info
protondb_badges:
enabled: true
store_name: "ProtonDB Badges"
steamgriddb:
enabled: false
store_name: "SteamGridDB"
hltb:
enabled: false
store_name: "HLTB for Deck"
playtime:
enabled: false
store_name: "PlayTime"
isthereanydeal:
enabled: false
store_name: "IsThereAnyDeal for Deck"
# Customization
css_loader:
enabled: false
store_name: "CSS Loader"
animation_changer:
enabled: false
store_name: "Animation Changer"
# Connectivity
bluetooth:
enabled: false
store_name: "Bluetooth"
tailscale_control:
enabled: false
store_name: "Tailscale Control"
kde_connect:
enabled: false
store_name: "KDE Connect"
# Sync & Transfer
decky_cloud_save:
enabled: false
store_name: "Decky Cloud Save"
deckmtp:
enabled: false
store_name: "DeckMTP"
autoflatpaks:
enabled: false
store_name: "AutoFlatpaks"
# Social
discord_status:
enabled: false
store_name: "Discord Status"
decky_notifications:
enabled: false
store_name: "Decky Notifications"
# Audio
magicpods:
enabled: false
store_name: "MagicPods"