fix(niri): pin the ultrawide to the 180 Hz mode its EDID actually offers

desk-1-home.kdl asked the Sceptre M34 for 3440x1440@239.999, a mode the panel
has never offered. niri does not reject an unavailable mode: it logs "configured
mode ... could not be found, falling back to preferred" and drives the EDID
preferred mode - 60 Hz - on every connector event, which is why the monitor
looked like it was dying rather than misconfigured. Read live with
`niri msg outputs`, the mode list tops out at 180.

Also destroys the copies of the phantom number: displays.md carried 239.999 in
its diagram, its panel table and its copy-paste pattern block, and its rule 4
claimed an impossible mode leaves the output dark. Rule 4 now states the real
failure mode, a new section separates config / DP-link / amdgpu-driver faults by
log signature, and wlr-randr is corrected to not-installed (three pages claimed
it; `pacman -Qs wlr` matches nothing).

Applied live with `niri msg output <panel> mode <mode>` - the temporary
per-output path, so no config reload and no logged-out session - verified at
3440x1440 @ 180.000 Hz with the compositor PID unchanged.

Refs #58
This commit is contained in:
Frank committed 2026-10-21 00:05:17 -07:00
1 parent ab94c91bcf
commit 23372e96f5
5 files changed
+90 -14

No files matched your search

+28 -1
View File
@@ -6,7 +6,7 @@ tags:
- okf
- maintenance
- changelog
timestamp: 2026-10-19
timestamp: 2026-10-21
---
# Bundle Change Log
@@ -20,6 +20,33 @@ This page is the bundle's **only** work log: one file, at the root. Never start
second one in a subdirectory or under another name — `scripts/kb-lint.sh` reports any
`log.md` that is not this one.
## 2026-10-21 — a documented mode the panel never had
The home ultrawide had been running at 60 Hz for weeks while `desk-1-home.kdl`
asked for `3440x1440@239.999`. The page that owns that file documented the same
phantom mode, so every reader — including tonight's inspection — trusted it.
`niri msg outputs` says the Sceptre M34's EDID tops out at 180 Hz; there is no
240 Hz mode to ask for.
Laws, now on [tools/niri/displays](tools/niri/displays.md):
- **An impossible mode does not fail, it falls back.** niri logs
`configured mode … could not be found, falling back to preferred` and drives
the EDID preferred mode — 60 Hz here. A config typo therefore looks like a
dying monitor, and every connector drop re-enacts it.
- **Three layers, three signatures:** config fallback, DP link drops, and
amdgpu `DMCUB` errors with `EINVAL` page flips after s2idle. Only the first
yields to a file edit; only the last yields to a reboot. Triage table and
probes are on the page.
- **A number in a page is a claim, not a measurement.** Modes, refresh rates and
tool availability were wrong on four pages at once — `wlr-randr` was listed as
installed while `pacman -Qs wlr` matches nothing. Read the hardware before
writing a mode into a runbook, and destroy the stale copies.
Fix: `desk-1-home.kdl` 239.999 → 180.000 on the identity block and both legacy
connector blocks, applied live with `niri msg output <panel> mode <mode>` — the
temporary per-output path, so no config reload and no logged-out session.
## 2026-10-20 — one work log per bundle
The bundle had two: this page and `core/log.md`, created "for tracking core