mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-11-13 12:13:36 +01:00
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)
68 lines
3.4 KiB
KDL
68 lines
3.4 KiB
KDL
// 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"; }
|