[KERNEL][4.4][KK] franco.Kernel.Plus r203 RC3 (03/15) | discontinued

Search This thread

aventu

Senior Member
Apr 17, 2011
413
786
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.
Code:
/* 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.

Code:
/* 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
 

Attachments

  • franco.Kernel.Plus-r193-1110-JSS.zip
    5.3 MB · Views: 648
  • franco.Kernel.Plus-r193-1110-JSS-CAF.zip
    5.3 MB · Views: 1,007
  • franco.Kernel.Plus-r193-1110-JWR.zip
    5.3 MB · Views: 1,070
  • franco.Kernel.Plus-r194-1127-KRT.zip
    5 MB · Views: 1,615
  • franco.Kernel.Plus-r198-1209.zip
    5 MB · Views: 2,368
  • franco.Kernel.Plus-r200-0101.zip
    4.7 MB · Views: 2,325
Last edited:

aventu

Senior Member
Apr 17, 2011
413
786
Current changelog:

based on r203
- updated franco's interactive gpu governor
- lowered threshold for 4th cpu core
- added (modified) generic touchboost driver from franco
- updated FauxSound to version 3.2

regular changelog:
http://192.241.177.15/Nexus4/4.4/appfiles/changelog.xml


Old changelogs:

Code:
[U](01/01)[/U]
based on r200
- new dynamic hotplug values
- awesome row io scheduler improvements

[U](12/09)[/U]
based on r198
- 4.4.1 update
- hotplug and interactive gov update
- dynamic io_is_busy decision
- fix for wrong load calculation while the device is throttled

[U](11/27)[/U]
based on r194
- (re)added FauxSound and FauxSpeaker

[U](11/21)[/U]
based on r194
- Kitkat update
- quick fix: I forgot to disable some debug logs, sry!

[U](11/10)[/U]
based on r193
- new dynamic touchboost
- hotplug speed is now based on gpu_idle

[U](10/28)[/U]
based on r193
- MultiROM is activated now
- hotplug tweaks

[U](10/15)[/U]
based on r191
- reverted interactive governor

[U](10/13)[/U]
based on r191 (test release)
- new interactive governor, not fully optimized jet
- phone wakeup tweaks, again

[U](10/03) [/U]
based on r188
- fixed a bug which caused way too high gpu frequencies
- tweaked hotplugging at wakeup a bit
- more conservative hotplug values (+20) if gpu_idle and dynamic_scaling are true

[U](9/23) [/U]
based on r184
- only upstream merge

[U](9/16) [/U]
based on r183
- reimplemented gpu_idle detection with interactive gpu governor
- merging and syncing 
- raised min voltage to 650

[U](9/12) [/U]
based on r182
- Advanced Dynamic Scaling
- touchboost tweaks
- touchboost duration reduced to 1500ms
- much better gaming performance
- FauxSound

[U](8/04) [/U]
based on r182
- Interactive: removed unused hispeed freq
- no ondemand for now, needs way too much battery

[U](8/31) [/U]
based on r178
- Smart Touchboost added
- instant touchboost without waiting for governor
- touchboost duration raised to 2sec
- better performance for low end games (Doodle Jump)
- little bugfixes

[U](8/24) [/U]
based on r178
- enabled wakelock stats

[U](8/20) [/U]
based on r176
- new hotplug driver
- new thermal throttling
- correct load calculation while throttled
- interactive gov: new dynamic tunables
- gpu driver: new average load calculation
- new frequencies 270MHz and 162MHz
- lower minimum voltages 600mV
- instant touchboost when unlocking the device
 
Last edited:

KiD3991

Inactive Recognized Contributor
Dec 21, 2012
1,250
1,102
Awesome. More toys! :p
And I like what the first thing said, more battery life. Still searching for the ROM that can give me 8 hours SOT.
 
  • Like
Reactions: hp420 and BoOsT

KiD3991

Inactive Recognized Contributor
Dec 21, 2012
1,250
1,102
HAHA!! Aren't we all!!

At 162mhz the lowest I could UV is 650. So remove set at both if you wish to try lower ;)

Sent from my Paranoid Nexus 4

You mean 192mhz?
Eh, since my CPU binning is at nominal only, I dare not UV more than 100 though. :p
And afaik, UV excessively does not actually help save battery, instead it uses more power. Somebody made a test, its somewhere in XDA.

I can reach 7 hour SOT in 4.2.2, I just lost that screenshot somewhere, in 4.3 I have yet to find it(5 hour SOT is not hard). :)
 

BoOsT

Senior Member
Jan 6, 2008
2,205
1,913
Southeast Missouri
Shows 162. Undervolting your device reduces the power the processor receives to only what it needs to run. If you don't suffer any I'll effects in performance I don't see how u would lose battery. However, I'm a try it and see how it works kinda guy.

Sent from my Paranoid Nexus 4
 

mendozaram

Senior Member
Oct 22, 2012
734
194
Is this working with touch control? Modules enabled?

Sent from my Nexus 4 using xda app-developers app
 

edians

Member
Jan 23, 2013
46
9
You mean 192mhz?
Eh, since my CPU binning is at nominal only, I dare not UV more than 100 though. :p
And afaik, UV excessively does not actually help save battery, instead it uses more power. Somebody made a test, its somewhere in XDA.

I can reach 7 hour SOT in 4.2.2, I just lost that screenshot somewhere, in 4.3 I have yet to find it(5 hour SOT is not hard). :)

Does UV excessively not actually help save battery? I am interest in this. Could you please give me the link you montioned? Thanks a lot!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 220
    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.
    Code:
    /* 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.

    Code:
    /* 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
    33
    Current changelog:

    based on r203
    - updated franco's interactive gpu governor
    - lowered threshold for 4th cpu core
    - added (modified) generic touchboost driver from franco
    - updated FauxSound to version 3.2

    regular changelog:
    http://192.241.177.15/Nexus4/4.4/appfiles/changelog.xml


    Old changelogs:

    Code:
    [U](01/01)[/U]
    based on r200
    - new dynamic hotplug values
    - awesome row io scheduler improvements
    
    [U](12/09)[/U]
    based on r198
    - 4.4.1 update
    - hotplug and interactive gov update
    - dynamic io_is_busy decision
    - fix for wrong load calculation while the device is throttled
    
    [U](11/27)[/U]
    based on r194
    - (re)added FauxSound and FauxSpeaker
    
    [U](11/21)[/U]
    based on r194
    - Kitkat update
    - quick fix: I forgot to disable some debug logs, sry!
    
    [U](11/10)[/U]
    based on r193
    - new dynamic touchboost
    - hotplug speed is now based on gpu_idle
    
    [U](10/28)[/U]
    based on r193
    - MultiROM is activated now
    - hotplug tweaks
    
    [U](10/15)[/U]
    based on r191
    - reverted interactive governor
    
    [U](10/13)[/U]
    based on r191 (test release)
    - new interactive governor, not fully optimized jet
    - phone wakeup tweaks, again
    
    [U](10/03) [/U]
    based on r188
    - fixed a bug which caused way too high gpu frequencies
    - tweaked hotplugging at wakeup a bit
    - more conservative hotplug values (+20) if gpu_idle and dynamic_scaling are true
    
    [U](9/23) [/U]
    based on r184
    - only upstream merge
    
    [U](9/16) [/U]
    based on r183
    - reimplemented gpu_idle detection with interactive gpu governor
    - merging and syncing 
    - raised min voltage to 650
    
    [U](9/12) [/U]
    based on r182
    - Advanced Dynamic Scaling
    - touchboost tweaks
    - touchboost duration reduced to 1500ms
    - much better gaming performance
    - FauxSound
    
    [U](8/04) [/U]
    based on r182
    - Interactive: removed unused hispeed freq
    - no ondemand for now, needs way too much battery
    
    [U](8/31) [/U]
    based on r178
    - Smart Touchboost added
    - instant touchboost without waiting for governor
    - touchboost duration raised to 2sec
    - better performance for low end games (Doodle Jump)
    - little bugfixes
    
    [U](8/24) [/U]
    based on r178
    - enabled wakelock stats
    
    [U](8/20) [/U]
    based on r176
    - new hotplug driver
    - new thermal throttling
    - correct load calculation while throttled
    - interactive gov: new dynamic tunables
    - gpu driver: new average load calculation
    - new frequencies 270MHz and 162MHz
    - lower minimum voltages 600mV
    - instant touchboost when unlocking the device
    16
    Sorry for the delay, I have to learn for my exams right now.

    new build:

    based on r203
    - updated franco's interactive gpu governor
    - lowered threshold for 4th cpu core
    - added (modified) generic touchboost driver from franco
    - updated FauxSound to version 3.2
    10
    So the thing is..

    I have a very abrupt announcement for you. I will discontinue publishing my kernels on xda because of a simple reason: I don't have enough time any more. :(
    The constant forum participation, making (kinda) stable builds and testing became too much extra work for me. In addition to that I am starting my first bigger Java/Android project. So I must make this decision to have enough time for my hobbys and college.

    I have a feeling that I will come back with something different from userland :)

    Thank you!
    9
    Hey reborn you mind taking a look at this for me please? .. It happened again :( stupid reboot.

    http://db.tt/eZmEcKKC

    Sent from my Nexus 4 using xda app-developers app

    kernel panic, try the new release with a full wipe, check main thread for compatibility issues with rom.


    finally r183!

    - reimplemented gpu_idle detection with interactive gpu governor
    - merging and syncing
    - raised min voltage to 650

    no more magic with this release, that was enough work^^

    ps: Post more battery stats, I love that. Post also how you use your device. :) (sync, connectivity, games/apps)