Display bounded to 30 Hz with GeForce RTX 3090 on Arch Linux (nvidia 455.28-7)

nvidia-bug-report.log.gz (320.3 KB)

Hi everyone

I just bought a GeForce RTX 3090 with a new computer. I made a dual-boot setup as always, Windows to play, Arch Linux for the rest. I use a Philips BDM4350UC monitor, plugged via DisplayPort. Hardware limit : 60 Hz.
On Windows it’s OK, I can be at 3840x2160 (native res) in 60 Hz, but in Arch Linux, even if the nvidia 455.28-7 is properly installed (via pacman, as a package), the resolution is 3840x2160 (OK) BUT the refresh rate is 30 Hz, and I can’t go up that (I tried).
I don’t know if it’s nvidia or mesa the problem, but it’s really annoying to use an OS with that low refresh rate.
Do you guys have any idea to get rid of that problem?

Can you please enable Option "ModeDebug" in the Screen or Device section of /etc/X11/xorg.conf, restart the X server, and the generate another bug report log?

The 60 Hz mode is getting rejected, but ModeDebug needs to be enabled for it to log the details about why:
[ 357.037] (WW) NVIDIA(0): No valid modes for "3840x2160_60"; removing.

Thanks for answering. I did so, and seems like some kind of “DisplayPort bandwidth check” failed.

See lines 768 to 779 :

nvidia-bug-report.log.gz (272.4 KB)

Hmm, interesting. Do you have a different DP cable you could try as an experiment?

You can override the DP bandwidth check by setting

Option "ModeValidation" "NoDisplayPortBandwidthCheck"

in the Device or Screen section of /etc/X11/xorg.conf, but I don’t know if that’ll help if the available bandwidth really is too low.

I’m curious how this is working on Windows. Does this monitor have an on-screen display that shows detailed information about the mode the computer is sending? I’m curious whether it’s RGB or YUV and which bit depth it’s using.

Hi aplattner,
Sorry for the little delay.
I tried your solution with the “NoDisplayPortBandwidthCheck” option. It allowed me the 60Hz mode in DP but…
see the result yourself (it’s a picture of my screen) : (see archive at the end of reply)

To answer you question, my monitor does not have a way to display mode information in the OSD (I will try to search the manual further after writing this reply), but here is what Windows tells me : (see archive at the end of reply)
Seems like it’s YCbCr422.

captures.zip (2.2 MB)

Thanks and sorry for the delay in replying. It does sound like YCbCr 4:2:2 is required for this mode and the Linux driver doesn’t support it. For future reference, internal bug number 2242207 tracks fixing this.

Ok thanks. So I just have to wait for a future driver release?
I suppose I can’t enter the number 2242207 anywhere as the code base isn’t open. (so why did you give it to me?)
Thank you anyway.

Yeah, it’ll have to wait for a future release, sorry. The bug number is for internal tracking, to make it easier for us to look up the issue in the future so we don’t have to search for it.

Hi aplattner,
I’ve got an update!
I made it getting 60Hz at my native resolution (3840x2160): I found the solution.
My monitor was configured to support DisplayPort 1.1 only (default setting), and I used the OSD menu to set it to DisplayPort 1.2, and then it worked.
Please note this for future client needs, as it wasn’t something you told me to look at.