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:
- 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.
- WireGuard only restarts if WiFi reconnect succeeds. No more VPN-over-void.
- 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