Huge success undervolting the Air!

Discussion in 'MacBook Air' started by Adam Ierymenko, Mar 25, 2008.

  1. macrumors newbie

    Joined:
    Mar 7, 2008
    #1
    I read the thread about down-clocking to 1.2ghz under thermal load, installed a program to monitor the *actual* core speed, and saw exactly what was going on.

    I think this is a software tuning problem. Apple was in a rush to get the Air out and decided to err on the side of stability rather than performance. This is probably the right decision, but it doesn't mean that us hackers can't do a little custom tuning ourselves to get the Air to perform a little better.

    So I installed CoolBook:

    http://www.coolbook.se/CoolBook.html

    It costs $10 for the version that lets you tune, so I coughed it up and started tuning.

    First, if you don't know what undervolting is, it's basically the inverse of overclocking. When you overclock you are boosting the clock speed (and often the voltage) to pump up your chip closer to its *real* performance cutoff, often using bigger heatsinks and such to dissipate the extra heat. When you undervolt you're going for the bottom end of your chip's voltage/speed stability curve. Undervolting does *not* slow down the chip, but can make it unstable if you go too low just like overclocking can make it unstable if you go too high.

    CoolBook allows you to tune the processor's voltage and speed throttling settings. Be careful about heat here, since it also allows you to ease back on the thermal throttling. (Of course, I think at 100C the chip will do emergency core shutdowns so you're probably fairly safe.)

    CoolBook is nice, but it has an absolutely awful user interface. The "add" button also updates existing entries, and if you delete the 800mhz by accident you have to hit "default" to restore the factory default settings to get it back.

    So it took me a few hours to get it right. Each chip may be different, so your mileage may vary. Here are my settings:

    On adaptor:

    1200MHz: 0.9750V
    1400MHz: 0.9875V
    1600MHz: 0.9875V

    On battery:

    800MHz: 0.9000V
    1200MHz: 0.9750V
    1400MHz: 0.9875V
    1600MHz: 0.9875V

    Thermal limit: 85C (the max)
    Throttling level: high

    (The throttling level seems to be how often the system checks and re-adjusts the frequency. Higher is more often.)

    The factory default for 1.6ghz is 1.15V, so this is substantially lower... and boy does it make a difference! Also notice that I deleted the 800mhz entry for adaptor mode. I found that this made the machine a little snapper, and this entry is for battery saving. I left the entry in for battery.

    (If you wanted you could remove the higher speeds in battery mode with CoolBook and probably get better battery life at the expense of speed while on battery. If I were on a long flight I might remove everything but 800mhz, especially if I was just going to be typing. 800mhz is fast enough to watch movies, word process, code, and pretty much most other routine stuff.)

    If you don't know what these entries mean, this is the chip's throttling curve. When it's not heavily loaded, it throttles down to the bottom to save power and heat. When it is heavily loaded, it throttles up to max unless the thermal limit is tripped. In this case, it throttles down a notch until the temp is under control.

    At these voltages, I get 1.6ghz consistently when on internal monitor only and as long as I don't block the rear vent for too long. With an external monitor connected, it bumps the limit and throttles down but only after many minutes of sustained maximum CPU load... and not for long. It'll bump down to 1.2 for a few seconds and then back up to 1.4 and 1.6 to hover around 85C. I bet if I were to better elevate the machine I could get it to sustain 1.6ghz continuously with a monitor connected.

    It runs a *lot* cooler!

    CoolBook will let you turn thermal limit off, and this allowed 1.6ghz to be sustained forever with an external monitor (of course). However, seeing the chip reach 92C makes me nervous so I turned it back to 85C. (100C is the chip's emergency shutdown level, but 90+ is uncomfortably hot for my taste. I wish CoolBook had a 90C option though.)

    Getting these settings required some trial and error. First I set everything to 0.9V, but I got instability. So I edged the curve up until my machine seemed stable even when doing fourier transforms and other abusive things.

    Be aware: the instability you get with undervolting (and overclocking as veterans know) can be weird. It can include: application crashes, funky screen corruption, slowdowns / system becoming un-responsive, and kernel panics of course. If you experience any of these symptoms where you haven't before, edge up your voltages a bit.

    So you brave souls can give this a try. I bet it'll improve battery life too.

    Epilogue: since I fixed it with software, Apple could probably fix the Air's heat/performance issues with an update. However, doing this would be *very* risky as the undervolting ability of chips varies. Like I said, Apple clearly chose to err on the side of stability. This is a good choice for them, since most users of the Air aren't performance-hungry but would be very irked about crashes. But it does seem to me that they could get away with tuning this a *little bit* (less agressively than me) and probably make the egregious things like core shutdowns go away.
     
  2. macrumors 68040

    Joined:
    Apr 6, 2006
    #2
    WTF?

    Good work.....I think.

    I've been undervolting for years using HNC and RMclock, but this it looks like this prog is beyond anything i've seen.

    It's true that logically, there should be little danger undervolting (it's OVERvolting that will fry it) ,but I don't know ****, so i'm just a tad nervous about this as the Air is an odd bugger.

    still, I'm going to do it....maybe......:eek:

    note: I used to get Centrino M chips down to .7V at 600MHZ. I think by default they were at around .9 (or 8.6?.. I can't remember)
     
  3. macrumors 6502

    duffyanneal

    Joined:
    Feb 5, 2008
    Location:
    NYC
    #3
    Good find! I was hoping someone else would cough up the $10 first. :D While my MBA seems to run fine without much fan action I wouldn't mind it running a bit cooler.
     
  4. macrumors 603

    NC MacGuy

    Joined:
    Feb 9, 2005
    Location:
    The good side of the grass.
    #4
    Awesome post.

    I so want to try this but don't have the guts.

    You've got the guts!!:D
     
  5. macrumors 68020

    atszyman

    Joined:
    Sep 16, 2003
    Location:
    The Dallas 'burbs
    #5
    I don't think it has anything to do with rushing or erring or decisions. The processors themselves work over a wide range of voltages and speeds. The voltage and speeds are designed to hit certain targets that the most chips will run at. Many chips will go faster, many will operate just fine at lower voltages. However in order to ensure proper operation of the chip, for every chip they install, they have to meet the criteria set forth by Intel. Did you have good luck with yours? Yes, although other people's mileage may vary and they will be unstable at your settings, or some might even find they can go lower voltage than you and still remain stable.

    Depending on the voltage your adjusting you could fry the chip by under-volting. Most chips these days require a few different voltages to run, and if you lower one, there are sometimes sneak paths where the logic that is not getting enough power can draw power from the I/O voltage, or other auxiliary voltages on the chip which can burn out IO and other parts since they were never designed to carry the amount of current drawn through the sneak path. There are usually some protections in place to prevent the burn out, but with millions of transistors on a chip it's sometimes hard to catch all of the possible sneak paths.
     
  6. thread starter macrumors newbie

    Joined:
    Mar 7, 2008
    #6
    That's exactly what I meant, but yeah. YMMV

    I wonder if Apple could test the chips in the factory and custom-tune each one? That would probably add an expensive/long step though and raise the manufacturing price.
     
  7. macrumors 601

    ayeying

    Joined:
    Dec 5, 2007
    Location:
    Yay Area, CA
    #7
    The new version works? w00t.
     
  8. thread starter macrumors newbie

    Joined:
    Mar 7, 2008
    #8
    Has anyone ever heard of undervolting actually damaging a chip? I've done some Googling on the undervolting subject and I've never heard a fry story, but of course this could make the chip unstable.
     
  9. macrumors regular

    dyerucf

    Joined:
    Jan 15, 2008
    Location:
    Alpharetta, GA
    #9
    Battery

    Any one want to post some battery results after doing this?
     
  10. macrumors 6502

    duffyanneal

    Joined:
    Feb 5, 2008
    Location:
    NYC
    #10
    Here's my current settings. I don't have the time at the moment to lower the voltages until I start having issues. So far these are working for me. As you can see from the snapshot you can do half bus speeds as well. In my case that would be 600, 700, and 800 MHz. I have the same settings for Adapter and Battery. I might drop some of the speeds later (low speeds on Adapter and high speeds on Battery).
     

    Attached Files:

  11. macrumors 65832

    benlangdon

    Joined:
    Jan 13, 2008
    #11
    i still do not get why you would decrees the power to your cpu.

    wouldn't you want to over clock it?
    w/e maybe you want it slower.

    i got nothing to add,
     
  12. macrumors 6502

    duffyanneal

    Joined:
    Feb 5, 2008
    Location:
    NYC
    #12
    Reducing the voltage applied to the CPU will reduce the power consumption resulting in the CPU running cooler. This will allow the fan to run at a slower speed when under stress and it will help to reduce core shutdowns. Another benefit should be an increase in battery life.
     
  13. macrumors 601

    ayeying

    Joined:
    Dec 5, 2007
    Location:
    Yay Area, CA
    #13
    You don't understand. Undervolting does not decrease performance, infact, depending on if the CPU relys on thermal temps, it might increase performance. You're undervolting, using less volts and watts to product the same result. The bad part is stability might drop from undervolting too much.
     
  14. macrumors 68040

    Joined:
    Apr 6, 2006
    #14
    Yes , but i've never heard of this happening on the forums (which is no guarantee of anything, of course).
    Could you show a reliable post where this has occured?
     
  15. macrumors 601

    ayeying

    Joined:
    Dec 5, 2007
    Location:
    Yay Area, CA
    #15
    I have never seen anything like that before. The worst I've got from undervolting was a crash or blue screen on a PC.

    I used to do 0.7Volts for 600MHz and 0.85Volts for 1.6GHz on my old Dell laptop with a Pentium-M processor. It was sweet, fans never came on unless I'm gaming.
     
  16. macrumors 6502

    duffyanneal

    Joined:
    Feb 5, 2008
    Location:
    NYC
    #16

    I've used several notebooks over the years with RMClock or similar software installed with no issues at all. That is no issues once I've gotten the voltages setup. If you go too low you run into random stability issues or video artifacts. I try to find the lowest voltage that the CPU will run but not be totally stable. Then I go up two voltage settings. That seems to have worked well over the years. The problem is that no two CPUs will run exactly the same. So my voltages may be vastly different from other's.
     
  17. thread starter macrumors newbie

    Joined:
    Mar 7, 2008
    #17
  18. macrumors 68040

    Joined:
    Apr 6, 2006
    #18
    I had bought this app last year but my key isn't taking on the Air.

    I'm wondering if he is going to let me switch hardware. I've already informed him that I did switch (before I read that I'm entitiled to 'one' reset)

    Anyway, another $10 I suppose I can handle (adds up though :( )

    FLW
     
  19. macrumors 68020

    atszyman

    Joined:
    Sep 16, 2003
    Location:
    The Dallas 'burbs
    #19
    It would be expensive, time consuming and may have an effect on stability since while it may function fine for testing as they tweak it, there's no guarantee how long it will function in the tweaked state since it may be running outside of Intel's specified operating conditions.

    I'm not saying that it has happened with processors, but with any IC/sometimes even circuit boards, you can run into issues with "sneak paths" that try to power up chips through the IO pins that will most often cause erratic operation, but have the potential to damage a chip if the proper protections are not in place. Usually you'll see this when a chip that drives an input to another chip that has not yet received power. The non-powered chip will try to draw it's power through the driver pin's output. Most chips these days have protections in place to avoid burning out the IO pins from drawing too much current through the pad, but there are other ways that these "sneak paths" can occur. I've seen this happen in my company's products. Many times, if you read the data sheets, parts will have very specific power sequencing guidelines to ensure that the core voltage comes up before the IO to avoid potential problems of this nature.

    I'm not saying that under-volting will damage the chip, Intel may have all of the bases covered with adequate protections in place, but depending on the chip and how it's set-up the power sequencing and under-voltage can cause erratic operation or damage in some circumstances. I'm just supplying the information so that no one thinks this is completely risk free. Chances of damage are less than over-clocking and over-volting, but there is a non-zero probability that damage can occur.
     
  20. macrumors 68040

    Joined:
    Apr 6, 2006
    #20
    Non-zero probabilities include me winning the lottery and Santa Claus.
    :D
     
  21. macrumors newbie

    Joined:
    Mar 17, 2008
    #21
    Thanks for the software tip! Tweaking settings on my Air.
     
  22. thread starter macrumors newbie

    Joined:
    Mar 7, 2008
    #22
    That along with some of the comments over in Reddit have clarified my understanding a bit. (I'm not EE, but I do know a bit about electronics and a bit more about physics.)

    Obviously there are *no warranties* here. YMMV! But, I consider it highly unlikely that a chip like the Air's Core 2 Duo would experience what you and some of the other EE folks I've asked are describing. The chip in the Air is designed not only to run across a range of voltages and speeds but to switch voltages and core speeds on the fly-- which it does constantly. None of the voltages CoolBook will let you switch to are outside the spec'd range, and a chip that switches this much is probably designed for a bit of voltage jostling.

    But you're right to point out that from a physics/EE point of view there is a nonzero probability of damage... but I think it's probably quite low and I couldn't find an incident report of undervolting damage with Google. (Overclockers who overvolt on the other hand have burned chip galleries and they brag about it like car people brag about blowing up engines... but overvolting is a whole 'nother matter due to heat!)
     
  23. macrumors 68020

    atszyman

    Joined:
    Sep 16, 2003
    Location:
    The Dallas 'burbs
    #23
    I've seen PCI bridge chips completely fried due to a power sequencing issue, so I just wanted people to be aware that this is not a risk free proposition.

    I wouldn't put it as low as winning the lottery, more around the probability of getting in a car wreck on my commute to/from work. I know it could happen any day, but that doesn't stop me from driving to work.

    Well I am an EE, which is why I feel compelled to dispel the myth that you cannot damage the part through under-volting.
     
  24. macrumors 68000

    BongoBanger

    Joined:
    Feb 5, 2008
    #24
    Undervolting is unlikely to damage your Air. If there's not enough juice it just wont run.
     
  25. thread starter macrumors newbie

    Joined:
    Mar 7, 2008
    #25
    ... you're right, and thanks for the warning.

    But one more point I thought of: CoolBook's tuning is done by a kernel extension and a daemon called CoolBookSwitcher. These start after the mach kernel and the core extensions boot, so when the machine is turned on it's running it's factory default settings until then.
     

Share This Page