Skip to content

Keep the guest out of S3 and S4 sleep states - #79

Merged
btsouth merged 1 commit into
masterfrom
no-suspend
Sep 5, 2026
Merged

Keep the guest out of S3 and S4 sleep states#79
btsouth merged 1 commit into
masterfrom
no-suspend

Conversation

@btsouth

@btsouth btsouth commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Found during the post-release sweep. Choosing Suspend in Omarchy's power menu (or systemctl suspend) put the VM into QEMU's suspended state: the window froze, QMP still answered so the launcher's watchdog saw nothing wrong, and no keyboard input brought the guest back. Only a system_wakeup over QMP did.

With -global ICH9-LPC.disable_s3=1 and disable_s4=1 the guest cannot enter those states. A suspend request now falls through to suspend-to-idle, which keeps QEMU running and wakes on input; Omarchy's sleep lock still engages, so the user sees the lock screen rather than a dead window. Verified in the Win11 VM: systemctl suspend left QEMU reporting running, where the same command before this change reported suspended.

Seeding Omarchy's suspend-off toggle for new VM users, so the menu does not offer Suspend at all, follows as a guest patch.

Choosing Suspend in Omarchy's power menu put the VM into QEMU's suspended state: the window froze and nothing from the keyboard brought it back. With S3 and S4 disabled on the q35 ICH9 the guest cannot enter that state; a suspend request falls through to suspend-to-idle, which keeps QEMU running and wakes on input. Verified in the VM: QEMU stays running through systemctl suspend where it previously reported suspended.
@btsouth
btsouth merged commit b31f805 into master Sep 5, 2026
3 checks passed
@btsouth
btsouth deleted the no-suspend branch September 5, 2026 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant