Files
nix-config-ryan4yin/hosts/idols-ai/niri-hardware.kdl
T
Ryan Yin a8d47e30cf fix(ai): pin the 4K monitor at 144 Hz and record the OSD wake workaround
The DPMS wake failure is the monitor no-signal auto power-off (HPD cycling during idle), not the refresh rate: the 120 Hz pin did not fix it. Disabled in the OSD and recorded as WA-041; pin 144.000 explicitly so niri stops silently falling back.

Assisted-by: DeepSeek Harness (deepseek-flash)
2026-10-21 13:56:01 +08:00

68 lines
3.4 KiB
KDL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Outputs are matched by monitor manufacturer/model/serial instead of the
// connector name: the kernel/NVIDIA driver decides DRM connector numbering by
// probe order. Run `niri msg outputs` to read the exact "make model serial"
// string.
//
// No renderer pinning: the RTX 4090 is the only GPU here, so niri's own device
// choice and the outputs' scanout are the same card.
output "Beihai Century Joint Innovation Technology Co.,Ltd P32A2V 0000000000000" {
// Uncomment this line to disable this output.
// off
// Scale is a floating-point number, but at the moment only integer values work.
scale 1.5
// Transform allows to rotate the output counter-clockwise, valid values are:
// normal, 90, 180, 270, flipped, flipped-90, flipped-180 and flipped-270.
transform "normal"
// Resolution and, optionally, refresh rate of the output.
// The format is "<width>x<height>" or "<width>x<height>@<refresh rate>".
// If the refresh rate is omitted, niri will pick the highest refresh rate
// for the resolution.
// If the mode is omitted altogether or is invalid, niri will pick one automatically.
// Run `niri msg outputs` while inside a niri instance to list all outputs and their modes.
// Pin the exact value from `niri msg outputs` on this host: niri matches
// refresh rates exactly, so a nominal "144" can miss and fall back silently
// (this panel's 120 Hz mode, for example, is 119.880, not 120).
mode "3840x2160@144.000"
// Position of the output in the global coordinate space.
// This affects directional monitor actions like "focus-monitor-left", and cursor movement.
// The cursor can only move between directly adjacent outputs.
// Output scale has to be taken into account for positioning:
// outputs are sized in logical, or scaled, pixels.
// For example, a 3840×2160 output with scale 2.0 will have a logical size of 1920×1080,
// so to put another output directly adjacent to it on the right, set its x to 1920.
// It the position is unset or results in an overlap, the output is instead placed
// automatically.
position x=0 y=0
}
output "Guangxi Century Innovation Display Electronics Co., Ltd 27D1U 0000000000000" {
scale 1.5
transform "normal"
mode "3840x2160@60"
position x=2560 y=0 // on the right of DP-2
}
output "Virtual-1" {
// Created by vkms in hardware-intel.nix. Sunshine captures this output when
// the NVIDIA-attached physical monitors are off. It remains available in
// normal physical sessions, with minor idle GPU and framebuffer overhead.
scale 1.5
transform "normal"
mode "2560x1600"
position x=0 y=0
}
// ============= Named Workspaces =============
workspace "4entertainment" { open-on-output "Beihai Century Joint Innovation Technology Co.,Ltd P32A2V 0000000000000"; }
workspace "2browser" { open-on-output "Beihai Century Joint Innovation Technology Co.,Ltd P32A2V 0000000000000"; }
workspace "5utility" { open-on-output "Beihai Century Joint Innovation Technology Co.,Ltd P32A2V 0000000000000"; }
workspace "3chat" { open-on-output "Guangxi Century Innovation Display Electronics Co., Ltd 27D1U 0000000000000"; }
workspace "1terminal" { open-on-output "Guangxi Century Innovation Display Electronics Co., Ltd 27D1U 0000000000000"; }
workspace "0other" { open-on-output "Guangxi Century Innovation Display Electronics Co., Ltd 27D1U 0000000000000"; }