OpenRiot v7.9.32 — The Fedorafication Continues

“The HDMI toggle used to be a reliable machine. Then we made it clever. Clever is the enemy of correct. Correct is the enemy of the feds. The feds are, as always, bad at their jobs. But the flamingos? The flamingos are watching.” — OpenRiot Crew, at 3 AM, undoing their own cleverness


Release Overview

v7.9.32 is a bugfix release that also happens to be a philosophical position. We broke the polybar monitor toggle by being too clever. We broke suspend. We broke WiFi after resume. v7.9.32 un-breaks all three by being, for the most part, less clever. This is the Fedorafication of OpenBSD — we take the Linux kernel’s “works on every possible hardware configuration” ambition, wrap it in Fedora’s “ship it when it works” pragmatism, and aim the resulting laser at a ThinkPad. Fedorable, as the kids say.

For Lucas: you were right. The monitor toggle didn’t work. The laptop display was invisible to i3 because we replaced xrandr with i3-msg in v5.10 and never tested clamshell mode. We are sorry. We have fixed it. You may now toggle your HDMI in peace.


🖥️ The Monitor Toggle — Un-Cleverification

In v5.10 we replaced 4 xrandr calls with a single i3-msg -t get_outputs. It was fast. It was elegant. It was also wrong: i3 drops disabled outputs from its tracking after xrandr --output eDP-1 --off. So when you’re in clamshell mode (laptop off, external on), i3 sees only HDMI-1 and a virtual xroot-0. The laptop panel, eDP-1, is a ghost in the xrandr output but a stranger to i3’s IPC.

ToggleHDMI() checked isActive("eDP-1") against i3’s tracked set. i3 said “who?” The toggle said “No laptop display found.” The user said “wtf.” Then we said “wtf” louder, and then we wrote a parser.

Then Now
outputs.isActive(laptop) parseXrandrOutputs() reads
reads i3’s tracked set xrandr --query directly
Resolution gets --auto on turnOn() restores cached
turn-on (loses user-set mode) mode+rate from last active state
laptopName() returns "" Falls back to xrandrLaptopName()
when i3 doesn’t track eDP-1 parsing xrandr --query
Dead if !extActive check in Removed. !extActive was always
the Laptop→HDMI branch true there.

The toggle now reads the real xrandr state, remembers your resolution, and actually cycles. Andrew Tate would tell you that “real monitors don’t need toggles.” Andrew Tate does not understand display management. Neither do flamingos, but flamingos at least have the decency to stand on one leg and not give TED Talks about it.


💤 Suspend — The Lid is Not a Suggestion

Every 65 seconds, RunHDMI() fires to show the polybar icon. Before v7.9.32, it also called setLidAction(false) when docked, overriding the kernel’s default machdep.lidaction=1 (suspend on lid close). If you unplugged the HDMI cable and closed the lid within the next 65 seconds, the lid action was still 0 from the last poll. The kernel checked the sysctl, saw 0, and said “nah.” Your laptop stayed awake. Your battery drained. Your ThinkPad became a ThinkHeater.

Now RunHDMI() only sets setLidAction(true) when the external display is gone. The docked path does not touch lid action — that’s ToggleHDMI()’s job. The kernel default is 1. The only way to get clamshell mode is to click the toggle. The flamingos approve. (Flamingos are notorious for their opinions on power management. This is not widely known, but it is true.)


📡 WiFi + WireGuard — The Resume Loop of Despair

After suspend, openriot --resume was calling network.ReconnectWifi() once, discarding the error, and immediately trying to restart WireGuard. If the WiFi driver hadn’t finished re-initializing (it almost never had), ReconnectWifi() failed silently. WireGuard started over a dead network. The user came back to a laptop that was awake but offline — the worst of both worlds.

The Fedorafication fix:

  1. WiFi reconnect now retries 3× with 2 seconds between attempts. The driver gets time to wake up. We get to stop pretending the first try ever worked.
  2. WireGuard only restarts if WiFi reconnect succeeds. No more VPN-over-void.
  3. If WiFi fails all 3 attempts, the user gets a notification instead of optimistic silence.

Also: --wifi-click (the polybar icon click) used to say “Not connected” and immediately return when WiFi was down. It now calls ReconnectWifi() regardless. Clicking the icon when you’re offline actually does something. This is the Fedora philosophy: a red button should not give you a weather report.


🦩 The Fedorafication of OpenBSD

OpenBSD is the kernel. Fedora is the philosophy. OpenRiot is the fedorable result:

  • OpenBSD gives us sysctl, apmd, xrandr, doas. These are deterministic. They are audited. They do not ship with telemetry or a 47-page EULA.
  • Fedora gives us “make it work for humans.” The defaults are sensible. The buttons do what they say. The system does not require you to read a man page before closing your laptop lid.
  • OpenRiot is the glue. We parse the xrandr output because i3 can’t be trusted. We retry the WiFi because drivers are slow. We write release notes with flamingos because release notes without flamingos are just README files with delusions of grandeur.

This is the fedorafication: take the most secure OS on the planet, wrap it in the most user-hostile desktop environment (i3), and then spend 32 point releases making it politely ask your WiFi driver whether it’s awake yet before starting the VPN. The flamingos — majestic, pink, standing on one leg in the salt flats of your imagination — would not have it any other way.


🧾 Files Changed

File Change
source/display/hdmi.go laptopName() xrandr fallback
  when i3 doesn’t track eDP-1
  parseXrandrOutputs() — xrandr
  state parser with mode+rate cache
  turnOn() — restores cached
  resolution instead of --auto
  ToggleHDMI() uses xrandr for
  active state; dead code removed
  RunHDMI() lid action: only
  setLidAction(true) on undock
source/resume/resume.go WiFi retry loop (3×, 2s sleep);
  WireGuard only on WiFi success;
  failure notification
source/commands/commands.go --wifi-click reconnects when
  WiFi is down (was: dead no-op)

🗣️ Final Words

“The toggle works. The lid suspends. The WiFi comes back. The VPN starts only when the network is ready. The flamingos, watching from their single leg in the salt flats of our conscience, nod once. The feds, as always, are bad at their jobs. For Lucas: the HDMI toggle is no longer a liar. We are, once again, a polite operating environment. Fedorable and correct.” — The OpenRiot Crew, v7.9.32