[390.x] Unable to modify GPUMemoryTransferRateOffset and GPUGraphicsClockOffset via nvidia-settings ...

Hello, after upgrading to the 390.x series (just updated to 390.42; was using 390.25 before), I am unable to use nvidia-settings in the command-line to modify the GPUGraphicsClockOffset and GPUMemoryTransferRateOffset attribute. Is this expected?

If I open the GUI nvidia-settings, I can modify those parameters normally, but before this series, I was able to issue a command to change it automatically (had a script running when X would start).

I am running ArchLinux with 4.15.9 kernel, with a GTX 1060.

So this works using GUI but not command line? I wouldn’t expect that, maybe open an issue here:

Sorry, kinda forgot this thread.

Exactly. The script did something like

nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffset[3]=${NVIDIA_MEM_OFFSET} -a [gpu:0]/GPUGraphicsClockOffset[3]=${NVIDIA_CLOCK_OFFSET}

and eventually stopped working. By using the GUI, it is able to change those parameters, in the PowerMizer screen.

Thanks for the github URL. I checked the code, and after some debugging, I noticed that the GUI does not set GPUMemoryTransferRateOffset and GPUGraphicsClockOffset, but instead sets GPUMemoryTransferRateOffsetAllPerformanceLevels and GPUGraphicsClockOffsetAllPerformanceLevels, so adapting the script to use these parameters makes it “work” again.

Script now looks like:

nvidia-settings -a [gpu:0]/GPUMemoryTransferRateOffsetAllPerformanceLevels=${NVIDIA_MEM_OFFSET} -a [gpu:0]/GPUGraphicsClockOffsetAllPerformanceLevels=${NVIDIA_CLOCK_OFFSET}

Thanks for reporting back.
Kind of makes sense since afaik Pascal gpus apply the offsets to all performance levels in general.