docs(hw-queue): #127 steps 1+4 pass from config — wake proven in all 3 geometries
Some checks failed
Check / eval (push) Has been cancelled

a2151f4 applied on the dev box (nomarchy-pull + nomarchy-home). Step 1: both
misc options read int: 1 after `hyprctl reload` — which discards runtime
keywords — so our Nix supplies them, not the keyword used to prove the fix
originally; nomarchy-dpms-off is gone from the closure and the live
hypridle.conf reads `on-timeout=hyprctl dispatch dpms off`.

Step 4, the one that matters: hypridle stopped on purpose (the brick
condition), `dpms off` -> keypress woke it in 4s from config alone. That run
happened to be docked with the lid OPEN (DP-2,eDP-1), which also retires the
old "docked lid-open is untested, not exempted" caveat. With the clamshell
6s run the same day, input-wake is now proven in all three geometries:
undocked lid-open, clamshell-docked, docked lid-open.

Steps 2+3 stay open deliberately: nothing yet has watched a genuine 10-minute
hypridle timeout fire — only forced blanks — so the real idle path is still
unobserved. Recorded that step 1 used reload, not a literal relogin.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-16 18:56:46 +01:00
parent a2151f424b
commit 321ccf7905

View File

@@ -61,24 +61,29 @@ Everything else below stays open; order is convenience, not a gate.
the *first* TEST B was invalid — it ran `dpms off` by hand, which no wake the *first* TEST B was invalid — it ran `dpms off` by hand, which no wake
path watches, so its "input did not wake it" was guaranteed regardless of path watches, so its "input did not wake it" was guaranteed regardless of
hardware. Drive the real code path or measure nothing. hardware. Drive the real code path or measure nothing.
- [ ] **#127 fix from config, not a runtime keyword (AMD dev box)** - [ ] **#127 fix from config — steps 1+4 PASSED 2026-07-16, 2+3 open (AMD dev box)**
the fix was proven with `hyprctl keyword` (runtime-only); this checks our — a2151f4 applied via `nomarchy-pull` + `nomarchy-home` on the dev box.
Nix actually emits it and that it survives a session. **After **Done, no need to redo:**
`nomarchy-home` + relogin:** 1. ✓ Both options read `int: 1` after `hyprctl reload` (which discards
1. `hyprctl getoption misc:key_press_enables_dpms` and runtime keywords), so our Nix — not a keyword — supplies them.
`misc:mouse_move_enables_dpms` → both `int: 1` with **no** manual `nomarchy-dpms-off` is gone from the closure and the live
keyword set. `hypridle.conf` reads `on-timeout=hyprctl dispatch dpms off`.
2. Docked, **lid closed**, idle 10+ min → the external **blanks** (it no 4. ✓ The brick condition on purpose, from config: `systemctl --user stop
longer stays lit; that is the revert working). hypridle` + `hyprctl dispatch dpms off` → **keypress woke it in 4s**,
3. Press a key → it comes back. `journalctl --user -t docked **lid open** (`DP-2,eDP-1`) — which also retires the old
nomarchy-display-wake --since '-15 min'` shows a `done enabled=…` line "docked with the lid open is untested" caveat. The clamshell variant
(hypridle's on-resume also ran). woke in 6s the same day. Wake is now proven in all three geometries
4. The one that matters — the brick condition on purpose: (undocked lid-open, clamshell-docked, docked lid-open).
`systemctl --user stop hypridle`, then **Still open — needs real idle time, cannot be rushed:**
`( sleep 45; hyprctl dispatch dpms on ) &` and 2. Docked, **lid closed**, idle 10+ min → the external **blanks**. This is
`hyprctl dispatch dpms off`. **Pass:** a keypress wakes it with the revert working; nothing to date has watched a genuine 10-min
hypridle stopped (it did in 6s on 2026-07-16 via runtime keyword). hypridle timeout fire, only forced blanks.
Then `systemctl --user start hypridle`. 3. Then press a key → it returns, and `journalctl --user -t
nomarchy-display-wake --since '-15 min'` has a `done enabled=…` line
(i.e. hypridle's on-resume ran *as well as* the compositor waking it).
Note: step 1 used `hyprctl reload` rather than a full relogin — a reload
re-reads the same on-disk config a new session would, so the gap is
cosmetic, but a relogin has not literally been done.
- [ ] **#96 battery-limit row on threshold-less firmware (Acer M5-481T)** — - [ ] **#96 battery-limit row on threshold-less firmware (Acer M5-481T)** —
on the Acer (live or installed session with the commit carrying this on the Acer (live or installed session with the commit carrying this
entry): open System (`SUPER+CTRL+I`). **Pass:** a "Battery limit" row entry): open System (`SUPER+CTRL+I`). **Pass:** a "Battery limit" row