# SteamDeck_rEFInd turns rEFInd setup on a Steam Deck into a four button job

> This repository ships a desktop GUI that installs rEFInd on the Steam Deck, scans the EFI partition for installed operating systems, stages a refind.conf you can edit by hand and copies it to the ESP. It is MIT licensed and the recent releases are frequent.

**jlobue10/SteamDeck_rEFInd** — Simple rEFInd install script for the Steam Deck (with GUI customization)

- Repository: https://github.com/jlobue10/SteamDeck_rEFInd
- Stars: 635 · Forks: 54
- Language: C++
- License: MIT
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/jlobue10-steamdeck-refind

## A boot manager setup aimed at one device

SteamDeck_rEFInd is described as an easy rEFInd boot manager setup for the Steam Deck, for dual booting SteamOS alongside Windows on either the internal NVMe or a micro SD card, other Linux distributions, Batocera and Ventoy. The scope is narrow in a good way. The stock SteamOS bootloader has no menu, so anyone running two systems on a Deck ends up either juggling boot order at the firmware level or installing a boot manager and living with its defaults. rEFInd gives a graphical boot menu, and the problem this repository solves is not rEFInd itself but the fact that configuring rEFInd means writing a config file on a hidden EFI partition. The project is written primarily in C++ and is MIT licensed, and the repository carries both a Linux side with a GUI application and a Windows side, since a Deck owner may be doing this from either system.

## One curl command stages the GUI in your home directory

The recommended install path is a single command run from a terminal in desktop mode, with your sudo password set and an internet connection available:

```bash
curl -L https://github.com/jlobue10/SteamDeck_rEFInd/raw/main/install-GUI.sh | bash
```

The installer stages everything into ~/.local/SteamDeck_rEFInd/, installs the latest GUI release package and creates a desktop shortcut. The staging location is the detail that shapes the whole workflow, and the documentation returns to it repeatedly. Nothing is written to the EFI System Partition at install time. The GUI builds and holds a set of plain files in your home directory, and only the install buttons push them to the ESP. That gives you a place to edit, a place to review, and a way to re-apply changes, which is why the project also ships a Windows counterpart that stages to %LOCALAPPDATA%\SteamDeck_rEFInd with the same idea.

## Scanning the ESP replaces guessing what is installed

The GUI has four main steps and they are worth following in order. The first installs rEFInd itself, needed the first time only, by leaving Sourceforge selected in the dropdown as the preferred source, with pacman available as a fallback if the Sourceforge download has issues. The second step is picking boot options. The GUI scans the EFI System Partition at startup and through a Rescan OSes button, then auto-populates the options with what is actually installed, that is SteamOS, Windows and any Linux distribution. There are four boot options, and they are the icon order on the boot screen from left to right. The third step, Create Config, generates ~/.local/SteamDeck_rEFInd/GUI/refind.conf, which you can inspect or hand-edit, and clicking it again after changing background or icon images re-stages the new files. The fourth step, Install Config, copies the config, background and icons to the ESP that actually boots rEFInd, and there is no password prompt for it: the installer sets up a root-owned helper script plus a sudoers rule restricted to exactly that script, falling back to asking for your sudo password if the rule is missing.

## Sysd On and Off exist because SteamOS reorders boot entries

Two extra buttons deal with a specific platform quirk. Sysd On and Sysd Off keep rEFInd first on every reboot. On SteamOS this toggles the bootnext-refind systemd service, because SteamOS updates can otherwise reorder or drop the rEFInd entry. The buttons pop up an xterm that asks for the sudo password and shows the service status when done. In the Windows application the same buttons toggle an equivalent scheduled task named SteamDeck_rEFInd_bootnext, which sets rEFInd as the next boot at each Windows logon, replacing an older zip-based fix the project calls Dual Boot Fix. There are more toggles of the same kind. Rand BG On and Rand BG Off control a background randomizer that, on each SteamOS boot or at each Windows logon, picks a random PNG from ~/.local/SteamDeck_rEFInd/backgrounds/ and installs it as the rEFInd background. If you turn it off and want a fixed background again, the documentation says to redo Create Config and then Install Config. Use Firmware_bootnum is a SteamOS-only option that keeps the SteamOS icon visible during the rEFInd to SteamOS handoff, where the screen would otherwise be blank for a moment, and it needs the SteamOS EFI entry to exist when the config is created.

## Themes swap one file, not the whole config

The repository ships a set of community rEFInd themes under themes/. A theme restyles the whole boot menu at once, covering the background, OS and tool icons, selection highlights and, for some themes, fonts, by way of its own theme.conf, which supersedes the matching settings in the generated refind.conf. The mechanism is deliberately simple. When a theme is selected, Create Config appends a single stable line to the end of the generated config, an include directive pointing at themes/active_theme.conf, and stages active_theme.conf, a copy of the chosen theme's theme.conf, next to it. Switching themes therefore just replaces that one file, and refind.conf itself never changes per theme. A theme dropdown lets you pick one, choose Random to have one picked for you at Create Config time, or choose None to keep the classic look. Custom images have their own rules: backgrounds should be 1,280x800 PNG files and icons square PNGs, ideally matching the Boot Icon Size you pick, where 128x128 is the default and 256 and 512 versions of the Steam and Windows icons are included for the larger sizes. Other sizes still work, just scaled, and PNG is required because other formats are described as hit and miss with rEFInd.

## Staged files are the contract, and Create Config overwrites them

Everything the GUI installs to the ESP is first staged as plain files, and editing them by hand is supported, because the install buttons copy whatever is there. GUI/refind.conf is generated by Create Config and can be tweaked or extended with extra stanzas and rEFInd options the GUI does not expose before Install Config installs it exactly as edited, along with GUI/active_theme.conf when a theme is selected. The catch is stated plainly: pressing Create Config again regenerates the file, so keep a copy of manual edits you want to re-apply. The same is true of the images. GUI/background.png and GUI/os_icon1.png through os_icon4.png are the staged copies of the selected background and icons, and replacing those files directly works just as well as picking them in the GUI. The backgrounds/ folder is the pool the randomizer draws from, and the themes/<name>/ tree is what Install Themes copies to the ESP, where every folder containing a theme.conf counts. In other words the repository is effectively a template directory, and the GUI is a convenient editor in front of it.

## Windows on micro SD and Ventoy need special handling

Windows installed on a micro SD card has been handled automatically since version 2.0.0, and all you have to do is make sure the SD card is inserted when you click Create Config, because the Windows-on-SD entry and its partition GUID are then detected and resolved. The manual route is documented too, for the case where you need it. You edit /esp/efi/refind/refind.conf with sudo, and in the Windows SD card stanza you set volume to the SD card ESP partition UUID, which you find with lsblk -o NAME,PARTUUID or KDE Partition Manager, and remove the disabled line. If you do not want both entries shown, you add disabled to the internal Windows stanza. The Ventoy boot option is separate and behaves differently from everything else here: it boots whichever micro SD card or USB drive it finds first with the VTOYEFI partition label, and not both concurrently. For people who live in Game Mode, the documentation suggests setting up the Plasma Nested Session and adding its shortcut to Steam, so you can launch the nested session, run the GUI, install your changes and return to gaming.

## Release pace and the audit files in the repository

The project ships releases steadily, with v3.4.5 on 2026-10-02, v3.4.6 on 2026-10-07 and v3.5.0 on 2026-10-15, and the last push was on 2026-10-15. The repository layout shows the shape of the work: a GUI/ directory, a Windows/ directory, install-GUI.sh alongside refind_install_no_pacman.sh for the path that avoids pacman, a systemd/ directory, scripts/, qa/, icons/, backgrounds/ and themes/, plus a PKGBUILD, a VERSION file, a desktop entry, CLAUDE.md, and audit documents named SECURITY_AUDIT_2026-08.md, SIGNING-TAGS.md and I18N_AUDIT.md. The MIT licence permits reuse and modification under its conditions, though that is a description of the licence rather than advice on how your obligations land. The one security item worth reading before you install is the sudoers rule that lets a root-owned helper script run without a password prompt, since that is the mechanism standing between a click and a privileged write to the boot partition.

## Conclusion

Adopt SteamDeck_rEFInd if you want a customised rEFInd boot menu on a Steam Deck with SteamOS, Windows or other systems on the internal drive or a micro SD card, and you prefer a GUI to hand editing the ESP. Do not adopt it if you want a minimal, auditable boot setup, because the installer writes to the EFI System Partition and grants a sudoers rule to a helper script. Before you run it, read the staged refind.conf rather than trusting the generated one, check the boot entry order the GUI proposes against what you actually want to boot, and keep a copy of any manual edits, because pressing Create Config again regenerates the file.

## FAQ

### How do I install the SteamDeck_rEFInd GUI?

From a terminal in desktop mode, with your sudo password set and an internet connection available, run curl -L https://github.com/jlobue10/SteamDeck_rEFInd/raw/main/install-GUI.sh | bash. The installer stages everything into ~/.local/SteamDeck_rEFInd/, installs the latest GUI release package and creates a desktop shortcut.

### How does the GUI decide which boot entries to show?

It scans the EFI System Partition at startup and through the Rescan OSes button, then auto-populates the boot options with what is actually installed, SteamOS, Windows and any Linux distribution. There are four boot options and they are the icon order on the boot screen from left to right.

### Can I edit the rEFInd config by hand?

Yes. GUI/refind.conf is staged in your home directory and Install Config installs it exactly as edited, together with GUI/active_theme.conf when a theme is selected. Pressing Create Config again regenerates the file, so keep a copy of manual edits you want to re-apply.

### How does the Ventoy boot option behave?

It boots whichever micro SD card or USB drive it finds first with the VTOYEFI partition label, and not both concurrently. The Windows-on-SD entry is a separate thing, handled automatically since version 2.0.0 as long as the card is inserted when you click Create Config.

## Sources

- [Issues](https://github.com/jlobue10/SteamDeck_rEFInd/issues)
- [jlobue10/SteamDeck_rEFInd on GitHub](https://github.com/jlobue10/SteamDeck_rEFInd)
- [License: MIT](https://github.com/jlobue10/SteamDeck_rEFInd/blob/main/LICENSE)
- [README](https://github.com/jlobue10/SteamDeck_rEFInd/blob/main/README.md)
- [Releases](https://github.com/jlobue10/SteamDeck_rEFInd/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/jlobue10-steamdeck-refind
