[Feature Request] Make the "GPUCurrentPerfLevel" attribute user-changeable

Would you like to see this feature?

Yes
No
Hi devs! I'm a full-time Linux user and I'm extremely happy with the NVIDIA drivers and with how well games run, as well as with the support my fairly dated 560 TI is still getting, so thanks for that! One thing that's really annoying though is changing the power levels. If I'm in regular desktop mode, I'd like my power level to be on medium, meaning 405 MHz GPU clock instead of 830 MHz on my card specifically. To achieve that, I have to disable my compositor, open and then close a video in VLC and wait for a few seconds. The driver will then switch from power state 2 to power state 1. What you can then do is edit the frequencies of power state 2 to be the same as power state 1, so that it stays the same when you use your computer and it automatically switches up again. That's extremely tedious and annoying, especially if you have to do it every time you boot or finish playing a game. Fortunately I found this in the driver documentation (specifically: 'nvidia-settings -q all'): Attribute 'GPUCurrentPerfLevel' (heavy-pc:0.0): 2. 'GPUCurrentPerfLevel' is an integer attribute. 'GPUCurrentPerfLevel' is a read-only attribute. 'GPUCurrentPerfLevel' can use the following target types: X Screen, GPU. The switch for changing the current performance level exists of course, but it's not user-changeable. Long story short, I hoped you could implement an optional function to unlock this value to be user changeable so I could bind it to a shortcut for example. You can already change clock speeds, voltages and fan speeds, I don't see why you shouldn't be able to switch power state as well. Let me know if that's doable, or if a solution for my problem already exists anywhere in the driver (I couldn't find anything in the documentation). Thanks!
Hi devs!

I'm a full-time Linux user and I'm extremely happy with the NVIDIA drivers and with how well games run, as well as with the support my fairly dated 560 TI is still getting, so thanks for that!

One thing that's really annoying though is changing the power levels. If I'm in regular desktop mode, I'd like my power level to be on medium, meaning 405 MHz GPU clock instead of 830 MHz on my card specifically.

To achieve that, I have to disable my compositor, open and then close a video in VLC and wait for a few seconds. The driver will then switch from power state 2 to power state 1. What you can then do is edit the frequencies of power state 2 to be the same as power state 1, so that it stays the same when you use your computer and it automatically switches up again.

That's extremely tedious and annoying, especially if you have to do it every time you boot or finish playing a game.

Fortunately I found this in the driver documentation (specifically: 'nvidia-settings -q all'):

Attribute 'GPUCurrentPerfLevel' (heavy-pc:0.0): 2.
'GPUCurrentPerfLevel' is an integer attribute.
'GPUCurrentPerfLevel' is a read-only attribute.
'GPUCurrentPerfLevel' can use the following target types: X Screen, GPU.

The switch for changing the current performance level exists of course, but it's not user-changeable. Long story short, I hoped you could implement an optional function to unlock this value to be user changeable so I could bind it to a shortcut for example. You can already change clock speeds, voltages and fan speeds, I don't see why you shouldn't be able to switch power state as well.

Let me know if that's doable, or if a solution for my problem already exists anywhere in the driver (I couldn't find anything in the documentation).

Thanks!

#1
Posted 11/01/2015 09:27 AM   
[quote="xHeavyHD"]If I'm in regular desktop mode, I'd like my power level to be on medium[/quote] Why? You have not explained what's wrong with "Auto". See [url=https://bbs.archlinux.org/viewtopic.php?pid=1379867#p1379867]my old script[/url]. Beware of overheating!
xHeavyHD said:If I'm in regular desktop mode, I'd like my power level to be on medium

Why? You have not explained what's wrong with "Auto".

See my old script.

Beware of overheating!

#2
Posted 11/01/2015 10:25 AM   
The clock speeds won't be applied if you lower it while you are in that same power state, you need to wait until it switches to a lower state and then back again for it to be applied. Does your script circumvent this limitation of the GUI?
The clock speeds won't be applied if you lower it while you are in that same power state, you need to wait until it switches to a lower state and then back again for it to be applied.

Does your script circumvent this limitation of the GUI?

#3
Posted 11/01/2015 10:31 AM   
[quote="brebs"][quote="xHeavyHD"]If I'm in regular desktop mode, I'd like my power level to be on medium[/quote] Why? You have not explained what's wrong with "Auto". See [url=https://bbs.archlinux.org/viewtopic.php?pid=1379867#p1379867]my old script[/url]. Beware of overheating![/quote] The settings which are changed by your script have been deprecated and don't work anymore: [code]DEPRECATED: The attribute 'GPUOverclockingState' is no longer supported.[/code] [code]DEPRECATED: The attribute 'GPU3DClockFreqs' is no longer supported.[/code] Personally, my issue with the "Auto" mode is that it constantly leaves the card in a high-power state in a dual-monitor setup with one 144hz monitor. I have to leave the monitor on 120hz or change the resolution manually every time I want 144hz, otherwise the card idles at 46C instead of 35C.
brebs said:
xHeavyHD said:If I'm in regular desktop mode, I'd like my power level to be on medium

Why? You have not explained what's wrong with "Auto".

See my old script.

Beware of overheating!

The settings which are changed by your script have been deprecated and don't work anymore:

DEPRECATED: The attribute 'GPUOverclockingState' is no longer supported.

DEPRECATED: The attribute 'GPU3DClockFreqs' is no longer supported.


Personally, my issue with the "Auto" mode is that it constantly leaves the card in a high-power state in a dual-monitor setup with one 144hz monitor. I have to leave the monitor on 120hz or change the resolution manually every time I want 144hz, otherwise the card idles at 46C instead of 35C.

#4
Posted 11/01/2015 04:29 PM   
[quote="qux"]Personally, my issue with the "Auto" mode is that it constantly leaves the card in a high-power state in a dual-monitor setup with one 144hz monitor. I have to leave the monitor on 120hz or change the resolution manually every time I want 144hz, otherwise the card idles at 46C instead of 35C.[/quote] Yep I noticed that too. On Windows there's a program called "Multi Display Power Saver" that will automatically switch power states depending on applications running, so for example if you start a game, it would go into high performance mode, if you only have your browser open, it's in medium mode. I'll probably get started on developing a project like this if they open up the 'GPUCurrentPerfLevel' attribute, I'd imagine something like that would be useful to pretty much every NVIDIA user.
qux said:Personally, my issue with the "Auto" mode is that it constantly leaves the card in a high-power state in a dual-monitor setup with one 144hz monitor. I have to leave the monitor on 120hz or change the resolution manually every time I want 144hz, otherwise the card idles at 46C instead of 35C.


Yep I noticed that too. On Windows there's a program called "Multi Display Power Saver" that will automatically switch power states depending on applications running, so for example if you start a game, it would go into high performance mode, if you only have your browser open, it's in medium mode. I'll probably get started on developing a project like this if they open up the 'GPUCurrentPerfLevel' attribute, I'd imagine something like that would be useful to pretty much every NVIDIA user.

#5
Posted 11/01/2015 04:36 PM   
Any word from NVIDIA people?
Any word from NVIDIA people?

#6
Posted 11/02/2015 11:36 PM   
I was looking for the same thing when I stumbled upon this thread. The nvidia driver on my machine seems to prefer higher performance modes and makes my laptop way too hot. It will be really useful to have a feature to lock a certain performance mode or at least a 'prefer lower power' mode. Please consider adding this feature. Thank you
I was looking for the same thing when I stumbled upon this thread.

The nvidia driver on my machine seems to prefer higher performance modes and makes my laptop way too hot. It will be really useful to have a feature to lock a certain performance mode or at least a 'prefer lower power' mode.

Please consider adding this feature.

Thank you

#7
Posted 11/09/2015 12:56 PM   
This functionality still isn't available. Any plans to implement it?
This functionality still isn't available. Any plans to implement it?

#8
Posted 03/26/2016 11:35 PM   
[quote=""]my issue with the "Auto" mode is that it constantly leaves the card in a high-power state in a dual-monitor setup with one 144hz monitor. I have to leave the monitor on 120hz or change the resolution manually every time I want 144hz, otherwise the card idles at 46C instead of 35C.[/quote] My GTX 570 did that with two displays and I don't care about temperature, but there was ~50 W power draw difference! Now I got myself a GTX 980 and it briefly goes to full power on situations like enabling second display, but goes back down almost immediately. So maybe they fixed the hardware (clocks driving outputs aren't tied to base clock), or it's one of driver features introduced only to market models, who knows!
said:my issue with the "Auto" mode is that it constantly leaves the card in a high-power state in a dual-monitor setup with one 144hz monitor. I have to leave the monitor on 120hz or change the resolution manually every time I want 144hz, otherwise the card idles at 46C instead of 35C.

My GTX 570 did that with two displays and I don't care about temperature, but there was ~50 W power draw difference!

Now I got myself a GTX 980 and it briefly goes to full power on situations like enabling second display, but goes back down almost immediately. So maybe they fixed the hardware (clocks driving outputs aren't tied to base clock), or it's one of driver features introduced only to market models, who knows!

#9
Posted 03/27/2016 09:12 AM   
Scroll To Top

Add Reply