Laptop refresh rate won't set correctly, stuck at 40Hz when set to 165hz

I’m trying to switch to Linux on my laptop which has an RTX 3070 and Intel UHD graphics for 10th gen which I think they call GT2 graphics(?).

Ideally I want to use KDE as it’s what I’m used to so I’ve installed Kubuntu, at least for now just to test things out and make sure everything is working. However, I’ve got the NVidia proprietary drivers installed and my laptop seems to be stuck at a 40hz refresh rate. The displays configuration lets me choose 165hz but it doesn’t seem to change anything and tried changing it in xrandr too but it hasn’t done anything. I’ve also tried disabling v-sync in compositor settings and that hasn’t made a difference either.

I’ve tried setting the prime settings to use the NVidia card only, and also the intel iGPU only, and there’s no difference between them. There’s also very few settings I can change in the NVidia X Server settings, there’s no option to change the refresh rate.

Checking the OpenGL details in the “info center” is showing as the laptop using the i915 Intel driver and the proprietary NVidia 470 drivers.

I’ve tried other distros too, but they all have the same issue.

Attached is the NVidia bug report.
Any help getting this to work properly would be massively appreciated.

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

2560x1440 (0x1e5) 667.900MHz -HSync -VSync *current +preferred
h: width 2560 start 2608 end 2640 total 2735 skew 0 clock 244.20KHz
v: height 1440 start 1443 end 1449 total 1480 clock 165.00Hz

Hm, xrandr reports you are using your desired refresh rate.
I wonder how you determine the 40Hz?

No obvious errors in your reports logs, except some ACPI error messages in dmesg. Might be related / or not to your problem, I don’t know about that. BIOS update?

1 Like

Hi Mart,
Thanks for noticing that with xrandr. When I tried setting the refresh with it, nothing visibly changed when I tried 165 or 40hz.
For determining it was 40hz I used glxgears which reported frame rates of 40fps. Also, it just doesn’t feel smooth using the system, when I plugged in an external 60hz display it was noticeably smoother.

I’ll look at those error messages, thanks!
As for a BIOS update, it’s a custom laptop from CyberPowerUK made by TongFang. I’ve spoken to CyberPower and there isn’t any newer BIOS versions unfortunately.

I should probably also add that in the display settings in Kubuntu the options I have are 40Hz and 165Hz.

Guessing the external monitor is directly connected to the nvidia GPU?
If that’s the case and it runs smooth, maybe the problem is with the intel driver. As you said it also is like that when you switch to intel.
Did you try any other window manager, or just KDE (I know you said other distros)?

Another shot in the dark:

  • Tried disabling PRIME synchronisation?
  • You use the “threadirqs” kernel parameter. Same thing booting without it?

Thank you for the suggestions Mart!
Unfortunately the kernel parameter hasn’t made a difference. As for PRIME synchronisation. In the nvidia X settings there isn’t a way to change it. I’ve attached a screenshot in case I’m missing something, but on the display configuration, even if I click “advanced” there’s no options I can change.

I have tried i3 and awesomewm, and they are both running at the same refresh rate. So I’m thinking you could very much be on the right lines thinking it might be the Intel driver. I have tried difference kernel versions incase the intel drivers were any different. I’m on 5.13 at the moment, but I’ve tried 5.10 through to 5.15-rc3 and they’ve all acted the same.

Since I’m running the i915 Intel driver at the moment, is there any alternative to that I could try?

https://download.nvidia.com/XFree86/Linux-x86_64/470.74/README/randr14.html
At the bottom of the doc.
If you have are in display-offload mode (prime-select nvidia), you could try to disable synchronisation, just to rule that out.

modinfo i915 - maybe there’s a tunable available?

And sorry, I think I’m out of ideas…

nope.