When attempting to set the PowerMizer performance mode, I noticed it only applies when the nvidia-settings GUI is running. I can verify this when running nvidia-smi, where if I set PowerMizer to “Prefer Maximum Performance” through the GUI, nvidia-smi reports the performance state at P0, and as soon as I close nvidia-settings it goes back down to P8. Attempting to set the PowerMizer setting on the command-line also has no effect:
-
Running
nvidia-settings -lhas no effect on the power state when ~/.nvidia-settings.rc has[GPU:0]/GPUPowerMizerMode=Nset. -
Attempting to run
nvidia-settings -ahas no effect. For example, these two commands run in succession:
$ nvidia-settings -a “[GPU:0]/GPUPowerMizerMode=1”Attribute ‘GPUPowerMizerMode’ (htpc:0[gpu:0]) assigned value 1.$ nvidia-settings -q “[GPU:0]/GPUPowerMizerMode”Attribute ‘GPUPowerMizerMode’ (htpc:0[gpu:0]): 0.
Valid values for ‘GPUPowerMizerMode’ are: 0, 1 and 2.
‘GPUPowerMizerMode’ can use the following target types: GPU.
In all cases, DISPLAY is set correctly to :0.0 in the terminal.
I am running on Arch Linux with XOrg and XFCE, with driver version 59.48.01 on a GeForce RTX 2080.
The main motivation here is to be able to set PowerMizer to Performance while a game is running, such as with a custom command in gamemoderun. I know that nvidia-smi has some options for locking the GPU clock, but unfortunately locking the memory clocks is not available on my GPU. Specifically I want to lock the PCIe gen that’s used - I have had occasional (very infrequent, but annoying) cutouts of HDMI audio, and from what I can tell that is the most likely culprit.
nvidia-bug-report.log.gz (694.6 KB)