OpenRiot v7.9.17 — The One That Woke Up Properly

“Sleep is easy. Waking up is the hard part.” — The OpenRiot Crew, watching a laptop open its eyes and immediately forget where it was.


Release Overview

v7.9.17 fixes the post-suspend experience. Displays, WiFi, and WireGuard now restore automatically when the system resumes — no more manual cable unplug, NMTUI reconnect, or wondering why the VPN is dead.


Post-Resume Restoration

OpenBSD’s apmd calls /etc/apm/resume on wake. OpenRiot now installs that hook to run openriot --resume, which:

  1. Waits 2 seconds for hardware to settle.
  2. Runs xrandr --auto and re-enables the laptop display if an external monitor is connected but the internal panel is off.
  3. Updates machdep.lidaction and hw.allowpowerdown based on whether an external display is present.
  4. Restarts Polybar so the bar re-syncs with the new output state.
  5. Re-runs netstart on the WiFi interface to force re-association.
  6. Restarts WireGuard if the tunnel was active before suspend.
  7. Sends a desktop notification confirming the resume.

The openriot --resume command is also available for manual use.

File Change
source/resume/resume.go NEWRestore() orchestrates
  display, WiFi, and WireGuard recovery
source/display/hdmi.go Added RestoreDisplays()
  xrandr --auto, laptop panel fix,
  sysctl update, polybar restart
source/commands/commands.go Added --resume command
install/packages.yaml Installs /etc/apm/resume hook

🧾 Files Changed

File Change
source/resume/resume.go NEW — post-resume restoration
source/display/hdmi.go RestoreDisplays() function
source/commands/commands.go --resume command registration
install/packages.yaml apmd resume hook install step

🗣️ Final Words

“v7.9.16 made sure it told you when it overflowed. v7.9.17 makes sure it cleans up after itself when it wakes up.”