Help with high resolution & high refresh rate (Nvidia / Nvidia-open drivers)

issue:

I recently purchased an LG 45GX950A-B monitor (5120x2160@165Hz) and attached it to my system with a 4090.

This system is set-up with dual boot and the highest resolution (5120x2160@165Hz HDR with VRR) works as expected in windows 11; however, although it is listed in linux, I get a black screen when attempting to apply the setting. I can successfully select ((5120x2160@100Hz HDR10 VRR) in wayland, but would like to get 165Hz working. Any thoughts?

Linux Setup

My setup looks like the following

Video Driver: nvidia-open-dkms
     Version: 570.144-1
OS:           Arch Linux x86_64
Kernel:       Linux 6.14.3-1-clear
Display:      (LG Electronics 44"): 5120x2160 @ 100 Hz in 44" [External]
DE:           GNOME 48.1
WM:           Mutter (Wayland)
CPU:          AMD Ryzen Threadripper 3970X 32-Core (64) @ 4.55 GHz
GPU:          NVIDIA GeForce RTX 4090 [Discrete]
Memory:       5.57 GiB / 251.56 GiB (2%)

A few other notes:

  • I an using early driver loading via mkinitcpio
    MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
    
  • I am manually enabling drm.modeset and setting a resolution via kernel parameters which work as expected
     nvidia_drm.modeset=1
     video=HDMI-A-1:5120x2160@100
    
  • I have encountered EDID issues with the driver auto-selecting 3840x1440 @ 17Hz during KMS (what, 17Hz?)

Questions:

  • Any thoughts on solutions?
  • Can custom resolutions be set in Wayland? Can’t find how if so.
  • Could this be a Display Stream Compression Issue? Any way to verify if DSC is supported / enabled / in use?

Thanks for any assistance,
Brian

I’m unfamiliar with nvidia-open-dkms, did they rebrand nouveau?
You’re gonna need the drivers from nvidia
https://wiki.archlinux.org/title/NVIDIA

I’m aware and am using the proprietary driver (this is not nouveau). Additionally, I tried Nvidia-dkms with the same results.

The Arch site (and Nvidia) recommends nvidia-open for newer cards…

REF: https://developer.nvidia.com/blog/nvidia-transitions-fully-towards-open-source-gpu-kernel-modules/

take a look at the table in the site you linked: :slight_smile:

GPU family Driver Status
[Turing (NV160/TUXXX)] and newer [nvidia-open], [nvidia-open-lts], [nvidia-open-dkms] Recommended by upstream
[Maxwell (NV110/GMXXX)] - [Ada Lovelace (NV190/ADXXX)] [nvidia], [nvidia-lts], [nvidia-dkms]
[Kepler (NVE0/GKXXX)] [nvidia-470xx-dkms] Legacy, unsupported2,3
[Fermi (NVC0/GF1XX)] [nvidia-390xx-dkms]
[Tesla (NV50/G80-90-GT2XX)] [nvidia-340xx-dkms]
[Curie (NV40/G70)] No longer packaged

the open source driver has incompatible licinesing terms with hdmi 2.1 protocall needed for high refresh rate at high resolutions. when connecting via hdmi on the open source driver your stuck with hdmi 2.0 wich supports up to 4k 60hz.

Windows does not have this problem because there is no open source driver on windows, meaning the licensing can be compatible with the hdmi 2.1 so the windows nvidia driver supports hdmi 2.1

The solution on linux is to use displayport for your high refresh rate gaming.

Edit: forgot the 4090’s display ports are 1.4a , so your limited on bandwith, you cant do full resoulution and refresh rate at 4:4:4 see @Draaksward comment below about display stream compression.

Forgot how this thing was called, but basically there is native 4K 144Hz(I don’t even know how the 5120x is called), and there is compressed.

And ONCE (and never again) I managed to switch this mode using MSI’s ControlCenter or something. It resulted into black screen.

I think that the problem you’re facing is somehow related to this scenario.

the term your looking for is display stream compression. But you should not need this both DP2.0 and HDMI2.1 have enough bandwith i belive. The problem is HDMI2.1 is not supported on the opensource nvidia linux driver.

1 Like

Thanks for naming the term (remembered it the moment I saw it).

My case is a 4k 240hz monitor, and a gpu (2080ti), which was released long before such numbers came into existance.

1 Like

good point actually you made me go check what the 4090 dp ports support, and its only 1.4a, so they have to use display stream compression on a 4090 even if using dp.

1 Like

FYI: as a test I changed to nvidia-dkms and related dependencies (vs nvidia-open) also tried nvidia-dkms-beta with the same result.