[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

pec0ra

Senior Member
Jan 29, 2012
840
1,123
133
Zürich
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
Recovery flashable zip :
Sony Williams kernel v9.1.zip
mirror

Kernel Source :
Github

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://forum.xda-developers.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:

Dragonkind

Senior Member
Aug 4, 2012
702
348
93
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
840
1,123
133
Zürich
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://forum.xda-developers.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
0
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
58
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
48
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
0
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
840
1,123
133
Zürich
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
48
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
840
1,123
133
Zürich
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
48
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
840
1,123
133
Zürich
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
48
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