K^Kernel 3.4.x
for JB 4.2.2 (CM 10.1)
for JB 4.2.2 (CM 10.1)
In this thread you may find my customized kernel 3.4.x for JB 4.2.2 rom (CM10.1 and derivatives).
Of course, your feedback, as always, are welcome and certainly valuable.
The main features are the following:
- Kernel 3.4.x
- Sources synched with cm-10.1 repos of Arco68 and DevCon Team
- Built with my custom Linaro 4.7.4-2013.05 toolchain optimized for Cortex-A8
- Built with Cortex-A8 and NEON VFP optimization flags (both kernel and modules)
- Built with -O3 optimization flag (both kernel and modules)
- CPU overclockable up to 1824 MHz
- CPU frequencies undervolted (UV version) or extremely undervolted (EXUV version)
- CPU voltage control VDD sys interface (click for more details)
- 360MB, 370MB or 390MB of free RAM
- Init.d support
- Fast Charge support (default disabled, click for more details)
- Battery Life eXtender support (default disabled, click for more details)
- Ram Console support (click for more details)
- Backlight Notification v9 (BLNv9) (click for more details)
- USB OTG support (if also implemented on rom side)
- Customizable vibration intensity (click for more details)
- Lowered display panel voltage
- Lowered touchscreen voltage
- Lowered wifi voltage
- Lowered swappiness (60 -> 45)
- Increased CPU frequency during boot
- Optimized AES and SHA1 routines for ARM cpu architecture
- Fixed 100% battery notification after charger unplug
- Increased audio volume on board side
- Multi Broadcom wifi drivers support
- Optimized SLUB memory allocator
- Optimized ARM RWSEM (read/write semaphore) algorithm
- Optimized asynchronous I/O latency on solid state disks
- Disabled Gentle Fair Sleepers for better UI performance
- Filesystem dynamic read-ahead (based on disk size)
- Fast Random generator (frandom) support (click for more details)
- New display drivers from Samsung Galaxy SII
- Updated light sensor driver and display driver light sensor changes
- Phantom key presses filter (new module developed by me, click for more details)
- Dynamic FSync v1.2 (click for more details)
- Dynamic dirty page writebacks (click for more details)
- VM tweaks for performance and less battery consumption
- Revised LowMemoryKiller parameters for better performance
Available CPU governors:
- Adaptive
- BrazilianWax
- Conservative
- Hyper
- Intellidemand
- Interactive
- InteractiveX
- LionHeart
- LulzActive
- OnDemand (default)
- OnDemandX
- Performance
- Powersave
- SmartAssV2
Available I/O schedulers:
- BFQ
- CFQ
- Deadline
- Fiops
- Noop
- ROW (default)
- SIO
- V(R)
Kernel Downloads for JB 4.2.2:
Howto install the kernel:
1) Download the preferred kernel zip file to sdcard or external sdcard
2) Reboot to recovery mode
3) Flash the kernel zip file
4) Wipe cache and dalvik cache
5) Fix permissions
6) Reboot the system
Kernel sources (on GitHub):
Rom and kernel 3.4.x known problems:
- For the builds with 390MB of free RAM, the camera works and the video recording works only in 480p mode
- Possibile graphical glitches in camera preview
Tables:
Changelog:
Code:
09/06/2013 - K^Kernel 3.4 v1.1 for JB 4.2.2
- Revert "Squashed update of kernel from 3.4.47 to 3.4.48"
- Revert "ashmem: avoid deadlock between read and mmap calls"
08/06/2013 - K^Kernel 3.4 v1.0 for JB 4.2.2
- Kernel 3.4.48
- Sources synched with cm-10.1 repos of Arco68 and DevCon Team
- Built with my latest custom Linaro 4.7.4-2013.05 toolchain optimized for Cortex-A8
- Compilation flags optimized for ARM Cortex-A8 cpu and Neon vfp
- Overclocking and undervolting support
- Increased cpu frequency on boot
- High memory configurations (360MB, 370MB and 390MB of free RAM)
- Increased audio volume on board side
- Lowered WIFI voltage
- Lowered display panel voltage
- Lowered Atmel QT602240 touchscreen voltage
- Lowered Vibetonz voltage
- Added Fiops, SIO, V(R) I/O schedulers (credits and thanks to Shaoua Li, Miguel Boton and Aaron Carroll)
- Added InteractiveX, OnDemandX, Lionheart, SmartAssV2, Lulzactive, Adaptive, Hyper,
BrazilianWax and Intellidemand CPU governors (credits and thanks to Imoseyon, ErasmuX, Tegrak, Faux123)
- Fast Random generator support (frandom)
- CPU Voltage Control (VDD sysfs interface)
- Asynchronous I/O latency to a solid-state disk greatly increased (credits and thanks to Dave Kleikamp)
- Lowered swappiness 60->45
- Optimized SLUB memory allocator
- Filesystem dynamic read-ahead (credits and thanks to Chad Gooldman)
- Battery Life eXtender (BLX) version 1 (credits and thanks to Ezeekel, adapted by me for I9001)
- 100% battery notification after charger unplug
- Optimized ARM RWSEM algorithm and other RWSEM updates and optimizations from 3.10 kernel
- Disabled Gentle Fair Sleepers for better UI performance
- Optimized string and memcopy libs (credits and thanks to Miao Xie)
- Dynamic Fsync (credits and thanks to Faux123)
- Dynamic dirty page writebacks
- Phantom key presses filter module
- VM tweaks for performance and less battery consumption
- Revised LowMemoryKiller parameters for better performance
Benchmarks:
Benchmark run by chocotermi with K^Kernel v1.1 OC/EXUV 370MB on JB-4.2.2 Ehndroix III 13.05.31
using 245MHz-1804MHz cpu frequencies, SmartAssV2 cpu governor and ROW I/O scheduler
Credits and Thanks to:
Arco68, CastagnaIT and Ivendor for their awesome work and their kernel sources
Doomsday94, Hadidjapri, Diablo555, Ezekeel, Doomlord, Faux123, Stratosk, Tegrak, ErasmuX, Imoseyon and other devs I'm surely missing
CyanogenMod developers
Linaro GCC developers
KTulu84, TwinHeadedEagle and Dellup for their support in testing