From 321ccf79053554d88a7f3d858807135a3db6b699 Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Thu, 16 Jul 2026 18:56:46 +0100 Subject: [PATCH] =?UTF-8?q?docs(hw-queue):=20#127=20steps=201+4=20pass=20f?= =?UTF-8?q?rom=20config=20=E2=80=94=20wake=20proven=20in=20all=203=20geome?= =?UTF-8?q?tries?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- agent/HARDWARE-QUEUE.md | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/agent/HARDWARE-QUEUE.md b/agent/HARDWARE-QUEUE.md index 83afe7b..1b83d6b 100644 --- a/agent/HARDWARE-QUEUE.md +++ b/agent/HARDWARE-QUEUE.md @@ -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