Any linux package recommendations for overclock/undervoltiing?

With my recent endeavors back to linux, I was wondering how to substitute my e.g. MSI Afterburner to tweak my GPU. I mainly use it for lower power consumption (lower TDP) and underclocking/undervolt for noise and watt economy.

what are you guys using? how are your experiences regarding virtualization with passthrough while doing this?

1 Like

AMD or nvidia?
For AMD there’s WattmanGTK (I think?) can do this.

For nvidia I’m not sure but the proprietary driver might already do this?

1 Like

Got an RTX 2060 atm but I’ll probably will buy another card (not sure what brand yet) after GPU prices are more in line with manufacturer MSRPs.

I only got a test VM with Arch running atm that has default GPU installed on VMWare Player. Just checking my option before my full migration. Isnt the most critical issue, but power saving during numbercrunching would be great to have.

Last time I had Linux on my main PC boot order, there were only VooDoo cards around and no overclocking tools for either card or OS :slight_smile:

edit: just found a bunch of info about the nvidia proprietary drivers. even more freedom and less memory usage with shell commands. bloaty windows software is so 2010 :nerd_face:

Never have been able to undervolt the modern Nvidia cards.

But you can underclock both the core clocks and memory clocks.

Just install the “coolbits” tweak and you’ll have fan and clock control in the Nvidia X Server Settings app installed with the proprietary drivers.

I was looking at this myself and came across this thread: https://www.gamingonlinux.com/forum/topic/4255/post_id=26714

I’ve not tried it myself yet, but it seems reasonable to try, seems to be for either ubuntu or PopOS.

Posted by The_Aquabat 8 Feb, 2020 (With reformatting by me)


First you have to add this to grub amdgpu.ppfeaturemask=0xffffffff
Edit the file /etc/default/grub
Find the line GRUB_CMDLINE_LINUX_DEAFULT and add that to the end, like this

GRUB_CMDLINE_LINUX_DEFAULT="splash=silent quiet showopts amdgpu.ppfeaturemask=0xffffffff"

Then run update-grub and reboot

After rebooting overclocking is unlocked, running a command like this will overclock your gpu memory

echo "m 2 2200 900" > /sys/class/drm/card0/device/pp_od_clk_voltage

And then commit the change

echo "c" > /sys/class/drm/card0/device/pp_od_clk_voltage

(Look for the correct values for your card)

For controlling the GPU fan I personally use this: GitHub - wepiha/qt-amdgpu-fan-ctl: Python script which enables a Graphical User Interface manually control

Or the other option you have if you don’t want to input commands for overclocking, you could use this app that it has more features: GitHub - marazmista/radeon-profile: Application to read current clocks of ATi Radeon cards (xf86-video-ati

You have to compile it manually because I don’t think there is a repo for radeon-profile.

And then the other GUI app there is, is WattmanGTK

For overclocking the CPU I use Zenstates

You need to read the wiki and use this spreadsheet to calculate the correct values: RyZenPstateCalc - Google Sheets

For example this is the script I use

#!/bin/sh
./zenstates.py -p 1 -f A0 && \
./zenstates.py -p 0 -f A0 && \
./zenstates.py -p 2 -f 8C
1 Like

The feature_mask is a good fix for AMD cards. Not useful for Nvidia.

Also for controlling AMD cards and monitoring both AMD and Nvidia cards, the gpu-utils applications are very nice.

Rick’s Lab - GPU-Utils.

1 Like

After making ArchLinux my new home, I now know that the NVidia proprietary drivers have all over-/underclocking features built-in I usually covered with MSI Afterburner. The Nvidia Settings Manager really is a great GUI tool to have.

Only thing left being undervolting…

Well, you can’t undervolt modern Nvidia cards, even in Windows.
All you can do is use the power slider.

You can

I used MSI Afterburner for that. With enabled voltage options you can flatline the curve. I was running .7V with ~40-45% TDP for numbercrunching

Thank for the info. Thought that the voltage/freq curves were locked down in the latest generations.

Wasn’t aware that Afterburner could still manipulate those.

Works on a Gigabyte RTX 2060, can’t say anything about 3000 series or older cards.

Older cards were very controllable for voltage/freq curves. Thought that changed back in Turing.

But I just watched a YT video of a 3080 getting its voltage/freq curve pulled down for undervolting with Afterburner.

So still works for Ampere.

In Windows. Neeeeeeeeeeeeeeeed Linux tool! :wink:

How to Undervolt NVidia GPUs in Linux - Folding@home, Boinc, and Coin Mining - Linus Tech Tips ?