If you have GPU clock boost problems, please try __GL_ExperimentalPerfStrategy=1

I can confirm the monitor-related observation:

My setup has two monitors connected (actually one monitor on DP, and a TV on HDMI, both 4k, clone mode).

While both monitors are connected, the GPU stays at the highest power level statically. It also causes latency spikes when the system is running for a long time, ultimately showing perf messages in the kernel:

[56896.930341] perf: interrupt took too long (3142 > 3131), lowering kernel.perf_event_max_sample_rate to 63600
[57913.607571] perf: interrupt took too long (3940 > 3927), lowering kernel.perf_event_max_sample_rate to 50700
[59785.486534] perf: interrupt took too long (4933 > 4925), lowering kernel.perf_event_max_sample_rate to 40500
[62631.956353] perf: interrupt took too long (6217 > 6166), lowering kernel.perf_event_max_sample_rate to 32100

The result is micro-freezes of the system. Every once in a while, the mouse cursor would stutter, keyboard inputs are delayed or skipped, video playback skips frames (but audio is not affected), scrolling isn’t smooth anymore, games become unpredictable due to jumpy mouse movement or gamepad input. If I leave the system running for long enough, the effects probably recover, just to come back suddenly.

While the system micro-freezes (short latency spikes or freezes, usually just milliseconds but enough to make mouse movement unpredictable on the desktop), I can go to nvidia-settings and disable the HDMI output, the system immediately recovers from the micro-freezes and the GPU enters low power states. Turning HDMI back on, and the GPU maximizes on power levels even when idling at 1-2% usage. The micro-stutters do not return at that point but eventually they will later.

A reboot usually also fixes the micro-stutters for some hours but GPU power levels stay at maximum.

This is extremely annoying especially while using the mouse. It took me a very long time to finally find this thread, and a work-around (disable second monitor). So I’m pretty sure it’s driver-related. This hasn’t been an issue months ago but I cannot pinpoint when it happened.

But it probably happened about the same time when I discovered that the TV would no longer properly be detected: It usually works after reboot but when I turn the TV off and back on, it only shows a black screen with “no signal detected” while the NVIDIA driver thinks it’s working perfectly fine and shows resolution/refresh/model etc. To fix this, I need to lower the resolution and put it back to 2160p, or I need to set it to 30 Hz instead of 60 Hz (which is quite useless for games which suddenly run at 20-30 fps instead of 50-60).

Update:

Using __GL_ExperimentalPerfStrategy=1 makes no difference.

Maybe related: NVIDIA 455.50.14 nvidia-modeset kernel crash on monitor re-plug

nvidia-bug-report.log.gz (1,1 MB)