[KERNEL][Sony JB 4.3][26.04.15] Williams kernel v9.1

Did the 270 MHz frequency step increase your battery life ?

  • Yes

    Votes: 101 35.6%
  • No

    Votes: 21 7.4%
  • I don't know

    Votes: 97 34.2%
  • I don't use this step

    Votes: 65 22.9%

  • Total voters
    284
Search This thread

pec0ra

Senior Member
Jan 29, 2012
841
1,125
Zürich
Sony Xperia 5 II
This is the version for Sony stock based ROM

Introduction
Hello dear developers and android hackers,

On this thread, I will share with you a project I am developing as I am learning kernel programming / hacking. This version of the williams kernel is based on Sony kernel with enhancement, mostly for battery saving.




Features
  • Based on Sony 12.1.A.1.207 kernel sources
  • Compiled with linaro GCC 4.9.1 toolchain, -O3
  • Frequency table from 384Mhz to 1944Mhz
  • Governors : interactive, ondemand, performance, conservative, lagfree, smartassV2, intellidemand2, intelliactive and lionheart
  • I/O schedulers : noop, deadline, cfq, V(R), row, sio, fifo
  • CPU frequency limiter lets you underclock all cores
  • Fast hotplug
  • Undervolt
  • Force fast charging
  • Changed minfree values for better multitasking and RAM management
  • TWRP and CWM recovery included, fota partition support
  • Dynamic fsync thank's to faux123
  • FauxSound thank's to faux123




Installation instructions
Code:
Use this kernel at you own risk !
I am not responsible for any damage or problem.

  1. Flash zip via recovery
  2. Reboot




Download


Changelog
Williams kernel v9.1 : 26.04.15
  • Reactivate cpufreq limiter


Williams kernel v9 : 26.04.15
  • Fixed frequency table
  • Add 1944 MHz frequency step


Williams kernel v8 : 12.12.14
  • Set qcom mpdecision as default hotplug (No need to deactivate it anymore unless you want to use another hotplug :) )
  • Remove msm_mpdecision
  • Add fast hotplug
  • Increase 1.8GHz step frequency for better stability
  • Add FOTA recovery support (Volume down)


Williams kernel v7 : 03.10.14


Williams kernel v6 : 01.10.14
  • Rebased on Sony 12.1.A.207 kernel sources
  • Increase voltage of highest frequency for more stability
  • Fix some bugs introduced in version 5.1


Williams kernel v5.1 : 20.07.14
  • Updated ramdisk to .205
  • Replaced philz recovery with cwm


Williams kernel v5 : 30.05.14
  • Changed frequency table for more stability
  • Add force fast charging, thanks to @DooMLoRD for the port
  • Disabled cpu freq limiter since msm_mpdecision already takes care of it


Williams kernel v4 : 24.05.14
  • Add overclock up to 1888 Mhz


Williams kernel v3.1 : 23.05.14
  • Fixed antutu crashes


Williams kernel v3 : 22.05.14
  • Changed frequency table to 270-1728 MHz
  • Added dynamic fsync thank's to @faux123


Williams kernel v2.2 : 21.05.14
  • Changed illumination at splash screen
  • Fixes for compatibility with linaro GCC 4.9.1 toolchain
  • -O3 compiler optimizations
  • Use xz compression


Williams kernel v2 : 18.05.14
  • Add V(R), ROW, SIO and FIFO I/O schedulers. Thanks to bbedward and DooMLoRD
  • Add @show-p1984 's mpdecision (see faq for more information)
  • Add TWRP and CWM recovery. Thanks to @dssmex and @DooMLoRD
  • Add custom splash logo. Thanks to @DooMLoRD for his tutorial


Williams kernel v1 : 13.05.14
  • Initial release


Check my github to see all the changes.




FAQ
Q : With what ROM can I use this kernel ?
A : With any ROM based on Sony stock 4.3

Q : What features will be added to next versions ?
A : I probably don't know. If you have a feature request, please use the devdb tab for it on the top of the thread.

Q : Your kernel isn't working / My phone isn't booting anymore
A : Read this whole post once more, search for your problem in thread and report it if you haven't found a solution.

Q : Can I install this kernel on locked bootloader ?
A : No ! This kernel is only for unlocked bootloader.

Q : Does this kernel include recovery ?
A : Yes ! You can access by pressing volume button when the lights blink. Volume up to go to CWM and Volume down to go to TWRP or loads from FOTA partition if you have a kernel installed..

Q : What are mpdecision and fast hotplug ?
A : This is what manage your cpu cores and decide which core will be online. Fast hotplug is a brand new hotplug that I wrote. You can find more information there

Q : How to control fast hotplug ?
A : I modified Pimp my Z1 to be compatible with fast hotplug. You can use it without any problem on your Xperia SP to configure fast hotplug (Power Management menu) but it might have bugs with other functions (you can still try, I haven't had problems yet ;) ).
You can find it there

Q : Where does the name come from ?
A : This kernel isn't named after someone but after a pear. We use this pear to make one of the best swiss "eau de vie" called Williamine.



Thanks To/Credits
Code:
* Sony for their sources and device
* @DooMLoRD
* @thewadegeek for his [URL="http://xdaforums.com/showthread.php?t=1748297"]Tutorial[/URL]
* @show-p1984 for his mpdecision
* @dssmex
* bbedward
* Erasmux
* faux123
* Androguide.fr for Pimp my Z1
* The xda community for making me discover android and for answering so many of my questions
* Google for kernel sources and its search engine
* Apple for making expensive phone so that I never bought one of theirs




Please let me know per pm if there is any mistake or misspelled word in this thread. Automatic correction does a great job but since english isn't my motherthongue I'm pretty sure I made mistakes.

XDA:DevDB Information
Williams kernel - Sony, Kernel for the Sony Xperia SP

Contributors
pec0ra
Source Code: https://github.com/pec0ra/williams

Kernel Special Features:

Version Information
Status: Testing

Created 2014-05-13
Last Updated 2015-04-26
 
Last edited:

freedom74

Senior Member
Feb 22, 2011
200
57
Belgrade
Cool!
Another kernel for stock based Rom

Will try ASAP

Thank you for so many governors

Sent from my C5303 using XDA Free mobile app
 

Dragonkind

Senior Member
Aug 4, 2012
707
350
Chureki
Wanna try...

But could u make a flashable zip?

I am just a lazy guy. lol

------------

The graphic performance can be more stable.

And I/O seems to be a little slow.

Benchmark score is lower than stock about 1500 with Quadrant.

Just for some advices~
 
Last edited:

pec0ra

Senior Member
Jan 29, 2012
841
1,125
Zürich
Sony Xperia 5 II
Good luck with you development man!!! Hope u can make an kernel for CM11 too =D

Thank you, this might come in the future but for now I will work on this one.


Can make a flashable zip according to this guide (2nd post) ;)
http://xdaforums.com/showthread.php?t=2699858

Wanna try...

But could u make a flashable zip?

I am just a lazy guy. lol

------------

The graphic performance can be more stable.

And I/O seems to be a little slow.

Benchmark score is lower than stock about 1500 with Quadrant.

Just for some advices~


I can understand this laziness, I would have it too. So the OP is updated with flashable zip !

And thank for the review. Actually I/O and graphic performance haven't been changed so I wasn't expecting any improvement. Btw some IO schedulers might come soon.
 

Arvis20

Senior Member
Apr 2, 2014
55
8
So far no problems at all and great battery life, especially when listening music(1% half an hour). Also could you import sound control in kernel ? It would be very useful. Thanks for great work :D
 

s0ur0v

Senior Member
Aug 20, 2013
257
52
Xiaomi Mi 6
OnePlus 9
recovery request

Hi boss, I am just using it kernel and it's a charm to use it, the only problem I face is there is no recovery on this kernel, I can even add, cam u plz add cwm or Philz touch recovery? Then it will be a great thing to use, eagerly waiting for us reply with recovery
Or u can assist me also toward recovery by myself
 

freedom74

Senior Member
Feb 22, 2011
200
57
Belgrade
Does your kernel support multi core control?
I played a bit with governors using Android Tuner app but seems to me that second core is offline most of the time if not all of the time.
Also when I set it online, it start to show CPU1 states time but when screen goes off CPU1 again goes offline.



Sent from my C5303 using XDA Free mobile app
 
Last edited:

Soulblinded

Senior Member
Mar 7, 2012
117
9
I am on Existenz 3.3.0 . I just flashed in recovery, wiped cache and dalvick and then restared, and now my phone completely refuses to boot up? What can i do, please help
 

pec0ra

Senior Member
Jan 29, 2012
841
1,125
Zürich
Sony Xperia 5 II
Hi boss, I am just using it kernel and it's a charm to use it, the only problem I face is there is no recovery on this kernel, I can even add, cam u plz add cwm or Philz touch recovery? Then it will be a great thing to use, eagerly waiting for us reply with recovery
Or u can assist me also toward recovery by myself

There is a recovery version for locked bootloader which should also work on ub. You should try installing it.





Does your kernel support multi core control?
I played a bit with governors using Android Tuner app but seems to me that second core is offline most of the time of not all of the time.
Also when I set it online, it start to show CPU1 states time but when screen goes off CPU1 again goes offline.



Sent from my C5303 using XDA Free mobile app

Try to find a option to deactivate mp-decision. If you can't find it in Android tuner try trickster mod. Once this option is deactivated you will be in control of your cores.


Sent from my C5303 using Tapatalk
 
Last edited:

freedom74

Senior Member
Feb 22, 2011
200
57
Belgrade
Try to find a option to deactivate mp-decision. If you can't find it in Android tuner try trickster mod. Once this option is deactivated you will be in control of your cores.

I think you may misunderstood me...
It's not so much about control but about CPU 2nd core is not used even when 1st core is at 100% at max frequency
and with WiFi on and Walkman playing music
Screenshot_2014-05-15-09-04-29.png
 

pec0ra

Senior Member
Jan 29, 2012
841
1,125
Zürich
Sony Xperia 5 II
I think you may misunderstood me...
It's not so much about control but about CPU 2nd core is not used even when 1st core is at 100% at max frequency
and with WiFi on and Walkman playing music
View attachment 2744673

Ah OK. That's strange. I haven't experienced that. Could you tell me what rom you use and your governor setting. If you know how to do it a dmesg could also be useful.

Sent from my C5303 using Tapatalk
 

freedom74

Senior Member
Feb 22, 2011
200
57
Belgrade
Ah OK. That's strange. I haven't experienced that. Could you tell me what rom you use and your governor setting. If you know how to do it a dmesg could also be useful.

Stock JB .201 and default ondemand governor.
Also tried with SmartassV2 and intellidemand.
When I enable CPU1 with Android tuner it works fine according to active CPU governor
but when screen goes off CPU1 goes offline and stays offline.
Or maybe I'm just not seeing it works? :confused:

Here is dmesg output...
http://pastebin.com/SgvfmC6b

I just tried to put performance governor in action...
and when I enable it and set both cores online it works at full throttle but when screen goes off so does 2nd core
Screenshot_2014-05-15-09-55-28.png Screenshot_2014-05-15-09-55-42.png Screenshot_2014-05-15-10-00-07.png Screenshot_2014-05-15-10-00-31.png
 

pec0ra

Senior Member
Jan 29, 2012
841
1,125
Zürich
Sony Xperia 5 II
Stock JB .201 and default ondemand governor.
Also tried with SmartassV2 and intellidemand.
When I enable CPU1 with Android tuner it works fine according to active CPU governor
but when screen goes off CPU1 goes offline and stays offline.
Or maybe I'm just not seeing it works? :confused:

I just tried to put performance governor in action...
and when I enable it and set both cores online it works at full throttle but when screen goes off so does 2nd core

Of it's only when screen is off its actually a feature. But this will be optional in next version.

Sent from my C5303 using Tapatalk
 

freedom74

Senior Member
Feb 22, 2011
200
57
Belgrade
Of it's only when screen is off its actually a feature.
It's OK to go offline when screen is off, that's perfectly OK but when you start using your phone it stays offline.

I tried AdvStd kernel .201 and it switches CPU1 core OK...
Also Doomlord's V10 fix2 working fine, maybe, I would dare to say too much of an CPU1 active :D
maybe that's why phone gets warmer when using DoomLord's kernel.
Screenshot_2014-05-15-10-43-20.png Screenshot_2014-05-15-10-45-49.jpg
 

Top Liked Posts

  • There are no posts matching your filters.
  • 81
    This is the version for Sony stock based ROM

    Introduction
    Hello dear developers and android hackers,

    On this thread, I will share with you a project I am developing as I am learning kernel programming / hacking. This version of the williams kernel is based on Sony kernel with enhancement, mostly for battery saving.




    Features
    • Based on Sony 12.1.A.1.207 kernel sources
    • Compiled with linaro GCC 4.9.1 toolchain, -O3
    • Frequency table from 384Mhz to 1944Mhz
    • Governors : interactive, ondemand, performance, conservative, lagfree, smartassV2, intellidemand2, intelliactive and lionheart
    • I/O schedulers : noop, deadline, cfq, V(R), row, sio, fifo
    • CPU frequency limiter lets you underclock all cores
    • Fast hotplug
    • Undervolt
    • Force fast charging
    • Changed minfree values for better multitasking and RAM management
    • TWRP and CWM recovery included, fota partition support
    • Dynamic fsync thank's to faux123
    • FauxSound thank's to faux123




    Installation instructions
    Code:
    Use this kernel at you own risk !
    I am not responsible for any damage or problem.

    1. Flash zip via recovery
    2. Reboot




    Download


    Changelog
    Williams kernel v9.1 : 26.04.15
    • Reactivate cpufreq limiter


    Williams kernel v9 : 26.04.15
    • Fixed frequency table
    • Add 1944 MHz frequency step


    Williams kernel v8 : 12.12.14
    • Set qcom mpdecision as default hotplug (No need to deactivate it anymore unless you want to use another hotplug :) )
    • Remove msm_mpdecision
    • Add fast hotplug
    • Increase 1.8GHz step frequency for better stability
    • Add FOTA recovery support (Volume down)


    Williams kernel v7 : 03.10.14


    Williams kernel v6 : 01.10.14
    • Rebased on Sony 12.1.A.207 kernel sources
    • Increase voltage of highest frequency for more stability
    • Fix some bugs introduced in version 5.1


    Williams kernel v5.1 : 20.07.14
    • Updated ramdisk to .205
    • Replaced philz recovery with cwm


    Williams kernel v5 : 30.05.14
    • Changed frequency table for more stability
    • Add force fast charging, thanks to @DooMLoRD for the port
    • Disabled cpu freq limiter since msm_mpdecision already takes care of it


    Williams kernel v4 : 24.05.14
    • Add overclock up to 1888 Mhz


    Williams kernel v3.1 : 23.05.14
    • Fixed antutu crashes


    Williams kernel v3 : 22.05.14
    • Changed frequency table to 270-1728 MHz
    • Added dynamic fsync thank's to @faux123


    Williams kernel v2.2 : 21.05.14
    • Changed illumination at splash screen
    • Fixes for compatibility with linaro GCC 4.9.1 toolchain
    • -O3 compiler optimizations
    • Use xz compression


    Williams kernel v2 : 18.05.14
    • Add V(R), ROW, SIO and FIFO I/O schedulers. Thanks to bbedward and DooMLoRD
    • Add @show-p1984 's mpdecision (see faq for more information)
    • Add TWRP and CWM recovery. Thanks to @dssmex and @DooMLoRD
    • Add custom splash logo. Thanks to @DooMLoRD for his tutorial


    Williams kernel v1 : 13.05.14
    • Initial release


    Check my github to see all the changes.




    FAQ
    Q : With what ROM can I use this kernel ?
    A : With any ROM based on Sony stock 4.3

    Q : What features will be added to next versions ?
    A : I probably don't know. If you have a feature request, please use the devdb tab for it on the top of the thread.

    Q : Your kernel isn't working / My phone isn't booting anymore
    A : Read this whole post once more, search for your problem in thread and report it if you haven't found a solution.

    Q : Can I install this kernel on locked bootloader ?
    A : No ! This kernel is only for unlocked bootloader.

    Q : Does this kernel include recovery ?
    A : Yes ! You can access by pressing volume button when the lights blink. Volume up to go to CWM and Volume down to go to TWRP or loads from FOTA partition if you have a kernel installed..

    Q : What are mpdecision and fast hotplug ?
    A : This is what manage your cpu cores and decide which core will be online. Fast hotplug is a brand new hotplug that I wrote. You can find more information there

    Q : How to control fast hotplug ?
    A : I modified Pimp my Z1 to be compatible with fast hotplug. You can use it without any problem on your Xperia SP to configure fast hotplug (Power Management menu) but it might have bugs with other functions (you can still try, I haven't had problems yet ;) ).
    You can find it there

    Q : Where does the name come from ?
    A : This kernel isn't named after someone but after a pear. We use this pear to make one of the best swiss "eau de vie" called Williamine.



    Thanks To/Credits
    Code:
    * Sony for their sources and device
    * @DooMLoRD
    * @thewadegeek for his [URL="http://xdaforums.com/showthread.php?t=1748297"]Tutorial[/URL]
    * @show-p1984 for his mpdecision
    * @dssmex
    * bbedward
    * Erasmux
    * faux123
    * Androguide.fr for Pimp my Z1
    * The xda community for making me discover android and for answering so many of my questions
    * Google for kernel sources and its search engine
    * Apple for making expensive phone so that I never bought one of theirs




    Please let me know per pm if there is any mistake or misspelled word in this thread. Automatic correction does a great job but since english isn't my motherthongue I'm pretty sure I made mistakes.

    XDA:DevDB Information
    Williams kernel - Sony, Kernel for the Sony Xperia SP

    Contributors
    pec0ra
    Source Code: https://github.com/pec0ra/williams

    Kernel Special Features:

    Version Information
    Status: Testing

    Created 2014-05-13
    Last Updated 2015-04-26
    18
    Update to v8

    New update : Williams kernel v8

    Changelog :

    • Set qcom mpdecision as default hotplug (No need to rename it anymore unless you want to use another hotplug :) )
    • Remove msm_mpdecision
    • Add fast hotplug
    • Increase 1.8GHz step frequency for better stability
    • Add FOTA recovery support (Volume down; needs testing)

    From now on, you won't need anymore to deactivate mpdecision before flashing the kernel. It is now set as the default hotplug. You only need to deactivate it when you activate another hotplug (for example if you want to try fast hotplug) but if you use the app Pimp my Z1, it will do it for you !


    About fast hotplug :

    Fast hotplug is a hotplug I wrote myself. You can find more information there


    Download :

    Recovery flashable zip :
    Sony Williams kernel v8.zip
    mirror
    16
    Update to v9.1

    New update : Williams kernel v9.1

    Changelog :

    • Reactivate cpufreq limiter


    Download :

    Recovery flashable zip :
    Sony Williams kernel v9.1.zip
    mirror
    13
    Update to v9

    New update : Williams kernel v9

    Changelog :

    • Fixed frequency table
    • Add 1944 MHz frequency step

    I have some good news ! I finally found what was causing the reboots with my kernel :)
    All the frequencies were in fact 108 MHz higher than they appeared to be. The voltages were then not high enough for the real frequency and it was causing reboots.

    Note that the 1944 MHz step might still be unstable on some phones and has the tendency to overheat your phone so be careful when playing with it ! Don't be surprised if your phone shuts down because of overheat if you are using it.

    Download :

    Recovery flashable zip :
    Sony Williams kernel v9.zip
    mirror
    12
    Update to v2.2

    Minor update : Williams kernel v2.2

    Changelog :

    • Changed illumination at splash screen
    • Fixes for compatibility with linaro GCC 4.9.1 toolchain
    • -O3 compiler optimizations
    • Use xz compression

    This build should be faster than the previous one due to the new toolchain used to compile it and some compilation optimization.

    If you want to play with your leds, take a look at the script I created. It has some easy to use functions. You can find it here. Just run it from terminal or script manager with root permission and don't hesitate to edit it and reuse it.


    Download :

    Recovery flashable zip :
    Williams kernel v2.2.zip
    mirror

    Fastboot flashable elf :
    Williams kernel v2.2.elf
    mirror