MOIS3Y
November 4, 2023, 1:14pm
1
Hi all!
I have an MSI G2712 monitor with AMD FreeSync and AMD Radeon RX 6600.
I just can’t enable 165 Hz support in NixOS.
I’ve read quite a few guides but to no avail:
xrandr --props
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
# ...
vrr_capable: 0
range: (0, 1)
# ...
What part of my configuration looks like:
# ...
boot.initrd.kernelModules = [ "dm-snapshot" "amdgpu" ];
services.xserver.enable =true;
services.xserver.videoDrivers = [ "amdgpu" ];
services.xserver.deviceSection = ''
Option "DRI" "3"
Option "VariableRefresh" "true"
'';
hardware.opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
# ...
Oh, yeah I’m using X11, sddm (qtile, awesomewm)
Where did I get the information from:
AMD FreeSync NixOS (Reddit)
Vrr from Arch wiki
Guide from Github
I know for sure that everything is fine with the cable, my second system is Windows 11 and there I see 165 Hz in the monitor menu parameters. On NixOS this is always 60 Hz.
I think I’m missing something important.
If anyone has set up vrr support and knows a solution, I would be very grateful.
Atemu
November 4, 2023, 1:42pm
2
It’s working for me using a similar config:
Please post the full xrandr output.
This is how it should look like:
DisplayPort-0 connected primary 3440x1440+0+0 (normal left inverted right x axis y axis) 800mm x 335mm
EDID:
00ffffffffffff001e6d4b77f1bd0a00
011f0104b55021789ff675af4e42ab26
0e50542109007140818081c0a9c0b300
d1c08100d1cfdaa77050d5a034509020
3a30204f3100001a000000fd0030a0fa
fa5a010a202020202020000000fc004c
4720554c545241474541520a000000ff
003130314e5454514c503938350a020d
020330712309070747100403011f1312
83010000e305c000e2006ae606050161
613d6d1a0000020530a00004613d613d
4ed470d0d0a0325030203a00204f3100
001a0000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000000000000000000000de
7012790000030128663801866f0def00
2f801f009f054500020009004c5b0106
6f0def008f801f009f05450002000900
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
0000000000000000000000000000bc90
GAMMA_LUT_SIZE: 4096
range: (0, -1)
DEGAMMA_LUT_SIZE: 4096
range: (0, -1)
GAMMA_LUT: 0
range: (0, 65535)
CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 1
DEGAMMA_LUT: 0
range: (0, 65535)
TearFree: off
supported: off, on, auto
subconnector: Native
supported: Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native
HDCP Content Type: HDCP Type0
supported: HDCP Type0, HDCP Type1
Content Protection: Undesired
supported: Undesired, Desired, Enabled
vrr_capable: 1
range: (0, 1)
Colorspace: Default
supported: Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC
max bpc: 16
range: (8, 16)
underscan vborder: 0
range: (0, 128)
underscan hborder: 0
range: (0, 128)
underscan: off
supported: off, on, auto
scaling mode: None
supported: None, Full, Center, Full aspect
link-status: Good
supported: Good, Bad
CONNECTOR_ID: 99
supported: 99
non-desktop: 0
range: (0, 1)
3440x1440 143.92*+ 60.00 + 160.00 120.02 96.03 72.01 60.01 50.00 48.00 99.99
1920x1200 143.92
1920x1080 74.98 60.00 60.00 50.00 59.94
1600x1200 143.92
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1440x900 143.92
1280x800 59.81
1152x864 59.97
1280x720 60.00 50.00 59.94
1024x768 60.00
800x600 60.32
720x576 50.00
720x480 60.00 59.94
640x480 60.00 59.94
MOIS3Y
November 4, 2023, 2:50pm
3
Hello!
Thanks for your response
xrandr --props
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
EDID:
00ffffffffffff003669b58c15050000
0f210104a53c22783b4575ac5149a827
0c5054bfcf00814081809500714f81c0
b30001010101023a801871382d40582c
450055502100001ed09480a070381e40
3040350055502100001a000000fd0030
a5c8c828010a202020202020000000fc
004d53492047323731320a2020200187
02032bf14a01030402900e0f1d1e1f23
0907078301000065030c0010006d1a00
00020130a5000000000000866f80a070
3840403020350055502100001a088280
5070384d400820f80c55502100001a00
00000000000000000000000000000000
00000000000000000000000000000000
000000000000000000000000000000a6
GAMMA_LUT_SIZE: 4096
range: (0, -1)
DEGAMMA_LUT_SIZE: 4096
range: (0, -1)
GAMMA_LUT: 0
range: (0, 65535)
CTM: 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0
0 1
DEGAMMA_LUT: 0
range: (0, 65535)
TearFree: auto
supported: off, on, auto
subconnector: Native
supported: Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native
HDCP Content Type: HDCP Type0
supported: HDCP Type0, HDCP Type1
Content Protection: Undesired
supported: Undesired, Desired, Enabled
vrr_capable: 0
range: (0, 1)
max bpc: 8
range: (8, 16)
underscan vborder: 0
range: (0, 128)
underscan hborder: 0
range: (0, 128)
underscan: off
supported: off, on, auto
scaling mode: None
supported: None, Full, Center, Full aspect
link-status: Good
supported: Good, Bad
CONNECTOR_ID: 86
supported: 86
non-desktop: 0
range: (0, 1)
1920x1080 60.00*+ 165.00 143.85 119.98 50.00 59.94
1680x1050 59.95
1280x1024 75.02 60.02
1440x900 59.89
1280x960 60.00
1280x800 60.00
1152x864 75.00
1280x720 60.00 59.94
1440x576 50.00
1024x768 75.03 70.07 60.00
1440x480 60.00 59.94
800x600 72.19 75.00 60.32 56.25
720x480 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
# ...
How can I check where an option is linked?
services.xserver.deviceSection
I only see:
ls /etc/X11/xorg.conf.d/
00-keyboard.conf 10-evdev.conf 40-libinput.conf
ls /etc/static/X11/xorg.conf.d/
00-keyboard.conf 10-evdev.conf 40-libinput.conf
ls /run/current-system/sw/share/X11/xorg.conf.d/
10-evdev.conf 10-quirks.conf 40-libinput.conf
cat /nix/store/m71ifw29sx7r9bmwzqx49mhn65xcjnr6-xf86-video-amdgpu-23.0.0/share/X11/xorg.conf.d/10-amdgpu.conf
Section "OutputClass"
Identifier "AMDgpu"
MatchDriver "amdgpu"
Driver "amdgpu"
Option "HotplugDriver" "amdgpu"
EndSection
Atemu
November 5, 2023, 4:19pm
4
It appears your monitor doesn’t list its high refresh rate modes as preferred.
You should be able to switch to the high refresh rate modes manually. Unfortunately, any display handling software on a Linux desktop (including the kernel) is hell-bent on only ever choosing the display’s preferred modes automatically rather than the actual best modes. I have yet to find a solution to that.
I don’t know why it’s not showing up as VRR-capable though. Perhaps it needs to be in a mode that’s fast enough for LFC to work in order for that? Shouldn’t be but worth trying out.
Is there anything other than a DP1.2 cable in between your GPU and monitor? An adapter, KVM or other DP switch for instance.
I do not know what you mean by that. Do you mean how an option is implemented? For that you have to look inside the module’s declaration. search.nixos.org contains a handy-dandy link for that.
Interesting, I too cannot find my declared lines in here. I think I got these off the wiki like 3 years ago or whatever. This might be the cause of some of the issues I’ve been having with VRR.
Atemu
November 5, 2023, 4:29pm
5
As it turns out, the Xorg config is applied by the display-manager to the X server it starts via command line flag.
See ps aux | grep xserver.conf
.
1 Like