Configure the Kuycon by what it is, not where it is plugged in

The panel's 4500x3000 mode, 1.5 scale, and 10-bit request were a rule
for connector DP-2 outright, which handed them to whatever monitor a
stranger's machine had on its most common DisplayPort connector. The
rule is now matched by description, the per-output prefs loop covers
every connector including DP-2, and the displays contract pins the
policy to the description rather than the port.
This commit is contained in:
Gabriel Brown
2026-08-21 17:43:33 -04:00
parent 7d633eb06e
commit 9f563c8f94
3 changed files with 38 additions and 29 deletions
+8 -2
View File
@@ -122,8 +122,14 @@ assert(by_output["DP-2"].mode == "4500x3000@60")
assert(by_output["DP-2"].scale == 1.5)
assert(by_output["DP-2"].transform == 0)
assert(by_output["DP-2"].position == "0x0")
assert(by_output["DP-2"].bitdepth == 10)
assert(by_output["DP-2"].cm == "auto")
-- The panel-specific color policy rides the description-matched rule, not the
-- connector: a stranger's monitor on DP-2 must not inherit the Kuycon's mode
-- or its 10-bit request.
local kuycon = by_output["desc:GVT Kuycon P20"]
assert(kuycon ~= nil)
assert(kuycon.mode == "4500x3000@60")
assert(kuycon.bitdepth == 10)
assert(kuycon.cm == "auto")
assert(by_output["HDMI-A-1"].mode == "2560x1440@60")
assert(by_output["HDMI-A-1"].scale == 1)
assert(by_output["HDMI-A-1"].transform == 1)