The page asserted the Sceptre M34's EDID tops out at 180 Hz. Measured on blankpad after the merge, `niri msg outputs` lists 3440x1440@239.998 — the claim was false in main, and it was load-bearing: it is the reason nobody questioned the profile while the panel ran at 60 Hz for weeks. The real defect was one character: the profile asked for 239.999, the panel offers 239.998, and niri matches mode strings verbatim, falling back to *preferred* without failing. Corrected to the measured mode list, and the deployed 180 is now documented as a deliberate choice (the link is trained at x8 32.0 GT/s against a max of x16 and the display engine throws EINVAL), so the next reader neither "restores 240" blind nor re-pins 180 as a hardware ceiling. The kdl profile comment carries the same facts at the point of edit, because that is where the next change to this mode gets typed. Refs #60
65 lines
2.2 KiB
KDL
65 lines
2.2 KiB
KDL
// ────────────── Desk Profile: home (current rig) ──────────────
|
|
// Applied by symlinking this file to cfg/display.kdl (see scripts/desk.sh).
|
|
// Panels are keyed by EDID identity (manufacturer model serial), NOT by
|
|
// connector name — connector names reshuffle between desks; identity travels.
|
|
//
|
|
// requires: Sceptre Tech Inc Sceptre M34 Unknown
|
|
// requires: Lenovo Group Limited 0x40A9 Unknown
|
|
// optional: HDMI-A-1 (PM1601, dock-dependent)
|
|
|
|
// The panel offers 3440x1440@239.998 as well as @180.000 (`niri msg outputs`, 2026-10-21), and
|
|
// 180 is driven DELIBERATELY: the link trained at x8 32.0 GT/s against a max of x16 and the
|
|
// display engine is throwing DMCUB errors with EINVAL page flips after s2idle, so the 240-class
|
|
// mode stays undriven until a reboot clears that state. niri matches mode strings VERBATIM and
|
|
// does not round: "@239.999" is not "@239.998", and a mode it cannot find does not fail — it
|
|
// logs "could not be found, falling back to preferred" and drops the panel to 60 Hz on every
|
|
// reconnect, which is how this desk ran for weeks. Copy the string from `niri msg outputs`.
|
|
// Reasoning and triage: omp-docs/tools/niri/displays.md ("The config pattern", rules 4 and 5).
|
|
output "Sceptre Tech Inc Sceptre M34 Unknown" {
|
|
mode "3440x1440@180.000"
|
|
scale 1
|
|
transform "normal"
|
|
position x=1581 y=-600
|
|
focus-at-startup
|
|
}
|
|
|
|
// PM1601 portrait panel (dock-dependent). EDID string NOT captured as of
|
|
// 2026-10-09 (panel disconnected) — connector-keyed placeholder.
|
|
// When plugged in: run `desk.sh capture`, re-key this block to the printed
|
|
// long name, update #optional above.
|
|
output "HDMI-A-1" {
|
|
scale 1
|
|
transform "90"
|
|
position x=1200 y=0
|
|
}
|
|
|
|
output "Lenovo Group Limited 0x40A9 Unknown" {
|
|
scale 1.0
|
|
position x=-339 y=-240
|
|
focus-at-startup
|
|
}
|
|
output "DP-2" {
|
|
mode "3440x1440@180.000"
|
|
|
|
scale 1.0
|
|
|
|
transform "normal"
|
|
position x=1581 y=-600
|
|
}
|
|
output "eDP-1" {
|
|
mode "1920x1080@60.001"
|
|
|
|
scale 1.0
|
|
|
|
transform "normal"
|
|
position x=-339 y=-240
|
|
}
|
|
output "DP-1" {
|
|
mode "3440x1440@180.000"
|
|
|
|
scale 1.0
|
|
|
|
transform "normal"
|
|
position x=1581 y=-600
|
|
}
|