I recently looked into the greenwithenvy package which is a pretty decent replacement for the MSN afterburner.
That said, whenever I made adjustments to the voltage (I mainly just wanted to undervolt my gpu by a few watts), it wouldn’t save the settings, which I found out later had to do with nvidia-smi persistence settings. I soon found myself writing a systemd service but in looking around I found that there was already a tool called nvidia-persistenced, which when called would set the nvidia-smi pm = 1 command and then it was as simple as writing a systemd command that would set the voltage to what I wanted.
Below is the very simple set of commands:
sudo nvidia-persistenced
cd /etc/systemd/system
touch nvidia-tdp.service
And then use your favorite text editor to edit the nvidia-tdp.service file. Enter the following:
[Unit]
Description=Set NVIDIA power limit
[Timer]
OnBootSec=5
[Install]
WantedBy=timers.target
[Service]
Type=oneshot
ExecStart=/usr/bin/nvidia-smi -pl <desirednumber>
And that’s that! To test it, make sure to reboot and then take a look using greenwithenvy or even nvtop and you should be good to go. Just enable it using systemctl:
sudo systemctl enable nvidia-tdp
This was mainly for my own reference, but since it could possibly benefit others looking to undervolt their Nvidia cards, I thought I might as well post it here.
__Mods, of course, if you find this isn’t relevant, please remove, and sorry for the inconvenience if that was the case.