[Nexus 4 Android Development] aventu:
franco.Kernel +

*Discontinued*

These are my personal franco.Kernel builds with some modifications, explained below.

Things I want to achieve with this mod:

- more battery life

- same more performance as stock

- smooth ui / games

- less heat

Highlights:

Advanced Dynamic Scaling:

The interactive governor will now use different values for up_threshold, timer_rate and min_sample_time for every cpu_core and gpu_idle state. If the gpu is busy, the governor will use values for more performance and if it is idle, it will use conservative settings.

The current values, feel free to suggest other.

/* up_threshold, timer_rate, min_sample_time */
static unsigned int interactive_val[GPU_STATE][ACTIVE_CORES][TUNABLES] =
{{
/* gpu idle */
{100, 40000, 10000},
{100, 40000, 20000},
{100, 40000, 30000},
{100, 40000, 40000}
},{
/* gpu busy */
{90, 20000, 40000},
{90, 20000, 40000},
{95, 20000, 60000},
{95, 20000, 80000}
}};

Dynamic Touchboost:

The touch boost is only active if something is rendered on the screen, that means the boost will pause as long as there is no movement, but it will resume when it is actually necessary. It will double the actual cpu load and calculate the frequency, the maximum is input_boost_freq. This aggressive calculation offers a smooth ui, but it can also save battery, because you will often don't need input_boost_freq when the screen is touched.

New Hotplug Solution:

Instead of linking core0 to core2 and core1 to core3, all cores a controlled separately. This should prevent an excessive hopping up and downwards. The load is calculated with all active cores to get the performance we actually need.

After some time (if 2 core touchboost is active) and not touching the screen, only 1 core will stay online to save a bit more battery.

It will use different up and down thresholds for each gpu_idle and cpu core state.

/* down threshold, up threshold */
static unsigned int hotplug_val[GPU_STATE][ACTIVE_CORES][TUNABLES] =
{{
/* gpu idle */
{0, 70},
{40, 80},
{50, 90},
{60, 100}
},{
/* gpu busy */
{0, 60},
{30, 60},
{30, 65},
{40, 100}
}};

https://github.com/reborn90/mako/blob/nightlies-4.3/arch/arm/kernel/mako_hotplug.c

Smooth thermal throttling:

When the temperature hits the threshold, the frequencies won't be limited immediately but scaled down step by step to prevent lagspikes from jumping between 1,5 and 1GHz (if the current temperature allows it). This mod is absolutely not made for benchmarks because my solution is as agressive as the original one. There are other good kernels to melt your device.

https://github.com/reborn90/mako/blob/nightlies-4.3/drivers/thermal/msm_thermal.c

Recommended settings (default):

thermal threshold: 65

Hotplug:

high load: 60

low load: 30

cores on touch: 2

Interactive governor:

dynamic_scaling: true

input_boost_freq: 1134MHz

input_boost_freq_duration: 1500

Interactive gpu governor:

up_threshold: 60

down_threshold: 25

Per app settings tipp:

Set input_boost_freq to the lowest frequency for games.

Github:

https://github.com/reborn90/mako/tree/nightlies-4.4

MD5

bbe66dc7ac213081f423eb0435495ad6 franco.Kernel.Plus-r193-1110-JSS.zip

8c2428486e1b0492e494ebd6252e83ed franco.Kernel.Plus-r193-1110-JSS-CAF.zip

d674f49b81586a342be73b315dc30af3 franco.Kernel.Plus-r193-1110-JWR.zip

9a1300d5103cfa4d26ed0c7fce0b2b4e franco.Kernel.Plus-r194-1121-KRT.zip

a06c7609c9b79c36cedd933f6ea57ae5 franco.Kernel.Plus-r194-1127-KRT.zip

3e53f4bda0d3ae8716187bc8bd7a3f18 franco.Kernel.Plus-r198-1209.zip

eec2e964e417d76105b13cf3f700056b franco.Kernel.Plus-r200-0101.zip

ca227545fb5efe75c05836041f396e98 franco.Kernel.Plus-r203-0124.zip

Hit thanks if you like it. ;)

Buy Franco's app or just a coffee for me.

I'm testing all my builds and use them daily, but I am not responsible for any kind of damage on your device.

Which version should I choose?

- JWR for stock 4.3

- JSS for JLS roms

- JSS-CAF for cm 10.2

- builds >= r194 are for Android 4.4 Kitkat (KRT)

- builds >= r198 are for Android 4.4.1 and 4.4.2 Kitkat (KOT)

- KRT is compatible with KOT and vice versa

- cm 11 is not compatible

r203 RC1 (02/04): http://xdaforums.com/showpost.php?p=50079790&postcount=835

r203 RC2 (02/09): http://xdaforums.com/showpost.php?p=50189367&postcount=848

r203 RC3 (03/15): http://xdaforums.com/showpost.php?p=51109943&postcount=890

The recommended settings above are not made for the release candidates.

Recommended ROM: AOSPA PARANOIDANDROID 4.0