• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

undervolting under linux, need help

oka

New Member
Joined
Apr 25, 2023
Messages
14 (0.02/day)
in windows i can undervolt with TS easily
IMG_20230425_122508.png
but what it does exactly? i want to do the same under linux. i already tried this https://github.com/kitsunyan/intel-undervolt and https://github.com/georgewhewell/undervolt but these can't even read the current values.
according to this https://github.com/mihic/linux-intel-undervolt#finding-voltage-offsets i should have MSR register addresses in throttlestop.ini, but i don't have any FIVR strings there. thx for any help.
 

Attachments

  • ThrottleStop.ini.txt
    1.9 KB · Views: 67

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
8,083 (1.33/day)
Those Linux guides you are trying to follow only apply to 4th Gen and newer Core i CPUs that use a FIVR voltage regulator. Your Z3735F does not use a FIVR so you cannot follow those guides. MSR 0x150 does not exist in your CPU.

For ThrottleStop to send VID voltage requests to your CPU, you have to click on the Set Multiplier box. The multiplier request info and the VID voltage request info are both contained in the same MSR register. After you do that, press Save, open up the ThrottleStop.INI config file and you should see some new entries. I cannot remember off the top of my head what MSR this info gets written to. I know it is not MSR 0x150. It might be a good idea to increase the VID value first before checking the Set Multiplier box. If the voltage is too low, the CPU will crash.

Let me know what new entries you see in the INI file so I can track the MSR down for you.
 

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
8,083 (1.33/day)
Payload sounds right. Interesting name I chose. Maybe I was watching a space shuttle launch that day.

Now do a MSR search to see if you can find the Payload value in one of the registers. I think it is somewhere around MSR 0x600. Wild guess.

If you need a tool to dump the MSR values into a file, you can use the Dump program. I did not write this program but I have safely used it many times. It was written by a very smart guy named Dufus that used to hang out on many different forums. ThrottleStop would not exist without him so he always gets a big thumbs up in case he ever sees this. :toast:


Run Dump.exe and it will create a file called Dump.txt which will contain the values of all of the important MSR registers.

You can also use RW Everything if you want to look through the registers.

As you found out, SpeedStep (EIST) has to be enabled so values written to the voltage control register are sent to the CPU. I think EIST is in MSR 0x1A0. You can toggle SpeedStep in ThrottleStop and watch for any changes to this register. This register should be properly documented in the Intel documentation.
 

oka

New Member
Joined
Apr 25, 2023
Messages
14 (0.02/day)
default:
0x198 00006800:00001034
0x199 00000000:00001034
0x1A0 00000040:00840081

0.4700 vid, eist on
0x198 00006800:0000102D
0x199 00000000:0000102D
0x1A0 00000040:00850081

i will try "wrmsr" to write new values now, thank you
 

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
8,083 (1.33/day)
MSR 0x198 is a read only register. It shows the current value the CPU is using.

MSR 0x199 was the original MSR that the Core 2 Duo and older CPUs used. Your CPU is sort of a hybrid of some of this older technology so it looks like it also uses the same MSR.

MSR 0x1A0 bit[16] appears to be the switch to toggle EIST on and off.
 

oka

New Member
Joined
Apr 25, 2023
Messages
14 (0.02/day)
i actually found and enabled EIST and turbo in uefi setup

MSR 0x198 is a read only register. It shows the current value the CPU is using.
so i set 0x199 to 0x102d and even if i disable turbo and set cpu governor to performance (it stays at 1333mhz all the time this way), 0x198 sometimes reports default value of 1034 and in a second it's 102d (0x199 stays at 102d all the time). it jumps between 102d and the default value. with turbo on and performance governor, 0x198 jumps between 102d and 1640 (default), 0x199 stays at 102d. How to make 0x198 stay at 0x102d all the time? thank you

upd: using this https://github.com/Manouchehri/c2ctl https://aur.archlinux.org/packages/c2ctl with performance governor and turbo off, 0x198 doesn't change.
 
Last edited:

unclewebb

ThrottleStop & RealTemp Author
Joined
Jun 1, 2008
Messages
8,083 (1.33/day)
I am not a Linux user so hopefully this is working the way you want it to work.
 
Last edited:
Top