niri: desk profile asks the ultrawide for a 240 Hz mode it does not have -> silent 60 Hz fallback #58

Closed
opened 2026-10-21 00:05:04 -07:00 by dank · 0 comments
Owner

The home ultrawide had been running at 60 Hz for weeks, and every reconnect made it worse-looking, not better. Cause is in the desk profile, not the monitor:

  • dotfiles/zz-blankpad/niri/.config/niri/cfg/desk-1-home.kdl asked the Sceptre M34 for mode "3440x1440@239.999".
  • The panel's EDID has no 240 Hz mode. niri msg outputs, read live, tops out at 3440x1440@180.000.
  • niri does not fail on an unavailable mode. It logs configured mode 3440x1440@239.999 could not be found, falling back to "preferred" and drives the EDID preferred mode — 60 Hz. Twenty-eight fallbacks in the current boot, one per connector event.

The wrong number was not invented by the config: omp-docs/tools/niri/displays.md documented 239.999 as the rig spec, in three places, including the copy-paste pattern block. The page was the vector.

Fix

  • desk-1-home.kdl: Sceptre identity block 239.999 -> 180.000, plus the two legacy connector-keyed blocks (DP-1) aligned to 180 so a connector-named reconnect cannot land on 120; four comment lines recording that the EDID stops at 180 and what a phantom mode costs.
  • niri validate against the live config: config is valid.
  • Applied without touching the session: niri msg output "Sceptre Tech Inc Sceptre M34 Unknown" mode "3440x1440@180.000" (the temporary per-output interface — no config reload, no restart). Verified Current mode: 3440x1440 @ 180.000 Hz, compositor PID unchanged, zero new Page flip / DMCUB errors after the change.

Docs

  • tools/niri/displays.md: every 239.999 -> 180.000; rule 4 rewritten with the real failure mode (silent fallback to preferred, not a dark output); new triage section separating config / DP-link / amdgpu-driver faults by log signature with the exact probes, plus the safe live remedy; wlr-randr corrected to not installed.
  • tools/applications.md, tools/cachyos.md: dropped wlr-randr rows — pacman -Qs wlr matches nothing on blankpad.
  • log.md: dated entry with the laws.

Not in scope

Tonight's connector drops (20 since Oct 14) and the DMCUB error after the 23:46 s2idle resume are amdgpu driver state, not config: they need a reboot Frank schedules, and a cable if they survive it. The page now says how to tell the difference. tools/noctalia-shell.md also lists wlr-randr as a noctalia dependency while nothing matching wlr is installed — left alone here because that is a dependency claim, not an inventory claim, and deserves its own check.


cwd: /home/blank/.omp/wt/wt-20261019-125509-7c8a99d · session: 01a155bb-6474-7366-be9d-629f74af0e05

The home ultrawide had been running at 60 Hz for weeks, and every reconnect made it worse-looking, not better. Cause is in the desk profile, not the monitor: - `dotfiles/zz-blankpad/niri/.config/niri/cfg/desk-1-home.kdl` asked the Sceptre M34 for `mode "3440x1440@239.999"`. - The panel's EDID has no 240 Hz mode. `niri msg outputs`, read live, tops out at `3440x1440@180.000`. - niri does not fail on an unavailable mode. It logs `configured mode 3440x1440@239.999 could not be found, falling back to "preferred"` and drives the EDID preferred mode — 60 Hz. Twenty-eight fallbacks in the current boot, one per connector event. The wrong number was not invented by the config: `omp-docs/tools/niri/displays.md` documented 239.999 as the rig spec, in three places, including the copy-paste pattern block. The page was the vector. ## Fix - `desk-1-home.kdl`: Sceptre identity block 239.999 -> 180.000, plus the two legacy connector-keyed blocks (`DP-1`) aligned to 180 so a connector-named reconnect cannot land on 120; four comment lines recording that the EDID stops at 180 and what a phantom mode costs. - `niri validate` against the live config: `config is valid`. - Applied without touching the session: `niri msg output "Sceptre Tech Inc Sceptre M34 Unknown" mode "3440x1440@180.000"` (the temporary per-output interface — no config reload, no restart). Verified `Current mode: 3440x1440 @ 180.000 Hz`, compositor PID unchanged, zero new `Page flip` / `DMCUB` errors after the change. ## Docs - `tools/niri/displays.md`: every 239.999 -> 180.000; rule 4 rewritten with the real failure mode (silent fallback to preferred, not a dark output); new triage section separating config / DP-link / amdgpu-driver faults by log signature with the exact probes, plus the safe live remedy; `wlr-randr` corrected to *not installed*. - `tools/applications.md`, `tools/cachyos.md`: dropped `wlr-randr` rows — `pacman -Qs wlr` matches nothing on blankpad. - `log.md`: dated entry with the laws. ## Not in scope Tonight's connector drops (20 since Oct 14) and the `DMCUB` error after the 23:46 s2idle resume are amdgpu driver state, not config: they need a reboot Frank schedules, and a cable if they survive it. The page now says how to tell the difference. `tools/noctalia-shell.md` also lists `wlr-randr` as a noctalia dependency while nothing matching `wlr` is installed — left alone here because that is a dependency claim, not an inventory claim, and deserves its own check. --- cwd: /home/blank/.omp/wt/wt-20261019-125509-7c8a99d · session: 01a155bb-6474-7366-be9d-629f74af0e05
dank added the ready-for-human label 2026-10-21 00:05:04 -07:00
dank closed this issue 2026-10-21 00:07:12 -07:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dank/command-center#58