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
path watches, so its "input did not wake it" was guaranteed regardless of
hardware. Drive the real code path or measure nothing.
- [ ] **#127 fix from config, not a runtime keyword (AMD dev box)**
the fix was proven with `hyprctl keyword` (runtime-only); this checks our
Nix actually emits it and that it survives a session. **After
`nomarchy-home` + relogin:**
1. `hyprctl getoption misc:key_press_enables_dpms` and
`misc:mouse_move_enables_dpms` → both `int: 1` with **no** manual
keyword set.
2. Docked, **lid closed**, idle 10+ min → the external **blanks** (it no
longer stays lit; that is the revert working).
3. Press a key → it comes back. `journalctl --user -t
nomarchy-display-wake --since '-15 min'` shows a `done enabled=…` line
(hypridle's on-resume also ran).
4. The one that matters — the brick condition on purpose:
`systemctl --user stop hypridle`, then
`( sleep 45; hyprctl dispatch dpms on ) &` and
`hyprctl dispatch dpms off`. **Pass:** a keypress wakes it with
hypridle stopped (it did in 6s on 2026-07-16 via runtime keyword).
Then `systemctl --user start hypridle`.
- [ ] **#127 fix from config — steps 1+4 PASSED 2026-07-16, 2+3 open (AMD dev box)**
— a2151f4 applied via `nomarchy-pull` + `nomarchy-home` on the dev box.
**Done, no need to redo:**
1. ✓ Both options read `int: 1` after `hyprctl reload` (which discards
runtime keywords), so our Nix — not a keyword — supplies them.
`nomarchy-dpms-off` is gone from the closure and the live
`hypridle.conf` reads `on-timeout=hyprctl dispatch dpms off`.
4. ✓ The brick condition on purpose, from config: `systemctl --user stop
hypridle` + `hyprctl dispatch dpms off` → **keypress woke it in 4s**,
docked **lid open** (`DP-2,eDP-1`) — which also retires the old
"docked with the lid open is untested" caveat. The clamshell variant
woke in 6s the same day. Wake is now proven in all three geometries
(undocked lid-open, clamshell-docked, docked lid-open).
**Still open — needs real idle time, cannot be rushed:**
2. Docked, **lid closed**, idle 10+ min → the external **blanks**. This is
the revert working; nothing to date has watched a genuine 10-min
hypridle timeout fire, only forced blanks.
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)** —
on the Acer (live or installed session with the commit carrying this
entry): open System (`SUPER+CTRL+I`). **Pass:** a "Battery limit" row