Idle perf state stuck at P0 with two 4k monitors

I have a 2080 Ti with two 4k monitors attached: one to DP-0 and one to DP-2. After booting, or resuming from suspend, the card will not leave perf state 0.

If I turn both outputs off using xrandr, wait for the monitors to enter standby, then turn the outputs on again with xrandr, this seems to fix things: the card will happily drop to perf state 8 when idle, and everything appears to work. The exact commands used to “fix” the perf state issue are:

xrandr --output DP-0 --off --output DP-2 --off
sleep 40 # Wait for monitors to enter standby
xrandr --output DP-0 --auto --primary --output DP-2 --auto --right-of DP-0

If I run the last command again when the monitors are back on, the outputs seem to get reconfigured in some way (the monitors flash black), and the card gets stuck in perf state 0 again.

I’ve attached 3 outputs from nvidia-bug-report.sh:

I don’t see any perf state issues in Windows; the card happily clocks down to 300 core 405 memory without any terrible hacks, which matches what I get in Linux after performing the hacky fix.

Looks like this has been fixed in 515.76 🥳

Maybe spoke too soon. It’s definitely better, but it still seems to sometimes get stuck in P0 when idle.