• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Glitch kernel - LiveOC / Custom Voltage - HOW-TO - Settings sharing

Search This thread

Tk-Glitch

Inactive Recognized Developer
Mar 24, 2011
1,666
4,355
LiveOC and Custom Voltage guide by TkGlitch
for Glitch kernel V14


glitcholdlogo11.png


Warning!

Overclocking is dangerous and is meant only for experienced users!


1- Introduction :

The "normal" overclocking system on SGS til now was the addition of some frequency steps past the stock 1GHz step. V13 kernel was using 7 overclocked steps
to push the maximum selectable speed to 1.7GHz.

In V14, less overclocked steps are present, but you can still overclock to 1.7GHz if you want (and if your phone is able to do it), and even up to 2.25GHz as a maximum.

You will need NSTools to use LiveOC and custom Voltage features in Glitch kernel V14.

To begin with, I'll explain you some basic things you have to know.

2- Clocks :

The CPU speed is the result of a bus speed and a multiplier.
Bus speed is linked to and equal to GPU and RAM speed.
The multiplier is per step and hardcoded by the kernel developer.

It does look like that : CPU speed = bus speed x multiplier.

Here are my values in V14 :

1500 MHz = 200 x 7.5
1400 MHz = 200 x 7
1300 MHz = 200 x 6.5
1200 MHz = 200 x 6
1000 MHz = 200 x 5
800 MHz = 200 x 4
400 MHz = 200 x 2
200 MHz = 200 x 1
100 MHz = 100 x 1

LiveOC gives you the access to direct and on-the-fly bus overclocking by 1% steps (150% being the maximum available). I'll say it again : BUS overclocking !
Though, it'll overclock the bus on all the steps at the same time, for the same percentage.
We'll talk about that later.

So if I want to overclock my 1GHz step to 1.1GHz, I'll have to select 1GHz as max frequency, and push LiveOC to 110%.
My bus speed beeing overclocked by 10% will give the following :

220 x 5 (1GHz multiplier) = 1100 MHz.

If you want to go higher than 1.5GHz, it's the same :

Set 1500 MHz as maximum frequency (for example), and push LiveOC. Let's say to 110%. You will get the following :

220 x 7.5 (1.5GHz multiplier) = 1650 MHz.

Pushing it to 114% will give 1710 MHz (228MHz bus) and so on, up to 150% giving 2250 MHz running an inachievable 300MHz bus.

SINCE V14 BETA 6, 100, 200 and 400 MHz steps won't be affected by LiveOC. It should help to stabilize your overclock in most cases.

3- The limits :

THE MAIN LIMIT AND PHONE KILLER IS HIGH TEMPERATURE. WARM IS OK, HOT IS TOO HOT. DON'T PLAY STUPID.

Obviously, so much control over the bus speed, frozen til now to what the kernel developer set, will also give you the ability to find the limits of your chip.

The main clocking limit is generally the RAM, corrupting itself when the bus speed is too high. And since the GPU uses the RAM as well, it'll become crashy too. That's why I have decided to add some steps with a bigger multiplier, to lower the bus for a higher CPU frequency.

The bus speed limits for you will be anywhere between 240 and 270 Mhz, depending on your device potential (higher and lower exists but rare).
Average is 240 MHz.

The CPU speed limits will be anywhere between 1300 and 1800 MHz (higher and lower exists but rare as well).
Average is 1400 MHz.

With that in mind, I wouldn't go too far past 130% (giving 260MHz bus speed).

4- The sweet spot :

What you want when overclocking is to get the best balance for each part. Since the bus is linked to RAM and GPU, you obviously want it as high as possible for gaming, video playing, web browsing etc. (even more now with GPU acceleration in Android 4.0+). Though, as you know already if you've read this guide til now, all steps in V14 are using the stock 200MHz frequency.

So what to do if I want a lower CPU speed with a higher bus/GPU speed ? Simple ! Just select a lower frequency step as starting point.

Let's say we want 250 MHz bus speed, so we'll use 125% LiveOC :
Using 800MHz step, you'll get 1GHz.
Using 1GHz step, you'll get 1.250GHz.
Using 1.2GHz step, you'll get 1.500GHz.
Using 1.3GHz step, you'll get 1.625GHz.
Using 1.4GHz step, you'll get 1.750GHz.
Using 1.5GHz step, you'll get 1.875GHz.

5- The issues :

With a new overclocking system obviously comes some new problems related to it.

With the ability to fine tune the frequencies, you'll find that some frequencies are buggy somewhat, giving low performances. For example, using 115% Live OC with the 1.3GHz step will give some poor performances, when 114 and 116% won't. It could be a NSTools issue, but I think it has more to do with the hardware. It's well known that on CPUs some frequencies or even frequency ranges can be buggy, unstable, or slow. If you encounter that, try to add or remove a percent to LiveOC.

As said earlier, LiveOC will overclock the bus for all steps at the same time by the same amount of %.
Knowing that, you'll have to adapt your voltages for all the frequencies to stay stable, and this for any sensible change on LiveOC percentage.

6- Custom Voltage :

What would be LiveOC without Custom Voltages ?!

I did add leakage values to Glitch kernel features when I saw that some phones were overclocking much better with the right balance between ARM and Int voltages, depending on the phone, with very different results. The leakage value was basically that : balance between the two.

Well, as you probably know if you did read the changelogs, you have now the capacity to overvolt/undervolt both the ARM voltage (the CPU voltage you know well already), and the Int (internal) voltage. The last one is the voltage going to the GPU/memory controller, and will need to be tweaked accordingly to your phone.

As a starting point, here are the Int voltage values I was using for each leakage, adapted for V14 new frequency table :

HIGH LEAKAGE :

1500 : 1.225
1400 : 1.200
1300 : 1.175
1200 : 1.150
1000 : 1.125
800 : 1.100
400 : 1.100
200 : 1.100
100 : 1.000

MEDIUM LEAKAGE :

1500 : 1.200
1400 : 1.175
1300 : 1.150
1200 : 1.125
1000 : 1.100
800 : 1.100
400 : 1.100
200 : 1.100
100 : 1.000

LOW LEAKAGE :

1500 : 1.175
1400 : 1.150
1300 : 1.125
1200 : 1.100
1000 : 1.100
800 : 1.100
400 : 1.100
200 : 1.100
100 : 1.000

Of course, using LiveOC will force you to change these voltages accordingly.
Here are some advices about this :

- Try to stay around 1.225 - 1.250V for your highest frequencies;
- Try not to ever go past 1.300V if you don't want to kill your phone quickly;
- Be VERY gentle when tweaking it as it is VERY sensitive;
- Try to follow a more or less linear curve for Int voltage on OC frequencies;
- Going below 1.000V on 100MHz step will generally kill stability with no battery gain.


This guide may change depending on my decisions related to the Glitch kernel development, or to polish / add things to it.

Thanks to Ezekeel from Nexus S section for these awesome tools.
LiveOC : http://forum.xda-developers.com/showthread.php?t=1288015
Custom Voltages : http://forum.xda-developers.com/showthread.php?t=1331610

23/01/2012 - UPDATED TO REFLECT V14-B1 CHANGES.
09/02/2012 - UPDATED TO REFLECT V14-B3 CHANGES.
24/03/2012 - UPDATED TO REFLECT V14-B6 CHANGES.
 
Last edited:

bhu1

Senior Member
Aug 1, 2011
5,307
4,517
26
Jaipur
My 'love' oc value is 110% with Max over clock to 1320 MHz and min to 110 MHz and governed on on demand.

I didn't touched arm voltages

My int voltages are as follows:-

Max- 1225
1400-1200
1304-1175
1200-1125
1000-1100
800-1075
400-1050
200-1025
100-1000

Phone is pretty damn stable on these frequencies , I was facing some instability earlier but not now. Phone is dancing on my fingers, but will this effect battery a lot. Tk-glitch did I did it correctly or anything else have to be done??
 

bhu1

Senior Member
Aug 1, 2011
5,307
4,517
26
Jaipur
@BHuvan goyal : Looks good to me :)

Will test at different frequencies from time to time and will report here once build 12 comes out as build 11 has some minor problems. Btw I accidentally went up to 150% and screen started to display weird lines ( horizontal ) and phone rebooted but that's bound to happen as I know that was at maximum.
 

Tk-Glitch

Inactive Recognized Developer
Mar 24, 2011
1,666
4,355
As said, the bus limits are around 250 MHz for most phones, so with 150% pushing it to 300 MHz (and even more on the 1.3GHz step) your device will instantly freeze or crash :p

~ 130% is around the hardware limits :)
 

aventu

Senior Member
Apr 17, 2011
412
786
So what is the best method to save energy? Lower int and/or arm voltages? :eek:

"- Going below 1.000V on 100MHz step will generally kill stability with no battery gain."
Does it makes sense to lower arm voltage on 100mhz if >1V int causes instability?
 
Last edited:

aventu

Senior Member
Apr 17, 2011
412
786
I just want to undervolt (same performance, lower energy consumption), but I'm not sure how to find the lowest arm and int voltages.
Frist int, then arm? I guess balance is the problem^^

just testing, not stable:
100-1000mhz, 100% live OC; int 1000/1000/1000/1000/1050; arm 850/875/1000/1175/1250
100-1000mhz, 100% live OC; int 1000/1000/1000/1000/1050; arm 800/800/950/1125/1200

frist arm, then int.. for tomorrow
 
Last edited:

sixstringsg

Retired Forum Mod / Retired Recognized Developer
Apr 11, 2009
5,171
6,903
Dallas, TX
I just want to undervolt (same performance, lower energy consumption), but I'm not sure how to find the lowest arm and int voltages.
Frist int, then arm? I guess balance is the problem^^

just testing:
100-1000mhz, 100% live OC; int 1000/1000/1000/1000/1050; arm 850/875/1000/1175/1250
100-1000mhz, 100% live OC; int 1000/1000/1000/1000/1050; arm 800/800/950/1125/1200

First arm, then int.
 

SamHaLeKe

Senior Member
Aug 17, 2010
2,197
3,308
Brussels
Thanks for the amazing kernel and the OC/UV options to puch our silicon to it's limits!

Question...

f.e.
I can change Max CPU freq to 1200 MHz with no other adjustments to voltage or Live OC and system is totally stable (can even go all the way to 1300 MHz without changing voltages, stable)

or

I can change Live OC Value to 115 % with no other adjustments to voltage and Max CPU freq set to 800 and system is totally stable. (CPU will be 920 MHZ and GPU 230 MHz)

but

When I change both to let say Live OC Value to 115 % and CPU freq set to 1000
the system becomes unstable (CPU will be 1150 MHz and GPU 230 MHz)

So I can run my CPU at an even higher freq then 1150 MHz totally stable but not together with Live OC (separately also totally stable). What's the catch? I even tried 114 % 116% 113% but can't get it stable together (separately no problem). Also some suggestions on voltage settings (Int) would be nice to see... Thanks again

-Sam-
 
Last edited:

Tk-Glitch

Inactive Recognized Developer
Mar 24, 2011
1,666
4,355
@SamHaLeKe :
As you guessed, it's probably the Int voltage causing problems. Push it a bit (let's say 0.050V), and see if it's any better. It's obviously not the CPU freq causing problem, but more probably the bus freq. BTW, stock ARM voltage for 1GHz could be too low for 1150MHz, so pushing it a bit, towards 1.3V, should help too.

Good luck.
 

SamHaLeKe

Senior Member
Aug 17, 2010
2,197
3,308
Brussels
@SamHaLeKe :
As you guessed, it's probably the Int voltage causing problems. Push it a bit (let's say 0.050V), and see if it's any better. It's obviously not the CPU freq causing problem, but more probably the bus freq. BTW, stock ARM voltage for 1GHz could be too low for 1150MHz, so pushing it a bit, towards 1.3V, should help too.

Good luck.


Thanks for the quick answer. The strange thing is that separately it's working perfectly fine without changing any voltages. Like I said, separately I can go all the way to 1200 MHz CPU freq without changing ARM voltage and system is totally stable (I have a good silicon...). So there is no need to push my voltage for 1150 MHz and I already tested that option. Also bus freq is working fine separately but not together with changing CPU freq. Adding voltage for bus freq makes it even unstable, while it is working stable when changing bus freq separately on default Int. voltages. Very strange but will sertainly do more testings and find the sweet spot....

Thanks again

-Sam-
 
Last edited:

aventu

Senior Member
Apr 17, 2011
412
786
I noticed a strange behavior when I was testing a new frequency. For example 400mhz:
min 100mhz max 400mhz, stock int V; the phone freezes with >1V if I try to wake it from idle, but it passes every stress test (performance gov.) with >1V.. :confused:
 

Tk-Glitch

Inactive Recognized Developer
Mar 24, 2011
1,666
4,355
Thanks for the quick answer. The strange thing is that separately it's working perfectly fine without changing any voltages. Like I said, separately I can go all the way to 1200 MHz CPU freq without changing ARM voltage and system is totally stable (I have a good silicon...). So there is no need to push my voltage for 1150 MHz and I already tested that option. Also bus freq is working fine separately but not together with changing CPU freq. Adding voltage for bus freq makes it even unstable, while it is working stable when changing bus freq separately on default Int. voltages. Very strange but will sertainly do more testings and find the sweet spot....

Thanks again

-Sam-
Default voltage is higher @ 1.2 than @ 1GHz. It won't magically change because you did use LiveOC.


I noticed a strange behavior when I was testing a new frequency. For example 400mhz:
min 100mhz max 400mhz, stock int V; the phone freezes with >1V if I try to wake it from idle, but it passes every stress test (performance gov.) with >1V.. :confused:
To get one isolated step stable is one thing, to get it stable with others is another story. Nothing strange in that, it's as old as the world of clocks ^^
 
  • Like
Reactions: aventu

Top Liked Posts

  • There are no posts matching your filters.
  • 77
    LiveOC and Custom Voltage guide by TkGlitch
    for Glitch kernel V14


    glitcholdlogo11.png


    Warning!

    Overclocking is dangerous and is meant only for experienced users!


    1- Introduction :

    The "normal" overclocking system on SGS til now was the addition of some frequency steps past the stock 1GHz step. V13 kernel was using 7 overclocked steps
    to push the maximum selectable speed to 1.7GHz.

    In V14, less overclocked steps are present, but you can still overclock to 1.7GHz if you want (and if your phone is able to do it), and even up to 2.25GHz as a maximum.

    You will need NSTools to use LiveOC and custom Voltage features in Glitch kernel V14.

    To begin with, I'll explain you some basic things you have to know.

    2- Clocks :

    The CPU speed is the result of a bus speed and a multiplier.
    Bus speed is linked to and equal to GPU and RAM speed.
    The multiplier is per step and hardcoded by the kernel developer.

    It does look like that : CPU speed = bus speed x multiplier.

    Here are my values in V14 :

    1500 MHz = 200 x 7.5
    1400 MHz = 200 x 7
    1300 MHz = 200 x 6.5
    1200 MHz = 200 x 6
    1000 MHz = 200 x 5
    800 MHz = 200 x 4
    400 MHz = 200 x 2
    200 MHz = 200 x 1
    100 MHz = 100 x 1

    LiveOC gives you the access to direct and on-the-fly bus overclocking by 1% steps (150% being the maximum available). I'll say it again : BUS overclocking !
    Though, it'll overclock the bus on all the steps at the same time, for the same percentage.
    We'll talk about that later.

    So if I want to overclock my 1GHz step to 1.1GHz, I'll have to select 1GHz as max frequency, and push LiveOC to 110%.
    My bus speed beeing overclocked by 10% will give the following :

    220 x 5 (1GHz multiplier) = 1100 MHz.

    If you want to go higher than 1.5GHz, it's the same :

    Set 1500 MHz as maximum frequency (for example), and push LiveOC. Let's say to 110%. You will get the following :

    220 x 7.5 (1.5GHz multiplier) = 1650 MHz.

    Pushing it to 114% will give 1710 MHz (228MHz bus) and so on, up to 150% giving 2250 MHz running an inachievable 300MHz bus.

    SINCE V14 BETA 6, 100, 200 and 400 MHz steps won't be affected by LiveOC. It should help to stabilize your overclock in most cases.

    3- The limits :

    THE MAIN LIMIT AND PHONE KILLER IS HIGH TEMPERATURE. WARM IS OK, HOT IS TOO HOT. DON'T PLAY STUPID.

    Obviously, so much control over the bus speed, frozen til now to what the kernel developer set, will also give you the ability to find the limits of your chip.

    The main clocking limit is generally the RAM, corrupting itself when the bus speed is too high. And since the GPU uses the RAM as well, it'll become crashy too. That's why I have decided to add some steps with a bigger multiplier, to lower the bus for a higher CPU frequency.

    The bus speed limits for you will be anywhere between 240 and 270 Mhz, depending on your device potential (higher and lower exists but rare).
    Average is 240 MHz.

    The CPU speed limits will be anywhere between 1300 and 1800 MHz (higher and lower exists but rare as well).
    Average is 1400 MHz.

    With that in mind, I wouldn't go too far past 130% (giving 260MHz bus speed).

    4- The sweet spot :

    What you want when overclocking is to get the best balance for each part. Since the bus is linked to RAM and GPU, you obviously want it as high as possible for gaming, video playing, web browsing etc. (even more now with GPU acceleration in Android 4.0+). Though, as you know already if you've read this guide til now, all steps in V14 are using the stock 200MHz frequency.

    So what to do if I want a lower CPU speed with a higher bus/GPU speed ? Simple ! Just select a lower frequency step as starting point.

    Let's say we want 250 MHz bus speed, so we'll use 125% LiveOC :
    Using 800MHz step, you'll get 1GHz.
    Using 1GHz step, you'll get 1.250GHz.
    Using 1.2GHz step, you'll get 1.500GHz.
    Using 1.3GHz step, you'll get 1.625GHz.
    Using 1.4GHz step, you'll get 1.750GHz.
    Using 1.5GHz step, you'll get 1.875GHz.

    5- The issues :

    With a new overclocking system obviously comes some new problems related to it.

    With the ability to fine tune the frequencies, you'll find that some frequencies are buggy somewhat, giving low performances. For example, using 115% Live OC with the 1.3GHz step will give some poor performances, when 114 and 116% won't. It could be a NSTools issue, but I think it has more to do with the hardware. It's well known that on CPUs some frequencies or even frequency ranges can be buggy, unstable, or slow. If you encounter that, try to add or remove a percent to LiveOC.

    As said earlier, LiveOC will overclock the bus for all steps at the same time by the same amount of %.
    Knowing that, you'll have to adapt your voltages for all the frequencies to stay stable, and this for any sensible change on LiveOC percentage.

    6- Custom Voltage :

    What would be LiveOC without Custom Voltages ?!

    I did add leakage values to Glitch kernel features when I saw that some phones were overclocking much better with the right balance between ARM and Int voltages, depending on the phone, with very different results. The leakage value was basically that : balance between the two.

    Well, as you probably know if you did read the changelogs, you have now the capacity to overvolt/undervolt both the ARM voltage (the CPU voltage you know well already), and the Int (internal) voltage. The last one is the voltage going to the GPU/memory controller, and will need to be tweaked accordingly to your phone.

    As a starting point, here are the Int voltage values I was using for each leakage, adapted for V14 new frequency table :

    HIGH LEAKAGE :

    1500 : 1.225
    1400 : 1.200
    1300 : 1.175
    1200 : 1.150
    1000 : 1.125
    800 : 1.100
    400 : 1.100
    200 : 1.100
    100 : 1.000

    MEDIUM LEAKAGE :

    1500 : 1.200
    1400 : 1.175
    1300 : 1.150
    1200 : 1.125
    1000 : 1.100
    800 : 1.100
    400 : 1.100
    200 : 1.100
    100 : 1.000

    LOW LEAKAGE :

    1500 : 1.175
    1400 : 1.150
    1300 : 1.125
    1200 : 1.100
    1000 : 1.100
    800 : 1.100
    400 : 1.100
    200 : 1.100
    100 : 1.000

    Of course, using LiveOC will force you to change these voltages accordingly.
    Here are some advices about this :

    - Try to stay around 1.225 - 1.250V for your highest frequencies;
    - Try not to ever go past 1.300V if you don't want to kill your phone quickly;
    - Be VERY gentle when tweaking it as it is VERY sensitive;
    - Try to follow a more or less linear curve for Int voltage on OC frequencies;
    - Going below 1.000V on 100MHz step will generally kill stability with no battery gain.


    This guide may change depending on my decisions related to the Glitch kernel development, or to polish / add things to it.

    Thanks to Ezekeel from Nexus S section for these awesome tools.
    LiveOC : http://forum.xda-developers.com/showthread.php?t=1288015
    Custom Voltages : http://forum.xda-developers.com/showthread.php?t=1331610

    23/01/2012 - UPDATED TO REFLECT V14-B1 CHANGES.
    09/02/2012 - UPDATED TO REFLECT V14-B3 CHANGES.
    24/03/2012 - UPDATED TO REFLECT V14-B6 CHANGES.
    10
    Reserved. Just in case.
    7
    ROM: CM9 nightly 2012-09-16 (Android 4.0.4)
    Kernel: CM9 stock
    CPU/Voltage control app: NSTools 1.16
    GApps: 2012-04-29-ICS version
    Other important changes: Froze default browser (Browser 4.0.3-eng.pawitp.20120307.105323) using Titanium Backup and installed Dolphin HD Browser. Default browser was unnecessarily hogging CPU and draining my battery.

    Here are all of my (very stable) settings:
    LiveOC: 120%
    OC Target Low: 100 MHz
    OC Target High: 1500 MHz
    Min CPU freq: 240 MHz
    Max CPU freq: 1200 MHz
    Max ARM volt: 1500 mV
    Max INT volt: 1300 mV

    Frequency voltages:
    Code:
    Freq (MHz) ARM Volt (mV) INT Volt (mV)
    ---------- ------------- -------------
    1500       1500          1200
    1400       1450          1175            
    1300       1400          1150
    1200       1375          1100
    1000       1300          1100
     800       1225          1100
     400       1050          1100
     200        950          1100
     100        950          1000

    I ran all of the following stress tests in the following order to successfully test the stability of the phone:
    1. 720p AVC ([email protected]) 29.97 fps video within a MP4 container playing in MX Video Player using software decoder
    2. Electopia
    3. Stability Test (CPU/GPU Test, Classic Test)
    4. AnTuTu Benchmark
    5. NenaMark1
    6. NenaMark2
    7. Neocore
    8. Vellamo
    9. KFS OpenGL Benchmark

    It's worth noting that setting my minimum frequency to 240 MHz provides a very fast and snappy UI, i.e. widgets refresh and redraw much faster and overall UI responsiveness is better. Setting my minimum frequency to 120 MHz (lowest setting) does result in some lag, which is why I tried the next frequency step up.

    Good luck, and please remember to press the Thanks button below if my settings and information helped you in any way.
    5
    48C° is far too high.. The last time I was testing insane clocks I did hit 42, and it was hard to keep the phone in the hand.. The sensor is in the battery, keep that in mind. If the battery hits 40C°, the core of the SoC should be around 65 to 70C°, if not a bit more…
    Please don't play stupid guys, with great power comes great responsibility.
    4
    My 'love' oc value is 110% with Max over clock to 1320 MHz and min to 110 MHz and governed on on demand.

    I didn't touched arm voltages

    My int voltages are as follows:-

    Max- 1225
    1400-1200
    1304-1175
    1200-1125
    1000-1100
    800-1075
    400-1050
    200-1025
    100-1000

    Phone is pretty damn stable on these frequencies , I was facing some instability earlier but not now. Phone is dancing on my fingers, but will this effect battery a lot. Tk-glitch did I did it correctly or anything else have to be done??