F41: odd resolution and no 4K 144hz support with an AMD GPU

Hi folks! I’m trying to make a 144Hz monitor and AMD 7900xtx work together in F41 at 3840x2160 resolution. However, the Display Settings doesn’t show 144Hz (only 60Hz) and inxi -Fzx shows an odd resolution:

$ inxi -Fzx
System:
  Kernel: 6.11.10-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: ASUS product: N/A v: N/A serial: <superuser required>
  Mobo: ASUSTeK model: ROG STRIX B650E-I GAMING WIFI v: Rev 1.xx
    serial: <superuser required> UEFI: American Megatrends v: 3057
    date: 10/29/2024
CPU:
  Info: 8-core model: AMD Ryzen 7 7700 bits: 64 type: MT MCP arch: Zen 4
    rev: 2 cache: L1: 512 KiB L2: 8 MiB L3: 32 MiB
  Speed (MHz): avg: 545 min/max: 545/5486 boost: enabled cores: 1: 545
    2: 545 3: 545 4: 545 5: 545 6: 545 7: 545 8: 545 9: 545 10: 545 11: 545
    12: 545 13: 545 14: 545 15: 545 16: 545 bogomips: 121609
  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 31 [Radeon RX 7900 XT/7900
    XTX/7900 GRE/7900M] vendor: Sapphire PULSE driver: amdgpu v: kernel
    arch: RDNA-3 bus-ID: 03: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: 6144x3456~60Hz
  API: OpenGL v: 4.6 vendor: amd mesa v: 24.2.8 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon RX 7900 XTX (radeonsi navi31 LLVM
    19.1.0 DRM 3.59 6.11.10-300.fc41.x86_64)
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
...

EDID shows that the correct 3840x2160@144Hz mode should be supported:

$ cat /sys/class/drm/card1-DP-1/edid | edid-decode

...
----------------

Block 2, DisplayID Extension Block:
  Version: 1.2
  Extension Count: 0
  Display Product Type: DIRECT DRIVE monitor
  Video Timing Modes Type 1 - Detailed Timings Data Block:
    DTD:  3840x2160  143.980648 Hz   0:0    319.925 kHz   1279.700000 MHz (aspect undefined, no 3D stereo, preferred)
               Hfront   48 Hsync  64 Hback   48 Hpol P
               Vfront    3 Vsync   5 Vback   54 Vpol N
    DTD:  3840x2160  120.004373 Hz   0:0    274.450 kHz   1097.800000 MHz (aspect undefined, no 3D stereo)
               Hfront   48 Hsync  32 Hback   80 Hpol P
               Vfront    3 Vsync   5 Vback  119 Vpol N
    DTD:  3840x2160   84.992215 Hz   0:0    191.062 kHz    764.250000 MHz (aspect undefined, no 3D stereo)
               Hfront   48 Hsync  32 Hback   80 Hpol P
               Vfront    3 Vsync   5 Vback   80 Vpol N
  Checksum: 0x78
Checksum: 0x90

Also, if it helps: I tried other display modes, 144Hz option starts appearing on 2560x1440 resolution and below.

The monitor is connected over a quality DP cable, 144Hz work well in Windows (dual-booted).

What else could I check?

Welcome @elgris!

You may need to add amdgpu.freesync_video=1 to the boot command line for Grub. I know this fixes the issues on laptops with AMD GPUs where only one or two refresh rates are available for selection, even though the display supports additional refresh rates and FreeSync.

The grubby command can be used to update the Grub entries and will take effect upon reboot:

sudo grubby --update-kernel=ALL --args="amdgpu.freesync_video=1"

Thanks @theqlp , I’ll give it a try. Just an FYI: I did disable FreeSync on the monitor, also I disabled the AMD iGPU (thought it might have confused the system, although got no effect).

Unfortunately, it didn’t help :frowning: . Would appreciate any help with debugging this problem. Basically, I’d like to trace where the list of supported refresh rates per resolution comes from. Where can I start digging?
I suspect a problem with the amd driver. Tried an nVidia RTX3060TI GPU with proprietary drivers - 144Hz mode was there.