Giter Site home page Giter Site logo

iuvolt's People

Contributors

horstbaerbel avatar koriwi avatar tiziw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

iuvolt's Issues

Permission denied when running iuvolt

First things first: Thanks for the tool! It has worked for me in the past, but now fails to. I'm running Ubuntu 16.04 LTS with kernel 4.13.0-43-generic. Secure boot is on if that matters in this case (I usually sign my modules if needed, but msr should be built-in into the kernel).
I "sudo modprobe msr" which works fine and the iuvolt:

sudo iuvolt -50 -50 -50
wrmsr: pwrite: Operation not permitted
wrmsr: pwrite: Operation not permitted
wrote failed, got: 0
wrmsr: pwrite: Operation not permitted
wrmsr: pwrite: Operation not permitted
wrote failed, got: 0
wrmsr: pwrite: Operation not permitted
wrmsr: pwrite: Operation not permitted
wrote failed, got: 0

Anything I could try?

i7-6700HQ results (on Dell 7559)

I've tried to experiment with this a bit and -150 -150 -150 seems to be stable on this CPU. (-175 is not so much)

On 100% load:

Temps drop from ~82C to ~66C (And the cooler also spins slower)

Package power usage drops from 38W to 27W

sysbench --test=cpu --cpu-max-prime=20000 --num-threads=8 run Gives the same results

All in all, this is a really good way to lower your temperatures and power usage.

s-tui was used to monitor the wattage and temperatures.

System: 4.16.3-1-ARCH

Uninstallation

I installed this script looking to experiment with undervolting, but I also I want to make a system image before I mess around with anything. Trouble is, I'm a bit of a noob. dpkg, apt-get, and snap aren't detecting the script after installation. How do I properly uninstall iuvolt?

Turbo Boost

Is it possible to change the turboboost window and watt with the same method used for undervolting?
this would be awesome.

Celeron 2955U (on Acer C720) results

Using -60 -80 -100. I did some testing, I can get -85 -95 -120 (tested individually) running for a while, but not stable in the long run). Overall, the gains are small, but measurable (went from 8ish hours to 9ish hours on regular use). The iGPU is the big power sink, so I think it's best to use it when measuring a laptop with iGPU. Also, mprime seem to be put out more heat than sysbench, so I decided to use it instead.

Using mprime -t:
Temp drop minimally from ~64C to ~63C
Package power usage drops from 8.7W to 7.9W

Using furmark:
Temps drop from ~80C to ~74C, but it still throttles
Package power usage drops from 17.6W to 15.5W

Using mprime -t and furmark:
Temps drop from ~80C to ~74C, but it still throttles
Package power usage drops from 18.7W to 17.7W

s-tui was used to monitor the wattage and temperatures.
System: Archlinux on 4.16.11-1-zen

Are changes permanent ?

It is not clear to me if the changes to the cpu register are permanent or a reboot is enough to reset the default values.

I think this can be a valuable information to all newbie like me.

Location of iuvolt script

I just thought I'd chime in on the best practices location for this type of utility.
My understanding is that a script that requires running as root should live in /sbin/ or /usr/sbin.
Scripts or binaries to run in user space without super privilges belong in /bin or /usr/bin

ref: https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
ref: https://askubuntu.com/questions/308045/differences-between-bin-sbin-usr-bin-usr-sbin-usr-local-bin-usr-local

I'm not really fussed eitherway, I just thought I'd point it out. If I get around to experimenting with this solution on my XPS 9570 I may make a pull request, jost poking around for now.

Several errors

/etc/iuvolt.cfg should (probably) not contain more than one line after reinstalling/updating

root@arch ~ # cat /etc/iuvolt.cfg
voltages=(-100)
voltages=(0 0 0)
voltages=(0 0 0)

root@arch ~ # systemctl status systemd-iuvolt.service
โ— systemd-iuvolt.service - Undervolt cpu
Loaded: loaded (/etc/systemd/system/systemd-iuvolt.service; enabled; vendor preset: disabled)
Active: inactive (dead) since Tue 2018-01-23 10:52:52 EET; 26min ago
Main PID: 25309 (code=exited, status=0/SUCCESS)

Jan 23 10:52:52 arch iuvolt[25309]: wrmsr: open: No such file or directory
Jan 23 10:52:52 arch iuvolt[25309]: rdmsr: open: No such file or directory
Jan 23 10:52:52 arch iuvolt[25309]: /usr/bin/iuvolt: line 49: [: ==: unary operator expected
Jan 23 10:52:52 arch iuvolt[25309]: wrote failed, got:
Jan 23 10:52:52 arch iuvolt[25328]: Loaded config! CPU Core : -100mV,
Jan 23 10:52:52 arch iuvolt[25328]: wrmsr: open: No such file or directory
Jan 23 10:52:52 arch iuvolt[25328]: wrmsr: open: No such file or directory
Jan 23 10:52:52 arch iuvolt[25328]: rdmsr: open: No such file or directory
Jan 23 10:52:52 arch iuvolt[25328]: /usr/bin/iuvolt: line 49: [: ==: unary operator expected
Jan 23 10:52:52 arch iuvolt[25328]: wrote failed, got:

root@arch ~ # iuvolt -90
wrmsr: open: No such file or directory
wrmsr: open: No such file or directory
rdmsr: open: No such file or directory
/usr/bin/iuvolt: line 49: [: ==: unary operator expected
wrote failed, got:

This worked better a few days ago. I'll do a system upgrade and reboot to see if it has any effect.

`invalid number` error with intel T2330 CPU

First of all, thank you for sharing this tool.
I am running Ubuntu 16.04 on an old 5715Z Acer laptop. I just tried your tool but it fails with the following error:

   iuvolt -90 -80 -90
   /usr/bin/iuvolt: line 6: printf: -92.160: invalid number
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800000110
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000001000000000
   rdmsr: CPU 0 cannot read MSR 0x00000150
   /usr/bin/iuvolt: line 49: [: ==: unary operator expected
   wrote failed, got: 
   /usr/bin/iuvolt: line 6: printf: -81.920: invalid number
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800001110
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000011000000000
   rdmsr: CPU 0 cannot read MSR 0x00000150
   /usr/bin/iuvolt: line 49: [: ==: unary operator expected
   wrote failed, got: 
   /usr/bin/iuvolt: line 6: printf: -92.160: invalid number
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800002110
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000021000000000
   rdmsr: CPU 0 cannot read MSR 0x00000150
   /usr/bin/iuvolt: line 49: [: ==: unary operator expected
   wrote failed, got: 

   iuvolt -90.8 -80.1 -90.8
   /usr/bin/iuvolt: line 6: printf: -92.979: invalid number
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800000110
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000001000000000
   rdmsr: CPU 0 cannot read MSR 0x00000150
   /usr/bin/iuvolt: line 49: [: ==: unary operator expected
   wrote failed, got: 
   /usr/bin/iuvolt: line 6: printf: -82.022: invalid number
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800001110
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000011000000000
   rdmsr: CPU 0 cannot read MSR 0x00000150
   /usr/bin/iuvolt: line 49: [: ==: unary operator expected
   wrote failed, got: 
   /usr/bin/iuvolt: line 6: printf: -92.979: invalid number
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800002110
   wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000021000000000
   rdmsr: CPU 0 cannot read MSR 0x00000150
   /usr/bin/iuvolt: line 49: [: ==: unary operator expected
   wrote failed, got: 

CPU and iGPU undervolting not working on i7-7500U

I turned off secure boot now, but only the third parameter is doing something for me. I tried:

sudo ./iuvolt -800 -800 -90
wrote 0x8000001199A00000 successful to plane index 0
wrote 0x8000011199A00000 successful to plane index 1
wrote 0x80000211F4800000 successful to plane index 2

but the system does not crash as expected (-800 should be chosen) ;) So the first two parameters do nothing on my system. The cache parameter does work though and crashes my system at -110.
Another issue is that:

sudo ./iuvolt 0 0 0
wrote failed, got: 99a00000
wrote failed, got: 99a00000
wrote failed, got: f4800000

seems not to be working.

EDIT:
And I've found a strange effect:
sudo ./iuvolt -1 -1 -90
or
sudo ./iuvolt -90 -1 -1
Have no effect on temperature and performance, but
sudo ./iuvolt -90 -1 -90
does. Making the CPU undervolt smaller than the cache undervolt, again, does not change anything though... :/

i5-3320M Incompatible?

I've been getting the same errors as one of the other issues which it ended up being solved as too old a CPU. However, my ThinkPad X230t has a third generation Ivy Bridge processor, so it should be compatible, no?

$ sudo iuvolt -90 -80 -90

wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x80000011f4800000
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000001000000000
rdmsr: CPU 0 cannot read MSR 0x00000150
/usr/bin/iuvolt: line 49: [: ==: unary operator expected
wrote failed, got: 
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x80000111f5c00000
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000011000000000
rdmsr: CPU 0 cannot read MSR 0x00000150
/usr/bin/iuvolt: line 49: [: ==: unary operator expected
wrote failed, got: 
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x80000211f4800000
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000021000000000
rdmsr: CPU 0 cannot read MSR 0x00000150
/usr/bin/iuvolt: line 49: [: ==: unary operator expected
wrote failed, got:

CPU: i5 3320M
Modprobed msr.

erro with i7 3610QM

Hi, I am unable to access msr 0x150 on my 3rd gen mobile CPU 3610QM. Any idea how to solve this?

sudo iuvolt                                                                                                                                                                                                                       2019-04-29T22:32:02 CEST
[sudo] password for diggit: 
Loaded config! CPU Core : 0mV, GPU : 0mV, Cache : 0mV,
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800000110
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000001000000000
rdmsr: CPU 0 cannot read MSR 0x00000150
/usr/bin/iuvolt: line 49: [: ==: unary operator expected
wrote failed, got: 
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800001110
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000011000000000
rdmsr: CPU 0 cannot read MSR 0x00000150
/usr/bin/iuvolt: line 49: [: ==: unary operator expected
wrote failed, got: 
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x0000000800002110
wrmsr: CPU 0 cannot set MSR 0x00000150 to 0x8000021000000000
rdmsr: CPU 0 cannot read MSR 0x00000150
/usr/bin/iuvolt: line 49: [: ==: unary operator expected
wrote failed, got: 

Automating iuvolt

I have no idea how to make iuvolt run on boot and when waking from sleep. Treid all the guides online, none of them worked. Maybe it's a default features I haven't discovered yet ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.