[Defy General] zakoo2:
Hey guys, as things started to get out of control in the CM10 development thread about CPU settings I thought I'd start a

thread for this purpose.

This is not a guide, it's just for general discussion, everyone can share their settings/experience, though I ask everybody

to share the ROM used for those settings!

I do not take any responsibility for any harm done by applying these settings/tweak, use them on your own

risk!

So, let's get to it:

Here are two things which everyone should read before asking questions:

Governors, modules, schedulers, tweaks: http://xdaforums.com/showthread.php?t=1369817

Voltage, Vsel, MHz: http://androidunderground.blogspot.hu/2011/05/setvsel-overclock-and-undervolt-your.html

GOVERNORS:

Here's what I know about Quarx and Epsylon3 roms:

There has been a general fuzz about the smartassv2 governor, which turns out to already be implemented in both roms named

'boosted', although the preferences of the governor might differ from what the ported droidx governor has.

Just to avoid confusion: Quarx did NOT change anything in the 04/08 build, he only set the default governor to boosted and

i/o scheduler to 1, which is SIO (so far it was Noop).

Default boosted preferences:

bst_awake_ideal_freq: 800000
bst_debug_mask: 0
bst_down_rate_us: 97000
bst_max_cpu_load: 70
bst_min_cpu_load: 40
bst_ramp_down_step: 160000
bst_ramp_up_step: 160000
bst_sample_rate_jiffies: 2
bst_sleep_ideal_freq: 300000
bst_sleep_wakeup_freq: 300000
bst_up_rate_us: 52000

The difference between boosted and the ported smartassv2 is in the preferences.

Here are the settings I use: (it gives me smoother experience than the default ones, although it might drain the battery a

bit more)

bst_awake_ideal_freq: 800000
bst_debug_mask: 0
bst_down_rate_us: 99000
bst_max_cpu_load: 75
bst_min_cpu_load: 45
bst_ramp_down_step: 0
bst_ramp_up_step: 0
bst_sample_rate_jiffies: 2
bst_sleep_ideal_freq: 200000
bst_sleep_wakeup_freq: 800000
bst_up_rate_us: 24000

I/O SCHEDULERS:

There are three schedulers available on the defy by default: Noop, Cfq and SIO.

The default one can not be changed from bootmenu (at least not on the 30/07 Quarx MB526 build), but you can download Voltage Control from Play Store which enables you to change I/O schedulers and governors.

You can check which scheduler is the default one in /sys/block/mmcblk0/queue/scheduler (the default is the one in brackets).

VSEL/MHZ VALUES:

WARNING! Changing the default vsel values may harm your CPU or cause system lags, freezes, reboots! Use them with caution!

The settings one uses might not be good for others, everyone test their settings thoroughly before using it long term!

Here's the formula for calculating actual voltage from vsel:

V = 0.0125*VSel + 0.6

The default values for each frequency are the following:

33vsel@300MHz

48vsel@600MHz

58vsel@800MHz

68vsel@1000MHz

These are without a doubt quite a bit higher than needed, probably to make sure all CPUs run stable.

This means that the Defy/Defy+ can be seriously undervolted without any harm (too much undervoolting does no harm to the cpu,

the device simply reboots).

Here is a formula for calculating the vsel from the frequency, which is proved to be stable for most (not all!): (MHz/20)+2

This gives the following settings:

17vsel@300MHz

32vsel@600MHz

42vsel@800MHz

52vsel@1000MHz

I have been using these settings for almost a year now along with others, never had any trouble with it, but again,

this might not work for everyone.

You can test each value with an app called 'StabilityTest' from Play Store.

Run it for 15 minutes, and if the phone doesn't reboot, then it will most likely work.

For the lazy ones, here's an app that calculates the needed vsels with the formula above:

http://xdaforums.com/showthread.php?t=1815142

Again, this is not a guide, and do not rely 100% on anything written here (I don't want to mislead anybody, I'm no expert,

just a regular user with a hunger for knowledge :P)

If I have missed something or have written false data, please PM me and I will correct/add it!