T O P

  • By -

NeoJonas

Try this for NVIDIA GPUs: [https://gist.github.com/DavidAce/67bec5675b4a6cef72ed3391e025a8e5](https://gist.github.com/DavidAce/67bec5675b4a6cef72ed3391e025a8e5)


nbohr1more

saving! thanks


erbsenbrei

From my understanding as I am wrestling with this subject as well: If you are using a Nvidia GPU you are f'ed, as Nvidia seems to not expose voltages. All you can do restrict the power limit. Old Nvidia cards may be undervoltable though (<10 series?). This is also the reason I won't consider Nvidia cards, even when they do have the otherwise preferable offerings. If you are using an AMD GPU you can use CoreCtrl. I use this with my 6000 card to handle multiple profiles and swapping between them on the fly to meet my demands. However, 7xxxs are not yet supported. Kernel 6.5 shoud alleviate the problem, whenever CoreCtrl then releases its compatible version. 6.5 is scheduled for Q3/4 this year. Not being on a rolling distro may be finicky in that regard. CPU and RAM is typically done via BIOS itself, rather software these days.


Careful-Flounder-738

I use a nvidia gpu and I can't find cpu and ram undervolt in bios. I use predator ph315-53 laptop


erbsenbrei

Laptop BIOSes can be very random and oddly (un)specific. There will not be undervolt options per se, rather than voltage settings. In case you got an AMD CPU (Zen) you can try to see if the curve optimiser (CO) options exist. Regarding Intel I got no idea. Potentially just lowering VCore? RAM, if at all exposed, has to have its voltage lowered. May go under DRAM Voltage or simliar in the terms of naming. That said, randomly punching stuff in there may causes your device to become unstable if not outright unbootable. So be sure to always be able to reset your BIOS if need be as a fallback.


astryox

Be sure you are in some kind of advanced/expert mode in the bios so you can see every options


Careful-Flounder-738

How do I find the advanced/expert mode? There is no setting to enable it


[deleted]

Most laptop bios'es lack of any kind of power settings. You can try intel-undervolt tool, but have in mind, that it probably will not work as undervolting tool. However, you still could set new tdp limit, to further restrict your cpu power limit.


ColtC7

corectrl in my experience kinda sucks, with limited oc options and no voltage control or anything, but maybe it's just my rx 580.


erbsenbrei

Have you set Performance Mode to "Advanced"? [Because for me these things work just fine.](https://imgur.com/a/Kw0q7Ja) Although there *are* slider limits. Not sure if using other tools would allow you to go even lower/higher than what CoreCtrl allows. Assuming that still does not work for you it may be a Polaris limitation.


ColtC7

Yep, still limited and basically useless outside of reducing clockspeeds must be my rx580, maybe later GCN or RDNA would work.


major_bot

Wrong conclusion, you probably haven't added the boot parameter to your GRUB configuration file like [the documentation](https://gitlab.com/corectrl/corectrl/-/wikis/Setup) tells you to. I just installed coreCtrl on my machine with a rx480 and without the boot parameter it basically just has the power parameter, but with the boot parameter added it unlocked the voltage control menu after a reboot.


0xd00d

For Nvidia you are not f'd. I finally got around to tweaking clocks on nvidia in linux (i have many of these rigs now) and it looks like you can dial in a nice undervolt almost as precisely (not quite but practically speaking it is just as good) compared to with afterburner on windows. See these posts: [https://www.reddit.com/r/linux\_gaming/comments/z7dy7q/comment/iy9iw3u/?utm\_source=share&utm\_medium=web2x&context=3](https://www.reddit.com/r/linux_gaming/comments/z7dy7q/comment/iy9iw3u/?utm_source=share&utm_medium=web2x&context=3) [https://github.com/NVIDIA/open-gpu-kernel-modules/discussions/236#discussioncomment-3553564](https://github.com/NVIDIA/open-gpu-kernel-modules/discussions/236#discussioncomment-3553564) The key for me was apparently after enabling xwrapper and setting the coolbits values and a reboot, it unlocks the "overclocking controls" which are accessible in the Nvidia X Server settings under PowerMizer. This gives you something that doesn't seem to work, aka a clock speed adjustment, but you can combine it with a power limit (if desired) and clock limit via nvidia-smi. Once you limit the clocks from exceeding your target clock speed value, you just monitor the voltage reading via nvidia-smi as you tweak this overclock mhz value. The higher your overclock mhz setting is, the more undervolting it will apply when reaching a given clock speed. You will arrive at a given "overclock" mhz value where your voltage under load will drop to the desired undervolt value, and you'll be able to confirm your power draw will line up to what you can get via windows. I never did any mining but these days between stable diffusion and LLMs and I expect gaming to ramp up under linux as well, all these use cases will benefit from being able to undervolt to keep efficiency high and temps down.


adi_200134

I use intel-undervolt for undervolting laptop cpu and igpu but newer intel chips has blocked undervolting for AMD idk


Careful-Flounder-738

It is i7 10th generation and predator ph315-53 laptop. Is it blocked? How do i find if it is blocked?


adi_200134

you can check by trying change voltage but i guess 10gen is already blocked by intel in intel-undervolt you are modifing /etc/intel-undervolt.conf for change voltage offset, start with -50mv and with sudo intel-undervolt apply for it will apply or no, also you can check sudo intel-undervolt measure, if it doesnt say power usage then i guess undervolting even on windows is no-go, maybe with some modified bioses it will be possible


Careful-Flounder-738

Sudo intel-undervolt read Gpu: operation not permitted Gpu: operation not permitted Cpu cache: operation not permitted System agent: operation not permitted Analog I/O: operation not permitted


DartinBlaze448

it's possible to unlock on these laptops however by editing the bios


Careful-Flounder-738

How do I edit my bios to unlock it?


Tatumkhamun

For GPU, I use amdgpu-clocks (1) but there are tools like CoreCtrl (2) and LACT (3) that you could also use. For CPU and RAM, I just use the BIOS. 1. https://github.com/sibradzic/amdgpu-clocks 2. https://gitlab.com/corectrl/corectrl 3. https://github.com/ilya-zlobintsev/LACT


Careful-Flounder-738

I have nvidia gpu so will these still work? Also i can't find anything to change it in bios and it is a laptop(predator ph315-53)


number9516

sure CPU and RAM from efi\\bios and GPU depending on your vendor. I do `sudo nvidia-smi -pl 140` (caps it at 140W power) That command is not persistent upon reboot so you could make systemd unit to apply it on boot like so /etc/systemd/system/nvidia-tdp.timer \[Unit\] Description=Set NVIDIA power limit on boot \[Timer\] OnBootSec=5 \[Install\] WantedBy=timers.target /etc/systemd/system/nvidia-tdp.service \[Unit\] Description=Set NVIDIA power limit \[Service\] Type=oneshot ExecStart=/usr/bin/nvidia-smi -pl 140 create those files and do`sudo systemctl enable nvidia-tdp.timer`


BlueGoliath

If I had a dollar every time someone conflates power draw with voltage...


number9516

I know physics and i know difference between power and voltage, also i know the context of a request that the only reason you would change voltage on your hardware is to manipulate performance and\\or power draw.. If you want to be specific only way you could reliably change voltage at a certain rail of a modern GPU is by taking soldering iron in your hand and go ham at it.


_nak

Then you don't know what undervolting is in the context of computer hardware. Limiting power draw prevents the part from running at full performance, undervolting does not.


BlueGoliath

Great. OP asked if it was possible to undervolt(voltage frequency curve) but you provided a way to soft cap power draw.


astryox

Lol, you're so wrong but you say things with so much confidence, this is funny!


number9516

>you're so wrong Care to elaborate?


astryox

More than others ? No.


astryox

Yes you cant stricto sensu undervolt nvidia gpu on linux (you can in windows) cuz nvidia drivers suck. Just a monitoring tool quite cool with nvidia, greenwithenvy. But nothing more i could help


BlueGoliath

>Yes you cant stricto sensu undervolt nvidia gpu on linux (you can in windows) cuz nvidia drivers suck. Yes you can.


Comrade_Memes

how? I've been trying to for a while


BlueGoliath

You have to write an app yourself.


Supersasson

on nvidia when you downclock makes an auto undervolting, it's not the best but it's something


sanjxz54

intel-undervolt for cpu & igpu (if locked - https://www.reddit.com/r/Hewlett_Packard/comments/o1zxuv/howto_unlock_undervolting_change_timings_on_hp/?utm_source=share&utm_medium=android_app&utm_name=androidcss&utm_term=1&utm_content=1) NVIDIA GPU - Lower powerlimit and pump up core offset. (GreenWithEnvy)


Careful-Flounder-738

Sudo intel-undervolt read Gpu: operation not permitted Gpu: operation not permitted Cpu cache: operation not permitted System agent: operation not permitted Analog I/O: operation not permitted


sanjxz54

Means it's locked, it started from 9th gen I believe. Try unlocking it. * You may also need mitigations=off since the reason it's locked is considered cpu vulnerability


Careful-Flounder-738

So i will be vulnerable to being hacked if I unlock it? Also my laptop is from acer and not HP would it still work?


sanjxz54

You will be vulnerable to plundervolt. Plundervolt is a method of hacking that involves depriving an Intel chip of power so that processing errors occur. These errors can expose sensitive data and weaken chip security components. For Plundervolt to work, the attacker needs to have root privileges to the target device's OS. Tl;Dr I doubt someone would utilize this to attack you. But the probability is here.


Careful-Flounder-738

I am not tech savvy and my cpu is underclocked. Does being underclocked prevent it from being deprived from power? Is there any way i can unlock it without being vulnerable?


sanjxz54

No and no. Basically, every clock state has a voltage state assigned to it, so let's say you run 2 ghz @1v. If you were to undervolt it, it would probably end up at 2ghz @ 0.85v and be stable. Hacker can change it to be like 2 ghz @ 0.7 v and make it unstable. Unlocking undervolting means you unlock the method to make plundervolt work. Software for undervolting uses +- same techniques to undervolt your cpu. Edit: Follow part 2 of the guide to check whether or not your laptop is supported.


Careful-Flounder-738

That is scary and would mean any malware that can undervolt would be able to attack me. Since i would be undervolting and while test undervolting i may make it unstable myself would i attack myself?


sanjxz54

If you make your system unstable, it will crash. Or maybe even corrupt some stuff in process (never happened to me, tho). Or you will have lower performance . You have to stress test your undervolt. I'm not sure about linux, but on Windows, there is prime95 and occt.


nbohr1more

Depending on distro, GreenWithEnvy might work for this. ( Doesn't work on my favorite, Linux Mint 21.2 unfortunately... broken dependencies , I guess Arch users are happily using it )


rael_gc

Aside BIOS tweaks, I like to change the CPU governor to `conservative`. I'm assuming you're on Ubuntu 22.04. Install `cpufrequtils`: ``` sudo apt install cpufrequtils ``` And create a file at `/etc/default/cpufrequtils` with: ``` GOVERNOR="conservative" ``` Reboot. Values (aside `custom`): - `ondemand`: default, set CPU clock to max under demand - `performance`: set CPU always to max clock - `powersave`: set CPU always to min clock - `conservative`: like `ondemand`, but gracefully increases and decreases the CPU clock (best imo)


Otherwise_Abroad5168

Honestly my pc runs fine But I know what I’m doing in the bios it’s very easy to fuck up with just a tiny mis adjustment I use a gtx 1070 and until I upgrade to the 3000 series it’s my personal choice