(all status monitored with ‘watch -n 5 nvidia-smi’ output)
System runs a bash script on login manager (lightdm) called ‘nv-idle’ to set the baseline config consisting of:
nvidia-settings -a “[gpu:0]/GPUGraphicsClockOffset[3]=0”
nvidia-settings -a “[gpu:0]/GPUMemoryTransferRateOffset[3]=0”
nvidia-settings -a “[gpu:0]/GPUPowerMizerMode=0”
nvidia-settings -a “[gpu:0]/GPUFanControlState=1” -a “[fan:0]/GPUTargetFanSpeed=20”
In effect: baseline clock speed, adaptive clock mode, 20% manual fan.
Upon resuming from a s3 suspend state, p0 is selected and will not downshift automatically into lower modes. Manually calling the ‘nv-idle’ script will downshift the performance mode by increments going from p0 (33w) → p0 (28w) → p2 (27w) → p5 (8w) → p8 (6w) usually requiring calling the script 4-6 times as it steps down in increments and stays there. Each displayed reduction in power / power mode is accompanied by a corresponding temperature change. Upon running any new gpu process (chrome/firefox) it will return to p0 and start the process over again.
Upon a reboot, the initial p0 state is selected after an application is launched and then is automatically lowered without demand settling at p8 automatically.
Simplified steps:
- Reboot system.
- Set gpu settings with above ‘nv-idle’
- Open new terminal, and observe gpu status with ‘watch -n 5 nvidia-smi’
- Launch new application utilizing gpu (chrome/firefox).
- Observe p0 performance state now set.
- Close application. (chrome/firefox)
- Observe performance state returns to p8 over the next 30s or so.
- Put system into s3 sleep and then resume a minute later.
- Repeat steps 2-6 and observe the performance state remains at p0 indefinitely.
Basics:
mobo: Asus x370 ROG strix
cpu: Ryzen 1700
gpu: GTX 1070
gpu driver: 4.15.25
kernel: 4.20.0
Xorg : 120.3
distro: Manjaro 18.0.2 (cinnamon)
nvidia-bug-report (minus dump): ____________________________________________Start of NVIDIA bug report log f - Pastebin.com