Overclocking works with ssdm but not gdm3 under Ubuntu 22.04

I’m running a MSI Ventus GeForce RTX 2060 with CUDA 11.8 and driver version 520.61.05. I enabled overclocking by setting coolbits=28. However, under the default Ubuntu 22.04 window manager (gdm3), I can’t actually overclock:

$ sudo nvidia-settings -a “[gpu:0]/GPUMemoryTransferRateOffsetAllPerformanceLevels=1000”

ERROR: Error assigning value 1000 to attribute
‘GPUMemoryTransferRateOffsetAllPerformanceLevels’ (roma:1[gpu:0]) as
specified in assignment
‘[gpu:0]/GPUMemoryTransferRateOffsetAllPerformanceLevels=1000’ (Unknown
Error).

When I try to use the nvidia-settings GUI, I can type in a graphics clock offset or memory transfer rate offset, but it doesn’t actually take effect. The frequency numbers on top don’t change.

However, after reading this thread (465.24.02 - No longer able to set Graphics Clock Offset and Memory Transfer Rate Offset - #27 by kabalage1), I decided to try sddm, and everything worked! I could set the clock offset and memory offset using either the command line or the GUI.

Is there a way to get overclocking working on gdm3? How about on a headless computer with nobody logged in?

I attached the NVIDIA bug report, in case it’s helpful.

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