Skip to content

Add Restart to Windows - #1112

Open
nileshchakraborty wants to merge 1 commit into
SteamDeckHomebrew:mainfrom
nileshchakraborty:add/restart-to-windows
Open

Add Restart to Windows#1112
nileshchakraborty wants to merge 1 commit into
SteamDeckHomebrew:mainfrom
nileshchakraborty:add/restart-to-windows

Conversation

@nileshchakraborty

@nileshchakraborty nileshchakraborty commented Aug 24, 2026

Copy link
Copy Markdown

Add Restart to Windows to Plugin Store

Restart to Windows is a focused, Bazzite-specific Decky plugin for configured Windows dual-boot systems. It adds a confirmed controller-native action in QAM instead of requiring users to find and launch Bazzite's generated non-Steam shortcut.

The plugin requires Bazzite's supported ujust setup-boot-windows-steam setup. Its non-root Python backend discovers the installed boot-windows helper through the platform trusted command path, invokes it, and returns success only after efibootmgr confirms that BootNext matches an exact Windows Boot Manager entry. The React frontend then asks Steam's native SteamClient.System.RestartPC() API to perform the session-aware restart.

It does not hard-code a username, home directory, hostname, helper path, or EFI boot number; does not request Decky root privileges; does not broaden Bazzite's sudo rule; and never changes persistent EFI BootOrder. If Steam's native restart API is unavailable after Windows is armed, it instructs the user to use the normal Power -> Restart action.

Authorship disclosure: Nilesh supplied and owns the core EFI boot logic and functional requirements, directed the implementation and safety decisions, and performed the physical end-to-end validation. Codex generated a majority of the Decky plugin scaffolding, implementation, and automated tests, so the corresponding declaration below is intentionally left unchecked for transparent maintainer review.

Task Checklist

Developer

  • I am the original author or an authorized maintainer of this plugin.
  • I have abided by the licenses of the libraries I am utilizing, including attaching license notices where appropriate.
  • Generative AI was NOT used to write a majority of the code I am submitting. See the authorship disclosure above.

Plugin

  • I have verified that my plugin works properly on the Stable and Beta update channels of SteamOS. The intended Bazzite Stable target was tested end to end; SteamOS Beta was not tested, and SteamOS does not provide Bazzite's required helper.
  • I have verified my plugin is unique or provides more/alternative functionality to a plugin already on the store.

Backend

  • No: I am using a custom backend other than Python.
  • Yes: I invoke Bazzite's installed boot-windows helper and the system efibootmgr; neither is bundled by the plugin.
  • No: I am using a custom binary that has all of its dependencies statically linked.

Community

  • I have tested and left feedback on two other pull requests for new or updating plugins.
  • I have commented links to my testing report in this PR.

Testing

  • Tested by a third party on SteamOS Stable or Beta update channel.

Completed target validation

Tested by the maintainer on a physical ROG Xbox Ally X running Bazzite Stable with Windows dual boot:

  1. Decky reported the plugin action available.
  2. The confirmed QAM action set BootNext: 0003, exactly matching Boot0003* Windows Boot Manager.
  3. Steam initiated the restart approximately two seconds later.
  4. Windows booted successfully and was visually confirmed.
  5. After returning to Bazzite, BootNext had been consumed and persistent BootOrder remained unchanged.

Automated validation:

  • 15 Python backend tests
  • TypeScript typecheck
  • production Rollup build
  • dependency audit with zero open Dependabot alerts
  • GitGuardian security check

Related Bazzite tracking issue: ublue-os/bazzite#5572
Plugin source and implementation review: nileshchakraborty/restart-to-windows#1

@nileshchakraborty
nileshchakraborty requested a review from a team as a code owner August 24, 2026 08:47
@github-actions github-actions Bot added the plugin-addition Adding a plugin to the Plugin Store label Aug 24, 2026
@github-actions

Copy link
Copy Markdown

Issues Found

No issues with your PR description were found.

Next Steps

  1. If we found any issues above, please edit your pull request description to resolve them and leave a comment saying you've done so.
  2. For the quickest review, please see the Community section of the pull request template for how you can help other developers.
  3. Once your description is correct, a maintainer will review your pull request as soon as possible.

Thank you for your contribution! If you need any help, please reach out on our Discord server. ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

plugin-addition Adding a plugin to the Plugin Store

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant