Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

Padfone 2 A68 [Kernel] Stone custom kernel for ASUS Padfone 2 - OC/UV/GPL/etc

OP lindsaytheflint

12th April 2013, 01:01 PM   |  #1  
OP Senior Member
Flag Melbourne
Thanks Meter: 126
 
175 posts
Join Date:Joined: Oct 2009
Presenting the Stone Kernel for ASUS Padfone 2 (A68), a custom kernel designed to get a little more out of the Padfone 2.

DISCLAIMER: As per all custom kernel disclaimers, while I do test this kernel on my own device, I'm not responsible for you voiding your warranty, or any damage/bricking/weirdness that may occur to your Padfone. If you're not comfortable with this, do not proceed.


v0.9
Main features:
Based on ASUS source code v10.4.16.8, compatible with Android 4.1.1 stock PadFone2 firmwares
init.d support (init.rc busybox runparts)
USB OTG Host in phone mode
UI rendered with GPU instead of CPU, making it very snappy
Lowest CPU frequency set to 162mhz
CPU frequency locked to 162mhz-1512mhz during boot
Undervolted to save power & reduce heat
Undervolt interface (compatible with System Tuner, Kernel Tuner, etc)
Additional CPU Governors: Wheatley, InteractiveX v2, MSM_DCVS
Set InteractiveX v2 CPU Governor to default instead of Performance, to lower battery consumption, maintain snappy performance, and improve CPU freq config
GPU normal freq set to 200mhz to lower battery usage (will still scale upto 266/400/533mhz when busy)
Simple IO Scheduler (SIO) added, and set as default
Increased min/max read-ahead values from 16/128 to 32/2048
USB FastCharge upto 1400mA (enable using Kernel Tuner, sysfs, etc)
Lower minimum brightness to save power
Lower voltage for display (~13% lower voltage) to save power
NTFS USB drives need USB OTG Helper software or similar - working on fixing the NTFS module
Increased file cache ratio to improve storage performance

Standard edition: CPU max 1.51ghz, GPU max 400mhz
Overclock edition: CPU max 1.72ghz, GPU max 533mhz, low voltages
Powersaver edition: CPU max 1.35ghz, GPU max 266mhz, low voltages


Minor tweaks:
Replace Wifi modules with AOSP versions (needed due to the way the stock modules were compiled by ASUS)
Disabled swap
Disabled "Compile the kernel with debug info"
Disabled Debug memory initialisation
Disabled Magic SysRq key
NTFS in kernel (instead of module)
FAT support
Improved CPU multi-core frequency limiting

GitHub: https://github.com/lindsaytheflint/stone


Download:
Stock kernel 10.4.12.24: https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stock kernel 10.4.15.1: https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stock kernel 10.4.16.8: https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.1 "Dual": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.1 "Quad": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.2 "Standard voltage": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.2 "Low voltage": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.3 "OC": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.3 "STD": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.4 "OC": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.4 "STD": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.6 "OC": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.6 "STD": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.7 "OC": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.7 "STD": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.8 "STD": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.8 "OC": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.8 "PS": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.9 "STD": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.9 "OC": https://docs.google.com/file/d/0ByOi...it?usp=sharing
Stone kernel v0.9 "PS": https://docs.google.com/file/d/0ByOi...it?usp=sharing

Installation:
1. Copy StoneK_A68_v0.9_OC.zip or StoneK_A68_v0.9_STD.zip to /sdcard/ via USB.
2. Copy StockKern_A68_10.4.16.8.zip to /sdcard/ via USB, in case you have trouble booting, and need to uninstall.
3. Boot into TWRP or CWM Recovery.
4. Perform backup of at least your "Boot" partition.
5. Install zip from step 1.
6. Reboot.

Uninstallation:
1. Copy StockKern_A68_10.4.16.8.zip to /sdcard/ via USB.
2. Boot into TWRP or CWM Recovery.
3. Install zip from step 1.
4. Reboot.
Last edited by lindsaytheflint; 19th August 2013 at 12:38 PM. Reason: Update - v0.9
The Following 25 Users Say Thank You to lindsaytheflint For This Useful Post: [ View ]
12th April 2013, 01:02 PM   |  #2  
OP Senior Member
Flag Melbourne
Thanks Meter: 126
 
175 posts
Join Date:Joined: Oct 2009
ChangeLog
ToDo:
Possibly faster CPU & GPU overclocking, pending successful testing
GPU undervolt
GPU freq sysfs interface
WiFi undervolt
Enable additional audio codecs: WMA, AAC, etc
BLN?

v0.9 - 2013/08/19
Raised voltage slightly for display, to increase compatibility with other's phones, and prevent flickering
Increase storage read-ahead from 1024kb to 2048kb
Increased file cache ratio to improve storage performance

v0.8 - 2013/07/29
Lower minimum brightness to save power
Lower voltage for display (~16% lower voltage) to save power
CPU lowest freq set to 162mhz (from 192mhz)
GPU idle frequency set to 200mhz (from 128mhz)
Fixed USB OTG for both phone & pad
NTFS USB drives need USB OTG Helper software or similar - working on fixing the NTFS module
Disabled MPDecision?
OC edition: GPU max freq set to 533mhz (from 487mhz)
New edition: Power Saver - lower CPU & GPU limits, useful when travelling


v0.7 - 2013/06/14
Built from 10.4.16.8 ASUS source code
Fixed camera
Removed Faux123 MSM CPUFreq_limit to improve multi-core freq limiting
Modified CPU freq limits so that cores 2-4 will never exceed core 1 frequency

v0.6 - 2013/06/05
Disabled Android Low Memory Killer (2GB RAM is quite a bit, and the perf cost of relaunching processes is annoying)
Enabled USB OTG Host in phone mode
Minor voltage tweaks
Added MSM_DCVS Governor
Added Faux123 MSM CPUFreq_limit to improve multi-core freq limiting
UI rendered with GPU instead of CPU, making it very snappy
Minor init.rc/build.prop tweaks

v0.5 - 2013/05/18
Enabled init.d support (init.rc busybox runparts)

v0.4 - 2013/05/13
Lowered InteractiveX default boost freq from 1512000 to 1350000
Increased USB Fast Charge limit from 1000mA to 1400mA
Fixed LCD backlight during calls
Reverted from GCC 4.7 to GCC 4.6 so ASUS modules load ok

v0.3 - 2013/05/07
Based on ASUS source code v10.4.15.1
Two versions - OC & Standard
Switched compiler from GCC 4.6 to 4.7
Further voltage tweaking
Fixed CPU throttling
Added InteractiveX v2 Governor - very good for properly setting CPU freqs across all cores
Set default Governor to InteractiveX v2
GPU overclock to 487mhz - working
GPU normal freq set to 128mhz to lower battery usage (will still scale upto 487mhz when busy)
Simple IO Scheduler (SIO) added, and set as default
Increased min/max read-ahead values from 16/128 to 32/1024
USB FastCharge (enable using Kernel Tuner, etc) - working
Removed Sysctl syscall support
Removed software controlled Adaptive Voltage Scaling (AVS)
Removed adaptive voltage scaling (AVS)
Removed Generic Dynamic Voltage and Frequency Scaling (DVFS) support
Removed CPU frequency translation statistics details
Reduced max CPU voltage back to 1.30v
Re-enabled "Monitor thermal state and limit CPU Frequency"

v0.2
Removed dual/quad versions - quad-core is running stably for me with revised voltages
Added standard/low voltage versions, for anyone having trouble booting, please try the standard version
Lowest CPU frequency set to 192mhz
Android Logger re-enabled temporarily, for USB FastCharge troubleshooting
CONFIG_SCHED_MC=n (not needed with HotPlugging CPU)
CONFIG_SCHED_SMT=n (not needed)
Disabled "Monitor thermal state and limit CPU Frequency"
Increased max CPU voltage from 1.30v to 1.45v (always monitor your temperature when increasing the voltage/frequency!!)
Further tuned CPU voltages
Added Wheatley Governor, and set to default
Disabled "Use MSM_DCVS for CPU/GPU frequency control"
GPU overclock to 487mhz - not verified yet - I think some kind of ASUS lock may still be preventing this
USB FastCharge (can be turned on with Kernel Tuner etc) - not verified yet - I think some kind of ASUS lock may still be preventing this
Last edited by lindsaytheflint; 19th August 2013 at 12:29 PM. Reason: v0.9
The Following 3 Users Say Thank You to lindsaytheflint For This Useful Post: [ View ]
12th April 2013, 01:02 PM   |  #3  
OP Senior Member
Flag Melbourne
Thanks Meter: 126
 
175 posts
Join Date:Joined: Oct 2009
FAQ
Q. My phone is running hot!
A. This is usually related to the voltage being too high. Try lower voltage, and try to determine which frequencies are running hot for you. You may need to also restrict your max CPU frequency with SetCPU, System Tuner, Kernel Tuner, etc, if the frequency won't run stably on your phone.

Q. CPU-intensive apps (particularly games) terminate abnormally after a bit of use.
A. This usually means the voltage is a little too low for that frequency. Try to raise the voltage (only 12.5mv at a time) until you find a stable voltage, and let the rest of us know what value is best for you.

Q. My phone won't even boot with this kernel.
A. Sounds like the voltages are too low for you. Try the "STD" version, which uses voltages only slightly lesser than stock.

Q. I want GPU overclocking, but I don't want CPU overclocking.
A. Use the "OC" version, and use SetCPU, System Tuner, Kernel Tuner, etc, to set the max CPU freq you want.

Q. Proximity sensor doesn't work during a call
A. Fixed in version 0.4
Last edited by lindsaytheflint; 13th May 2013 at 01:14 PM. Reason: Update
12th April 2013, 02:15 PM   |  #4  
Senior Member
Thanks Meter: 211
 
247 posts
Join Date:Joined: Feb 2010
Donate to Me
More
How stable is it?
And also, if I read/understood the "main features" right, you limited the CPU to only use 2 cores instead of 4?
I read that you did it for more stability when overclocked, but if this only uses 2 cores out of it's 4, I will be very hesitant to flashing it...

Either way though, this is great progress! We are finally getting a handfull of developers for the Padfone 2! Hopefully we can get Cyanogenmod ported soon aswell!

Great job!
12th April 2013, 02:41 PM   |  #5  
OP Senior Member
Flag Melbourne
Thanks Meter: 126
 
175 posts
Join Date:Joined: Oct 2009
Quote:
Originally Posted by Lidenburg

How stable is it?
And also, if I read/understood the "main features" right, you limited the CPU to only use 2 cores instead of 4?
I read that you did it for more stability when overclocked, but if this only uses 2 cores out of it's 4, I will be very hesitant to flashing it...

Either way though, this is great progress! We are finally getting a handfull of developers for the Padfone 2! Hopefully we can get Cyanogenmod ported soon aswell!

Great job!

I've been using it for a few weeks, and when I had 4 cores enabled, I found it a bit unstable. With 2 cores enabled only, it flies along due to the higher frequency, and is rock-solid.

Unless you're using the MSM_DCVS Governor (which isn't default even on stock kernel), not all the cores are used except for under high load. Using Interactive, Performance, and other Governors, it usually keeps 3 cores off, and just powers the second one up when doing things. Only when running very CPU-intensive tasks will all 4 cores be used, and the phone will run very hot. If using the MSM_DCVS Governor, it'll continually lower the CPU frequency anyway. These factors are why I've limited the CPU cores - the end-result is a faster, cooler, and less power-hungry kernel.

Nevertheless, I'll upload another one in the next couple of days with all 4 cores enabled, so people can test it out.
12th April 2013, 03:02 PM   |  #6  
Senior Member
Flag Helsinki
Thanks Meter: 238
 
351 posts
Join Date:Joined: Mar 2013
Donate to Me
More
First of all nice work here ! Good to see people progressing. As im still bit of a noob and my question maybe quite noobish.

I have NOS installed on my padfone 2 atm and its working flawlessly. Just before I try this I wanted to ask you if this will some way interfere with NOS ?

I would happily be our test monkey if needed

One more time,
Thank you !
12th April 2013, 04:17 PM   |  #7  
Member
Thanks Meter: 23
 
44 posts
Join Date:Joined: May 2012
Hey first of all this is very nice that you develop kernel to padfone and its nice to see some progress , but i would like that if you make the kernel with 4 cores and little bit smaller clocks ex 1.5 or 1.6 and if you set low freg to somewhere near 100mhz. That would be nice to see (:


Sent from my PadFone 2 using xda app-developers app
12th April 2013, 04:27 PM   |  #8  
Madcow29's Avatar
Senior Member
Macau
Thanks Meter: 35
 
131 posts
Join Date:Joined: Jan 2009
More
Great work! We finally have our first custom kernel
13th April 2013, 12:59 AM   |  #9  
[zozi]'s Avatar
Senior Member
Flag Porto
Thanks Meter: 79
 
685 posts
Join Date:Joined: Jul 2007
More
Great work... I will test soon as possible

Sent from my PadFone 2 using xda app-developers app
13th April 2013, 01:17 AM   |  #10  
OP Senior Member
Flag Melbourne
Thanks Meter: 126
 
175 posts
Join Date:Joined: Oct 2009
Quad core
I've recompiled the kernel with all 4 cores enabled, and will update after I've done some stress testing. (I won't upload it if it's not stable for me.)

When I tested it a few weeks ago, quad core was too hot, but I've tweaked the voltages quite a bit since then, so hopefully it'll be upload-worthy.

The Following User Says Thank You to lindsaytheflint For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes