Please help, How to lock PowerMizer Performance Level to the low level?

Hi, I am on Ubuntu laptop and when I am using GPU-heavy apps it’s overheating so I want somehow limit it.

I’ve read similar thread but it’s solution don’t work for me.

What I can do for it? And what additional info for you can be helpful?

Laptop lenovo ideapad 5 15itl05
OS Ubuntu 20.04.3 LTS 5.13.0-28-generic x86_64
Graphics NVIDIA Corporation / NVIDIA GeForce MX450/PCIe/SSE2
Driver from NVIDIA metapackage nvidia-driver-495

Please help me I don’t know what to do now…

Hey there,

Edit: Did you tried this? @generix helped me with this: create /etc/modprobe.d/nvidia-lowperf.conf

options nvidia	NVreg_RegistryDwords="PowerMizerEnable=0x1; PowerMizerDefaultAC=0x3; PowerMizerLevelAC=0x3; PowerMizerLevel=0x3; PerfLevelSrc=0x2222;"

then run sudo update-initramfs -u

This thread solution is not the best, because you will reduce the performance of your GPU. This will reduce the temp, but you will have not the full power of the GPU. The first thing to do is to clean up your Notebook. Maybe you can open the backplate to remove the dust from the cooler.

You need a FAN Control. There is a very good one, which I’m using called “Tuxedo Control Center”. Unfortunately I can’t say, it’s compatible with you Notebook Fans. You will have to try it.

  1. Add TUXEDO Computers software package sources: Add TUXEDO Computers software package sources - Add TUXEDO Computers software package sources - TUXEDO Computers
  2. Install Tuxedo Control Center: Add TUXEDO Computers software package sources - Add TUXEDO Computers software package sources - TUXEDO Computers

There is also another FAN Control called “Thinkfan” (https://gist.github.com/Yatoom/1c80b8afe7fa47a938d3b667ce234559) but I don’t tried it. But maybe this is a good solution for Lenovo Notebooks, because Thinkpad = Lenovo.

Good luck!

Hi!

create /etc/modprobe.d/nvidia-lowperf.conf
options nvidia	NVreg_RegistryDwords="PowerMizerEnable=0x1; PowerMizerDefaultAC=0x3; PowerMizerLevelAC=0x3; PowerMizerLevel=0x3; PerfLevelSrc=0x2222;"
then run sudo update-initramfs -u

Yes I found this advice and tried it, but I couldn’t see some changes. Is there some way to check is it changed something and used new config or not? And do you know what those values mean, especially 0x2222?

About FAN Controls, are they supposed to increase speed of fans?

I don’t know what PerfLevelSrc=0x2222 do.

If you want to lower the Power of your GPU you have to create the file nvidia-lowperf.conf in /etc/modprobe.d. If there is no one, you have to create the file.

You have to change

PowerMizerDefaultAC=0x?
PowerMizerLevelAC=0x?
PowerMizerLevel=0x?

In my case, I have 3 Power levels: 0, 1 and 2.
If I set the PowerMizer Level to 0x1, the GPU is always on the highest possible Performance Level, which is in my case 2.
If I set the PowerMizer Level to 0x2, the GPU is always on the Performance Level 1.
If I set the PowerMizer Level to 0x3, the GPU is always on the lowest possible Performance Level, which is in my case 0.

So you have four Performance Levels: 0,1,2,3. You have to try out, which 0x? command is the best for you. I don’t know which service you have to restart after you take changes. I’m always rebooting my Notebook to take effect.

You can increase and lower the FAN RPM with a FAN Control.

PerfLevelSrc=0xaabb is the clocking aproach, aa on battery, bb on AC.
I’m not really sure about this, but should be
a/b=0 N/A
a/b=1 max performance
a/b=2 fixed clock, set by PowerMizerLevel/PowerMizerLevelAC
a/b=3 adaptive clocking (default)

Hi again!

I’ve tried

options nvidia NVreg_RegistryDwords="PowerMizerEnable=0x1; PowerMizerDefaultAC=0x3; PowerMizerLevelAC=0x3; PowerMizerLevel=0x3; PerfLevelSrc=0x2222;"

with different values 0x1 0x2 0x3 0x4 and without config it’s on adaptive mode (performance level switching from 0 to 3), but with any config it’s set always on high performance (perf. level 3)…

BUT

I found another command
sudo nvidia-smi -lgc 300,1395
And seems that it works, will test more on days but looks promising

Then you’re lucky, mobile gpus rarely ever support -lgc. This is by far superior to the powermizer settings.