Incorrect display refresh rate after installation

Hello everyone! After installing F41 the system started reporting invalid supported refresh rates for my monitor. I have a dual-screen setup consisting of two LG 27’ monitors connected via DisplayPort.

The system was able to correctly detect refresh rates when I was using the Live USB and a few boots after that, then suddenly I can no longer set 60Hz for my first monitor (the second one is fine) and I’m locked at 30Hz. The EDID file for this display mentions that the preferred mode is 60Hz.

Did anyone encounter this issue?

inxi -Fzx
System:
  Kernel: 6.11.7-300.fc41.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.43.1-2.fc41
  Desktop: GNOME v: 47.1 Distro: Fedora Linux 41 (Workstation Edition)
Machine:
  Type: Desktop System: Gigabyte product: X570 AORUS MASTER v: -CF
    serial: <superuser required>
  Mobo: Gigabyte model: X570 AORUS MASTER serial: <superuser required>
    UEFI: American Megatrends LLC. v: F37c date: 03/23/2023
CPU:
  Info: 12-core model: AMD Ryzen 9 3900X bits: 64 type: MT MCP arch: Zen 2
    rev: 0 cache: L1: 768 KiB L2: 6 MiB L3: 64 MiB
  Speed (MHz): avg: 550 min/max: 550/4673 boost: enabled cores: 1: 550
    2: 550 3: 550 4: 550 5: 550 6: 550 7: 550 8: 550 9: 550 10: 550 11: 550
    12: 550 13: 550 14: 550 15: 550 16: 550 17: 550 18: 550 19: 550 20: 550
    21: 550 22: 550 23: 550 24: 550 bogomips: 182408
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600
    XT / 5700/5700 XT] vendor: Sapphire driver: amdgpu v: kernel arch: RDNA-1
    bus-ID: 0e:00.0
  Display: wayland server: X.Org v: 24.1.4 with: Xwayland v: 24.1.4
    compositor: gnome-shell driver: dri: radeonsi gpu: amdgpu resolution:
    1: 5120x2880~30Hz 2: 5120x2880~60Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 24.2.6 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon RX 5700 XT (radeonsi navi10 LLVM
    19.1.0 DRM 3.59 6.11.7-300.fc41.x86_64)
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 10 HDMI Audio
    driver: snd_hda_intel v: kernel bus-ID: 0e:00.1
  Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio
    vendor: Gigabyte driver: snd_hda_intel v: kernel bus-ID: 10:00.4
  Device-3: Audient iD4 driver: hid-generic,snd-usb-audio,usbhid type: USB
    bus-ID: 5-6.4:6
  API: ALSA v: k6.11.7-300.fc41.x86_64 status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.2.6 status: active
Network:
  Device-1: Intel Wi-Fi 6 AX200 driver: iwlwifi v: kernel bus-ID: 06:00.0
  IF: wlp6s0 state: up mac: <filter>
  Device-2: Intel I211 Gigabit Network vendor: Gigabyte driver: igb
    v: kernel port: e000 bus-ID: 07:00.0
  IF: enp7s0 state: down mac: <filter>
  Device-3: Realtek RTL8125 2.5GbE vendor: Gigabyte driver: r8169 v: kernel
    port: d000 bus-ID: 08:00.0
  IF: enp8s0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB bus-ID: 5-5:2
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.1
    lmp-v: 10
Drives:
  Local Storage: total: 2.73 TiB used: 260.91 GiB (9.3%)
  ID-1: /dev/nvme0n1 vendor: Crucial model: CT1000P1SSD8 size: 931.51 GiB
    temp: 48.9 C
  ID-2: /dev/nvme1n1 vendor: Crucial model: CT1000P1SSD8 size: 931.51 GiB
    temp: 44.9 C
  ID-3: /dev/sda vendor: Samsung model: Portable SSD T5 size: 931.51 GiB
    type: USB
Partition:
  ID-1: / size: 498.4 GiB used: 5.65 GiB (1.1%) fs: btrfs dev: /dev/dm-0
    mapped: luks-495ac5b9-7325-4bc5-b4c8-1f4bfe3a2a65
  ID-2: /boot size: 973.4 MiB used: 428.5 MiB (44.0%) fs: ext4
    dev: /dev/nvme0n1p5
  ID-3: /boot/efi size: 598.8 MiB used: 44.9 MiB (7.5%) fs: vfat
    dev: /dev/nvme0n1p2
  ID-4: /home size: 498.4 GiB used: 5.65 GiB (1.1%) fs: btrfs dev: /dev/dm-0
    mapped: luks-495ac5b9-7325-4bc5-b4c8-1f4bfe3a2a65
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 49.6 C mobo: N/A gpu: amdgpu temp: 58.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
Info:
  Memory: total: 32 GiB available: 31.25 GiB used: 5.04 GiB (16.1%)
  Processes: 801 Uptime: 32m Init: systemd target: graphical (5)
  Packages: N/A note: see --rpm Compilers: N/A Shell: Bash v: 5.2.32
    inxi: 3.3.36

xrandr
Screen 0: minimum 16 x 16, current 10240 x 2880, maximum 32767 x 32767
DP-1 connected primary 5120x2880+0+0 (normal left inverted right x axis y axis) 600mm x 340mm
   5120x2880     29.99*+
   2048x1536     29.95  
   1920x1440     29.95  
   1600x1200     29.95  
   1440x1080     29.86  
   1400x1050     29.98  
   1280x1024     29.90  
   1280x960      29.82  
   1152x864      29.92  
   1024x768      29.89  
   800x600       29.55  
   640x480       29.85  
   320x240       27.50  
   2560x1600     29.99  
   1920x1200     29.95  
   1680x1050     29.95  
   1440x900      29.91  
   1280x800      29.83  
   1152x720      29.96  
   960x600       29.86  
   928x580       29.64  
   800x500       29.53  
   768x480       29.64  
   720x480       29.25  
   640x400       29.58  
   320x200       26.53  
   4096x2304     29.99  
   3840x2160     29.98  
   3200x1800     29.96  
   2880x1620     29.96  
   2560x1440     29.94  
   2048x1152     29.94  
   1920x1080     29.95  
   1600x900      29.92  
   1368x768      29.94  
   1280x720      29.93  
   1024x576      29.84  
   864x486       29.50  
   720x400       29.51  
   640x350       29.03  
DP-2 connected 5120x2880+5120+0 (normal left inverted right x axis y axis) 600mm x 340mm
   5120x2880     59.98*+
   2048x1536     59.95  
   1920x1440     59.90  
   1600x1200     59.87  
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   2560x1600     59.94  
   1920x1200     59.88  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   1152x720      59.75  
   960x600       59.63  
   928x580       59.88  
   800x500       59.50  
   768x480       59.90  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   4096x2304     59.99  
   3840x2160     59.98  
   3200x1800     59.96  
   2880x1620     59.96  
   2560x1440     59.96  
   2048x1152     59.90  
   1920x1080     59.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77  
monitor-edid
Name: LG Ultra HD
EISA ID: GSM5b09
EDID version: 1.4
EDID extension blocks: 1
Screen size: 60.0 cm x 34.0 cm (27.15 inches, aspect ratio 16/9 = 1.76)
Gamma: 2.2
Digital signal
Max video bandwidth: 560 MHz

	HorizSync 30-135
	VertRefresh 56-61

	# Monitor preferred modeline (60.0 Hz vsync, 133.3 kHz hsync, ratio 16/9, 162 dpi)
	ModeLine "3840x2160" 533.25 3840 3888 3920 4000 2160 2214 2219 2222 -hsync +vsync

	# Monitor supported modeline (30.0 Hz vsync, 66.7 kHz hsync, ratio 16/9, 162 dpi)
	ModeLine "3840x2160" 266.64 3840 3848 3992 4000 2160 2214 2219 2222 -hsync +vsync

	# Monitor supported CEA modeline (60.0 Hz vsync, 67.5 kHz hsync, ratio 16/9, 81 dpi)
	ModeLine "1920x1080" 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync

	# Monitor supported CEA modeline (60.0 Hz vsync, 45.0 kHz hsync, ratio 16/9, 54 dpi)
	ModeLine "1280x720" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync

	# Monitor supported CEA modeline (59.9 Hz vsync, 31.5 kHz hsync, ratio 3/2, 30x35 dpi) (bad ratio)
	ModeLine "720x480" 27 720 736 798 858 480 489 495 525 -hsync -vsync

	# Monitor supported CEA modeline (59.9 Hz vsync, 31.5 kHz hsync, ratio 4/3, 27x35 dpi) (bad ratio)
	ModeLine "640x480" 25.175 640 656 752 800 480 490 492 525 -hsync -vsync

	# Monitor supported modeline (60.0 Hz vsync, 67.5 kHz hsync, ratio 16/9, 81 dpi)
	ModeLine "1920x1080" 148.5 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync

	# Monitor supported modeline (60.0 Hz vsync, 88.8 kHz hsync, ratio 16/9, 108 dpi)
	ModeLine "2560x1440" 241.5 2560 2608 2640 2720 1440 1443 1448 1481 -hsync +vsync

Which desktop are you using gnome, kde, something else?

It’s likely that you are running under wayland and not x11.
In which case all the X11 specific info is not that useful.

Can you use edid-decode to see what in in the monitor EDID?
You will need to find the correct path to the edit in /sys.
Here is an example path from my system.

$ edid-decode /sys/class/drm/card1-DP-2/edid

If you are using KDE then what is the output of kscreen-doctor -o?

I’m on GNOME, here are the EDID files for both displays:

goric@goric-pc:~$ cat /sys/class/drm/card1/card1-DP-1/edid | edid-decode 
edid-decode (hex):

00 ff ff ff ff ff ff 00 1e 6d 09 5b 87 32 00 00
05 1c 01 04 b5 3c 22 78 9e 30 35 a7 55 4e a3 26
0f 50 54 21 08 00 71 40 81 80 81 c0 a9 c0 d1 c0
81 00 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20
65 0c 58 54 21 00 00 1a 28 68 00 a0 f0 70 3e 80
08 90 65 0c 58 54 21 00 00 1a 00 00 00 fd 00 38
3d 1e 87 38 00 0a 20 20 20 20 20 20 00 00 00 fc
00 4c 47 20 55 6c 74 72 61 20 48 44 0a 20 01 e1

02 03 11 71 44 90 04 03 01 23 09 07 07 83 01 00
00 02 3a 80 18 71 38 2d 40 58 2c 45 00 58 54 21
00 00 1e 56 5e 00 a0 a0 a0 29 50 30 20 35 00 58
54 21 00 00 1a 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c8

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: GSM
    Model: 23305
    Serial Number: 12935 (0x00003287)
    Made in: week 5 of 2018
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 60 cm x 34 cm
    Gamma: 2.20
    DPMS levels: Standby
    Supported color formats: RGB 4:4:4, YCrCb 4:4:4, YCrCb 4:2:2
    Default (sRGB) color space is primary color space
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red  : 0.6523, 0.3349
    Green: 0.3046, 0.6367
    Blue : 0.1484, 0.0615
    White: 0.3134, 0.3291
  Established Timings I & II:
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
  Standard Timings:
    GTF     :  1152x864    60.000000 Hz   4:3     53.700 kHz     81.624000 MHz
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x55:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    DMT 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
    DMT 0x52:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    DMT 0x1c:  1280x800    59.810326 Hz  16:10    49.702 kHz     83.500000 MHz
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   59.996625 Hz  16:9    133.312 kHz    533.250000 MHz (600 mm x 340 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront   54 Vsync   5 Vback    3 Vpol N
    DTD 2:  3840x2160   30.000000 Hz  16:9     66.660 kHz    266.640000 MHz (600 mm x 340 mm)
                 Hfront    8 Hsync 144 Hback    8 Hpol P
                 Vfront   54 Vsync   5 Vback    3 Vpol N
    Display Range Limits:
      Monitor ranges (GTF): 56-61 Hz V, 30-135 kHz H, max dotclock 560 MHz
    Display Product Name: 'LG Ultra HD'
  Extension blocks: 1
Checksum: 0xe1

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Basic audio support
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 1
  Video Data Block:
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (native)
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    VIC   3:   720x480    59.940060 Hz  16:9     31.469 kHz     27.000000 MHz
    VIC   1:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
  Audio Data Block:
    Linear PCM:
      Max channels: 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Detailed Timing Descriptors:
    DTD 3:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (600 mm x 340 mm)
                 Hfront   88 Hsync  44 Hback  148 Hpol P
                 Vfront    4 Vsync   5 Vback   36 Vpol P
    DTD 4:  2560x1440   59.950550 Hz  16:9     88.787 kHz    241.500000 MHz (600 mm x 340 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   33 Vpol N
Checksum: 0xc8  Unused space in Extension Block: 74 bytes
goric@goric-pc:~$ cat /sys/class/drm/card1/card1-DP-2/edid | edid-decode 
edid-decode (hex):

00 ff ff ff ff ff ff 00 1e 6d 09 5b 35 32 00 00
05 1c 01 04 b5 3c 22 78 9e 30 35 a7 55 4e a3 26
0f 50 54 21 08 00 71 40 81 80 81 c0 a9 c0 d1 c0
81 00 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20
65 0c 58 54 21 00 00 1a 28 68 00 a0 f0 70 3e 80
08 90 65 0c 58 54 21 00 00 1a 00 00 00 fd 00 38
3d 1e 87 38 00 0a 20 20 20 20 20 20 00 00 00 fc
00 4c 47 20 55 6c 74 72 61 20 48 44 0a 20 01 33

02 03 11 71 44 90 04 03 01 23 09 07 07 83 01 00
00 02 3a 80 18 71 38 2d 40 58 2c 45 00 58 54 21
00 00 1e 56 5e 00 a0 a0 a0 29 50 30 20 35 00 58
54 21 00 00 1a 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c8

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: GSM
    Model: 23305
    Serial Number: 12853 (0x00003235)
    Made in: week 5 of 2018
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 60 cm x 34 cm
    Gamma: 2.20
    DPMS levels: Standby
    Supported color formats: RGB 4:4:4, YCrCb 4:4:4, YCrCb 4:2:2
    Default (sRGB) color space is primary color space
    First detailed timing includes the native pixel format and preferred refresh rate
  Color Characteristics:
    Red  : 0.6523, 0.3349
    Green: 0.3046, 0.6367
    Blue : 0.1484, 0.0615
    White: 0.3134, 0.3291
  Established Timings I & II:
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
  Standard Timings:
    GTF     :  1152x864    60.000000 Hz   4:3     53.700 kHz     81.624000 MHz
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x55:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    DMT 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
    DMT 0x52:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    DMT 0x1c:  1280x800    59.810326 Hz  16:10    49.702 kHz     83.500000 MHz
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   59.996625 Hz  16:9    133.312 kHz    533.250000 MHz (600 mm x 340 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront   54 Vsync   5 Vback    3 Vpol N
    DTD 2:  3840x2160   30.000000 Hz  16:9     66.660 kHz    266.640000 MHz (600 mm x 340 mm)
                 Hfront    8 Hsync 144 Hback    8 Hpol P
                 Vfront   54 Vsync   5 Vback    3 Vpol N
    Display Range Limits:
      Monitor ranges (GTF): 56-61 Hz V, 30-135 kHz H, max dotclock 560 MHz
    Display Product Name: 'LG Ultra HD'
  Extension blocks: 1
Checksum: 0x33

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Basic audio support
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 1
  Video Data Block:
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (native)
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    VIC   3:   720x480    59.940060 Hz  16:9     31.469 kHz     27.000000 MHz
    VIC   1:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
  Audio Data Block:
    Linear PCM:
      Max channels: 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Detailed Timing Descriptors:
    DTD 3:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (600 mm x 340 mm)
                 Hfront   88 Hsync  44 Hback  148 Hpol P
                 Vfront    4 Vsync   5 Vback   36 Vpol P
    DTD 4:  2560x1440   59.950550 Hz  16:9     88.787 kHz    241.500000 MHz (600 mm x 340 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   33 Vpol N
Checksum: 0xc8  Unused space in Extension Block: 74 bytes

I’ve tried to supply a command-line argument in the GRUB_CMDLINE_LINUX GRUB option (video=DP-1:3840x2160@60) but the issue persisted.

I wonder is the amdgpu driver computed it does not have enough bandwidth to drive the pair at 60Hz?

What happens if you only have one display plugged in?

I don’t think that’s the case, or if it is, it’s not deterministic - the refresh rates were okay for Live USB and after booting Fedora a few times after installation. Furthermore 60Hz gets available after rebooting the computer instead of powering it off and on again.

Yep, plugging one display only doesn’t help unfortunately.

And drm_info doesn’t show that this display has a preferred mode available, despite what EDID entry said:

├───Connectors
│   ├───Connector 0
│   │   ├───Object ID: 107
│   │   ├───Type: DisplayPort
│   │   ├───Status: connected
│   │   ├───Physical size: 600×340 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {0}
│   │   ├───Modes
│   │   │   ├───3840×2160@30.00 driver phsync nvsync 
│   │   │   ├───2560×1440@59.95 driver phsync nvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1920×1080@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1600×900@60.00 driver phsync pvsync 
│   │   │   ├───1280×1024@60.02 driver phsync pvsync 
│   │   │   ├───1280×800@59.81 driver nhsync pvsync 
│   │   │   ├───1152×864@59.97 nhsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1280×720@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1024×768@60.00 driver nhsync nvsync 
│   │   │   ├───800×600@60.32 driver phsync pvsync 
│   │   │   ├───720×480@60.00 driver nhsync nvsync 16:9 
│   │   │   ├───720×480@59.94 driver nhsync nvsync 16:9 
│   │   │   ├───640×480@60.00 driver nhsync nvsync 4:3 
│   │   │   ├───640×480@59.94 driver nhsync nvsync 
│   │   │   └───640×480@59.94 driver nhsync nvsync 4:3 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 115
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 85
│   │       ├───"scaling mode": enum {None, Full, Center, Full aspect} = None
│   │       ├───"underscan": enum {off, on, auto} = off
│   │       ├───"underscan hborder": range [0, 128] = 0
│   │       ├───"underscan vborder": range [0, 128] = 0
│   │       ├───"max bpc": range [8, 16] = 16
│   │       ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default
│   │       ├───"HDR_OUTPUT_METADATA": blob = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│   │       ├───"HDCP Content Type": enum {HDCP Type0, HDCP Type1} = HDCP Type0
│   │       └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = Native
│   ├───Connector 1
│   │   ├───Object ID: 116
│   │   ├───Type: DisplayPort
│   │   ├───Status: connected
│   │   ├───Physical size: 600×340 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {1}
│   │   ├───Modes
│   │   │   ├───3840×2160@60.00 preferred driver phsync nvsync 
│   │   │   ├───3840×2160@30.00 driver phsync nvsync 
│   │   │   ├───2560×1440@59.95 driver phsync nvsync 
│   │   │   ├───1920×1200@60.00 driver phsync nvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1920×1080@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1600×1200@60.00 driver phsync nvsync 
│   │   │   ├───1680×1050@60.00 driver phsync nvsync 
│   │   │   ├───1600×900@60.00 driver phsync pvsync 
│   │   │   ├───1280×1024@60.02 driver phsync pvsync 
│   │   │   ├───1440×900@60.00 driver phsync nvsync 
│   │   │   ├───1280×800@59.81 driver nhsync pvsync 
│   │   │   ├───1152×864@59.97 nhsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1280×720@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1024×768@60.00 driver nhsync nvsync 
│   │   │   ├───800×600@60.32 driver phsync pvsync 
│   │   │   ├───720×480@60.00 driver nhsync nvsync 16:9 
│   │   │   ├───720×480@59.94 driver nhsync nvsync 16:9 
│   │   │   ├───640×480@60.00 driver nhsync nvsync 4:3 
│   │   │   ├───640×480@59.94 driver nhsync nvsync 
│   │   │   └───640×480@59.94 driver nhsync nvsync 4:3 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 145
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 89
│   │       ├───"scaling mode": enum {None, Full, Center, Full aspect} = None
│   │       ├───"underscan": enum {off, on, auto} = off
│   │       ├───"underscan hborder": range [0, 128] = 0
│   │       ├───"underscan vborder": range [0, 128] = 0
│   │       ├───"max bpc": range [8, 16] = 16
│   │       ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default
│   │       ├───"HDR_OUTPUT_METADATA": blob = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│   │       ├───"HDCP Content Type": enum {HDCP Type0, HDCP Type1} = HDCP Type0
│   │       └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = Native

That’s curious - when I turn the monitor off and on the preferred display mode is detected properly. It’s annoying to have to flip the switch on the monitor every time my computer starts though.

What I see in the drm info is that 4k resolution is limited to 30 Hz while lesser resolutions are ok at 60 Hz.

Yes, but the display is capable of 4k@60Hz, as evidenced in the EDID entry for this connection. Furthermore if I cycle power on the display itself it starts working correctly and the preferred mode is once again available as reported by drm_info.

Before turning monitor off/on:

├───Connectors
│   ├───Connector 0
│   │   ├───Object ID: 107
│   │   ├───Type: DisplayPort
│   │   ├───Status: connected
│   │   ├───Physical size: 600×340 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {0}
│   │   ├───Modes
│   │   │   ├───3840×2160@30.00 driver phsync nvsync 
│   │   │   ├───2560×1440@59.95 driver phsync nvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1920×1080@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1600×900@60.00 driver phsync pvsync 
│   │   │   ├───1280×1024@60.02 driver phsync pvsync 
│   │   │   ├───1280×800@59.81 driver nhsync pvsync 
│   │   │   ├───1152×864@59.97 nhsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1280×720@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1024×768@60.00 driver nhsync nvsync 
│   │   │   ├───800×600@60.32 driver phsync pvsync 
│   │   │   ├───720×480@60.00 driver nhsync nvsync 16:9 
│   │   │   ├───720×480@59.94 driver nhsync nvsync 16:9 
│   │   │   ├───640×480@60.00 driver nhsync nvsync 4:3 
│   │   │   ├───640×480@59.94 driver nhsync nvsync 
│   │   │   └───640×480@59.94 driver nhsync nvsync 4:3 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 115
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 85
│   │       ├───"scaling mode": enum {None, Full, Center, Full aspect} = None
│   │       ├───"underscan": enum {off, on, auto} = off
│   │       ├───"underscan hborder": range [0, 128] = 0
│   │       ├───"underscan vborder": range [0, 128] = 0
│   │       ├───"max bpc": range [8, 16] = 16
│   │       ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default
│   │       ├───"HDR_OUTPUT_METADATA": blob = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│   │       ├───"HDCP Content Type": enum {HDCP Type0, HDCP Type1} = HDCP Type0
│   │       └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = Native
│   ├───Connector 1
│   │   ├───Object ID: 116
│   │   ├───Type: DisplayPort
│   │   ├───Status: connected
│   │   ├───Physical size: 600×340 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {1}
│   │   ├───Modes
│   │   │   ├───3840×2160@60.00 preferred driver phsync nvsync 
│   │   │   ├───3840×2160@30.00 driver phsync nvsync 
│   │   │   ├───2560×1440@59.95 driver phsync nvsync 
│   │   │   ├───1920×1200@60.00 driver phsync nvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1920×1080@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1600×1200@60.00 driver phsync nvsync 
│   │   │   ├───1680×1050@60.00 driver phsync nvsync 
│   │   │   ├───1600×900@60.00 driver phsync pvsync 
│   │   │   ├───1280×1024@60.02 driver phsync pvsync 
│   │   │   ├───1440×900@60.00 driver phsync nvsync 
│   │   │   ├───1280×800@59.81 driver nhsync pvsync 
│   │   │   ├───1152×864@59.97 nhsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1280×720@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1024×768@60.00 driver nhsync nvsync 
│   │   │   ├───800×600@60.32 driver phsync pvsync 
│   │   │   ├───720×480@60.00 driver nhsync nvsync 16:9 
│   │   │   ├───720×480@59.94 driver nhsync nvsync 16:9 
│   │   │   ├───640×480@60.00 driver nhsync nvsync 4:3 
│   │   │   ├───640×480@59.94 driver nhsync nvsync 
│   │   │   └───640×480@59.94 driver nhsync nvsync 4:3 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 121
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 89
│   │       ├───"scaling mode": enum {None, Full, Center, Full aspect} = None
│   │       ├───"underscan": enum {off, on, auto} = off
│   │       ├───"underscan hborder": range [0, 128] = 0
│   │       ├───"underscan vborder": range [0, 128] = 0
│   │       ├───"max bpc": range [8, 16] = 16
│   │       ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default
│   │       ├───"HDR_OUTPUT_METADATA": blob = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│   │       ├───"HDCP Content Type": enum {HDCP Type0, HDCP Type1} = HDCP Type0
│   │       └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = Native

After:

├───Connectors
│   ├───Connector 0
│   │   ├───Object ID: 107
│   │   ├───Type: DisplayPort
│   │   ├───Status: connected
│   │   ├───Physical size: 600×340 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {0}
│   │   ├───Modes
│   │   │   ├───3840×2160@60.00 preferred driver phsync nvsync 
│   │   │   ├───3840×2160@30.00 driver phsync nvsync 
│   │   │   ├───2560×1440@59.95 driver phsync nvsync 
│   │   │   ├───1920×1200@60.00 driver phsync nvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1920×1080@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1600×1200@60.00 driver phsync nvsync 
│   │   │   ├───1680×1050@60.00 driver phsync nvsync 
│   │   │   ├───1600×900@60.00 driver phsync pvsync 
│   │   │   ├───1280×1024@60.02 driver phsync pvsync 
│   │   │   ├───1440×900@60.00 driver phsync nvsync 
│   │   │   ├───1280×800@59.81 driver nhsync pvsync 
│   │   │   ├───1152×864@59.97 nhsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1280×720@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1024×768@60.00 driver nhsync nvsync 
│   │   │   ├───800×600@60.32 driver phsync pvsync 
│   │   │   ├───720×480@60.00 driver nhsync nvsync 16:9 
│   │   │   ├───720×480@59.94 driver nhsync nvsync 16:9 
│   │   │   ├───640×480@60.00 driver nhsync nvsync 4:3 
│   │   │   ├───640×480@59.94 driver nhsync nvsync 
│   │   │   └───640×480@59.94 driver nhsync nvsync 4:3 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 143
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 85
│   │       ├───"scaling mode": enum {None, Full, Center, Full aspect} = None
│   │       ├───"underscan": enum {off, on, auto} = off
│   │       ├───"underscan hborder": range [0, 128] = 0
│   │       ├───"underscan vborder": range [0, 128] = 0
│   │       ├───"max bpc": range [8, 16] = 16
│   │       ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default
│   │       ├───"HDR_OUTPUT_METADATA": blob = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│   │       ├───"HDCP Content Type": enum {HDCP Type0, HDCP Type1} = HDCP Type0
│   │       └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = Native
│   ├───Connector 1
│   │   ├───Object ID: 116
│   │   ├───Type: DisplayPort
│   │   ├───Status: connected
│   │   ├───Physical size: 600×340 mm
│   │   ├───Subpixel: unknown
│   │   ├───Encoders: {1}
│   │   ├───Modes
│   │   │   ├───3840×2160@60.00 preferred driver phsync nvsync 
│   │   │   ├───3840×2160@30.00 driver phsync nvsync 
│   │   │   ├───2560×1440@59.95 driver phsync nvsync 
│   │   │   ├───1920×1200@60.00 driver phsync nvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 
│   │   │   ├───1920×1080@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1920×1080@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1600×1200@60.00 driver phsync nvsync 
│   │   │   ├───1680×1050@60.00 driver phsync nvsync 
│   │   │   ├───1600×900@60.00 driver phsync pvsync 
│   │   │   ├───1280×1024@60.02 driver phsync pvsync 
│   │   │   ├───1440×900@60.00 driver phsync nvsync 
│   │   │   ├───1280×800@59.81 driver nhsync pvsync 
│   │   │   ├───1152×864@59.97 nhsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 
│   │   │   ├───1280×720@60.00 driver phsync pvsync 16:9 
│   │   │   ├───1280×720@59.94 driver phsync pvsync 16:9 
│   │   │   ├───1024×768@60.00 driver nhsync nvsync 
│   │   │   ├───800×600@60.32 driver phsync pvsync 
│   │   │   ├───720×480@60.00 driver nhsync nvsync 16:9 
│   │   │   ├───720×480@59.94 driver nhsync nvsync 16:9 
│   │   │   ├───640×480@60.00 driver nhsync nvsync 4:3 
│   │   │   ├───640×480@59.94 driver nhsync nvsync 
│   │   │   └───640×480@59.94 driver nhsync nvsync 4:3 
│   │   └───Properties
│   │       ├───"EDID" (immutable): blob = 121
│   │       ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│   │       ├───"link-status": enum {Good, Bad} = Good
│   │       ├───"non-desktop" (immutable): range [0, 1] = 0
│   │       ├───"TILE" (immutable): blob = 0
│   │       ├───"CRTC_ID" (atomic): object CRTC = 89
│   │       ├───"scaling mode": enum {None, Full, Center, Full aspect} = None
│   │       ├───"underscan": enum {off, on, auto} = off
│   │       ├───"underscan hborder": range [0, 128] = 0
│   │       ├───"underscan vborder": range [0, 128] = 0
│   │       ├───"max bpc": range [8, 16] = 16
│   │       ├───"Colorspace": enum {Default, BT709_YCC, opRGB, BT2020_RGB, BT2020_YCC} = Default
│   │       ├───"HDR_OUTPUT_METADATA": blob = 0
│   │       ├───"vrr_capable" (immutable): range [0, 1] = 0
│   │       ├───"Content Protection": enum {Undesired, Desired, Enabled} = Undesired
│   │       ├───"HDCP Content Type": enum {HDCP Type0, HDCP Type1} = HDCP Type0
│   │       └───"subconnector" (immutable): enum {Unknown, VGA, DVI-D, HDMI, DP, Wireless, Native} = Native