CTCaer Kernel ICS version v2.8.2
*Light. Fast. Triple Buffering. More Total Ram. Entropy*
Updated: 8 September 2013
Features:
Based on Lupus kernel .587/.13 sources
Compiled with Linaro 4.7.3
CWM by DoomLord
Works with stock wifi modules
Overclock to safe 1.4 GHz with Qualcomm's frequencies for less battery drain (max is 1.6Ghz)
Deep undervolting with aire's values
15MB more total ram
Triple Buffering like jellybean
Auto rooting with latest superuser 3.2 binaries
Init.d support (fixed double triggering, even when using install-recovery.sh method)
Dual Recovery. TWRP (volume keys), CWM (power key)
Kernel/Memory Optimizations:
UKSM (saves 20-65mb ram)
Optimised Low Memory Killer
Random Entropy generator fixes and tweaks
frandom + replaced random/urandom with frandom/erandom
Compaction for LMK
Better Memcopy/Memove
Tiny RCU for smaller memory footprint
CPU group schedulling
Cleancache
Better pmem
Kernel Samepage Merging (Can't be used in the end)
Optimized and faster Swap and Zram
Thumbee support
ARMv7a optimizations
lowered vfs cache pressure
Optimized cpufreq/governors
And more tweaks for a smoother and faster Kernel
Script to clean unused ramdisk files after boot, to free up ram (9mb)
File systems:
ntfs, ext2/3/4, filesystems support
jbd2 journaling for ext fs
CIFS, FUSE and Usb OTG Storage
512KB SD read ahead (faster reads without hogging the cpu and ram)
sd-ext support
Other:
Updated LZO
2 way call recording
Google's Snappy Compression and Decompression
Better WiFi range and enabled channel 14
0% battery patch by Bazoocaze
Working ADB and usb in Recovery, plus rooted shell
Usb network tethering
Key reset
Governor Schedulers :
Ondemandx
Performance
SmartassV2 (tweaked+fixed scheduling) [Default]
Superbad (tweaked)
lulzactiveV2
Badass
IO Schedulers :
Noop
SIO [Default]
ROW (experimental)
BFQ
CFQ
deadline
For more, check changelogs from post 2.
Info about some mods:
Thanks:
wedgess for his great Lupus kernel sources.
aire and vdsirotkin for their great kernels that i used for many months at both GB and ICS.
DooMLoRD Well you all know why
thomas1991_12 and championswimmer for help and twrp binary accordingly
And to all Freexperia Project members for their great patches and fixes to our phones.
Changelogs
Click the link to view the changelogs or go directly to post 2
DISCLAIMER for sharing outside xda:
It got to my attention that the kernel is shared in many boards outside xda
and especially in many Asian ones. It's fine to make a complete copy of OP and changelog,
I don't mind, but you have to provide a link to this thread.
Also, the most important, please use my links for kernel binaries. If you don't do this, I can't see usage stats of my kernel.
That's why I use mediafire. It's fast, supports multiple connections, no wait time and is usable in every country.
Downloads and Sources:
Main Version:
CTCaer Kernel v2.8 1.4GHz + UV
or
CTCaer Kernel 2.8.2 UKSM special version
The special version may not work for you, cause of lower voltages. After 20 sept, i'll do proper releases.
Vdd Version:
DISCLAIMER: I will not provide help on reboots and bootloops on 1.6GHz + VDD control version.
It's here for people that need 1.6ghz and voltage control only. Default speed is 1.0Ghz.
CTCaer Kernel v2.8 1.6GHz + VDD control
If you want to use usb storage, ntfs and more you can flash these modules (if not, they are optional):
Modules for CIFS, NTFS, FUSE and USB Storage v2 ** Updated **
The updated modules bring: Updated cifs,fuse,ntfs,usb-storage and adds nls_utf8 for Unicode support, plus oprofile for people that want debugging.
CTCaer Kernel needs stock wifi modules. If you changed them, flash this:
Stock .13 WiFi modules
If you came from a kernel that you had to flash custom modules, use the flash zip above to have the stock ones again.
Some kernels, like Lupus, change the modules on their own, by just flashing the kernel and powering on the phone.
The original with Lupus are moved in /system/lib/modules.old.
Info for going back from Lupus
Many thanks @arcatarc for providing the flashable update zip.
Old Versions:
CTCaer Kernel v2.7 1.4GHz + UV
CTCaer Kernel v2.7 1.6GHz + VDD control
CTCaer Kernel v2.6 1.4GHz + UV
CTCaer Kernel v2.6 1.6GHz + VDD control
CTCaer Kernel v2.52
CTCaer Kernel v2.51
CTCaer Kernel v2.5
CTCaer Kernel v2
CTCaer Kernel v0.8a
Modules for CIFS, NTFS, FUSE and USB Storage v1
And as per GPL here are the forked sources:
https://github.com/CTCaer/CTCaer-ICS-Xperia2011
For v2.7,2.8 check v2.8 branch, because currently, I don't have time to push commits one by one.
For compiling, I used Linaro 4.7.3 and ctcaer_urushi_defconfig (1.4GHz+UV) and ctcaerVDD_urushi_defconfig (1.6GHz+Vdd)
If you liked my kernel click THANKS!
*Light. Fast. Triple Buffering. More Total Ram. Entropy*
Updated: 8 September 2013
Features:
Based on Lupus kernel .587/.13 sources
Compiled with Linaro 4.7.3
CWM by DoomLord
Works with stock wifi modules
Overclock to safe 1.4 GHz with Qualcomm's frequencies for less battery drain (max is 1.6Ghz)
Deep undervolting with aire's values
15MB more total ram
Triple Buffering like jellybean
Init.d support (fixed double triggering, even when using install-recovery.sh method)
Dual Recovery. TWRP (volume keys), CWM (power key)
Kernel/Memory Optimizations:
UKSM (saves 20-65mb ram)
Optimised Low Memory Killer
Random Entropy generator fixes and tweaks
frandom + replaced random/urandom with frandom/erandom
Compaction for LMK
Better Memcopy/Memove
Tiny RCU for smaller memory footprint
CPU group schedulling
Cleancache
Better pmem
Optimized and faster Swap and Zram
Thumbee support
ARMv7a optimizations
lowered vfs cache pressure
Optimized cpufreq/governors
And more tweaks for a smoother and faster Kernel
Script to clean unused ramdisk files after boot, to free up ram (9mb)
File systems:
ntfs, ext2/3/4, filesystems support
jbd2 journaling for ext fs
CIFS, FUSE and Usb OTG Storage
512KB SD read ahead (faster reads without hogging the cpu and ram)
sd-ext support
Other:
Updated LZO
2 way call recording
Google's Snappy Compression and Decompression
Better WiFi range and enabled channel 14
0% battery patch by Bazoocaze
Working ADB and usb in Recovery, plus rooted shell
Usb network tethering
Key reset
Governor Schedulers :
Ondemandx
Performance
SmartassV2 (tweaked+fixed scheduling) [Default]
Superbad (tweaked)
lulzactiveV2
Badass
IO Schedulers :
Noop
SIO [Default]
ROW (experimental)
BFQ
CFQ
deadline
For more, check changelogs from post 2.
Info about some mods:
1.4Ghz Overclock + UV. Kept Qualcomm's frequencies table as proved to have less battery drain for some reason.
The undervoltaging is max -50mV on most frequencies, as to avoid error corrections from low voltage (errors in calculations increases drain a lot) and also to avoid cpu halts.Needs further investigating for lower values.
Now using aire's values, the best for battery for over a year.
11mb ram freed from camera and adsp pmem. This came from many tests that showed that when taking 8mp pictures, 720p video (w/ or w/o stabilizer), playing 720p video with hw decoding and hw audio decoding audio, the used pmem was max 42MB for camera pmem and 6MB for adsp. Can be freed 7-8Mb more but didnt do it for stability reasons under multimedia multitasking.
That also shows us that the stabilizer lag in camera doesn't come from the pmems. I'll try to check the camera sources and see if it's driver related.
If you find anything strange with anything that use the camera or the DSP tell me and please provide logcat logs.
Triple Buffering. At last some JB goodies to us using stock. This gives great UI and game Frame rates (tested). It uses the normal mode (as we don't have the vsync sync pulse like JB, which also auto disables it when not needed), and that means that it doesn't introduces slight lag to input. In games if you see something strange though please reply in this thread.
Random Entropy Generator. Fixes and tweaks to random generator. And also to binfmt_elf, no more entropy depletion through using shell, scripts and generally any binary. Say no to blocking random, and enjoy a smoother UI.
Now with frandom for 50x more performance.
Governors/IO scheds. No bloating here. Kept only the best for battery and performance.
The default ones are the highly optimized. If you have some tweaks for all schedulers that will increase battery and performance (always in balance), don't hesitate to tell me.
Key reset. You can reboot your phone when kernel halts or something brought your phone to its knees by pressing
Power + Home for 5s. Don't do it just for restarting it fast! This does not good to your filesystem because they can't sync,
so you can lose changes made the last seconds. Also after initiating it you don't have to press both buttons for the remaining 4s.
In 2.8 the combination is Power + Home + Volume Up for 5s.
Twrp and Cwm differences. TWRP and CWM are both recovery apps but use different apis.
CWM use nandroid backup and TWRP uses it's own.
CWM uses and old recovery API (v2) and TWRP use the newest recovery API 3
That means that you can't use a backup made with cwm in twrp, and vice versa.
In TWRP, some flashable zip will not work, until they have a newer update-binary (that supports API 3).
(That's the one provided by Team Win: update-binary-3)
If you want other info, again write here. And last but not least the kernel version number 0.8a doesn't mean that's beta. The kernel right now is highly optimized and working. The version just means that I'll try many things more to make our phone better.
The undervoltaging is max -50mV on most frequencies, as to avoid error corrections from low voltage (errors in calculations increases drain a lot) and also to avoid cpu halts.
Now using aire's values, the best for battery for over a year.
11mb ram freed from camera and adsp pmem. This came from many tests that showed that when taking 8mp pictures, 720p video (w/ or w/o stabilizer), playing 720p video with hw decoding and hw audio decoding audio, the used pmem was max 42MB for camera pmem and 6MB for adsp. Can be freed 7-8Mb more but didnt do it for stability reasons under multimedia multitasking.
That also shows us that the stabilizer lag in camera doesn't come from the pmems. I'll try to check the camera sources and see if it's driver related.
If you find anything strange with anything that use the camera or the DSP tell me and please provide logcat logs.
Triple Buffering. At last some JB goodies to us using stock. This gives great UI and game Frame rates (tested). It uses the normal mode (as we don't have the vsync sync pulse like JB, which also auto disables it when not needed), and that means that it doesn't introduces slight lag to input. In games if you see something strange though please reply in this thread.
Random Entropy Generator. Fixes and tweaks to random generator. And also to binfmt_elf, no more entropy depletion through using shell, scripts and generally any binary. Say no to blocking random, and enjoy a smoother UI.
Now with frandom for 50x more performance.
Governors/IO scheds. No bloating here. Kept only the best for battery and performance.
The default ones are the highly optimized. If you have some tweaks for all schedulers that will increase battery and performance (always in balance), don't hesitate to tell me.
Key reset. You can reboot your phone when kernel halts or something brought your phone to its knees by pressing
Power + Home for 5s. Don't do it just for restarting it fast! This does not good to your filesystem because they can't sync,
so you can lose changes made the last seconds. Also after initiating it you don't have to press both buttons for the remaining 4s.
In 2.8 the combination is Power + Home + Volume Up for 5s.
Twrp and Cwm differences. TWRP and CWM are both recovery apps but use different apis.
CWM use nandroid backup and TWRP uses it's own.
CWM uses and old recovery API (v2) and TWRP use the newest recovery API 3
That means that you can't use a backup made with cwm in twrp, and vice versa.
In TWRP, some flashable zip will not work, until they have a newer update-binary (that supports API 3).
(That's the one provided by Team Win: update-binary-3)
If you want other info, again write here. And last but not least the kernel version number 0.8a doesn't mean that's beta. The kernel right now is highly optimized and working. The version just means that I'll try many things more to make our phone better.
Thanks:
wedgess for his great Lupus kernel sources.
aire and vdsirotkin for their great kernels that i used for many months at both GB and ICS.
DooMLoRD Well you all know why
thomas1991_12 and championswimmer for help and twrp binary accordingly
And to all Freexperia Project members for their great patches and fixes to our phones.
Changelogs
Click the link to view the changelogs or go directly to post 2
DISCLAIMER for sharing outside xda:
It got to my attention that the kernel is shared in many boards outside xda
and especially in many Asian ones. It's fine to make a complete copy of OP and changelog,
I don't mind, but you have to provide a link to this thread.
Also, the most important, please use my links for kernel binaries. If you don't do this, I can't see usage stats of my kernel.
That's why I use mediafire. It's fast, supports multiple connections, no wait time and is usable in every country.
Downloads and Sources:
Main Version:
CTCaer Kernel v2.8 1.4GHz + UV
or
CTCaer Kernel 2.8.2 UKSM special version
The special version may not work for you, cause of lower voltages. After 20 sept, i'll do proper releases.
Vdd Version:
DISCLAIMER: I will not provide help on reboots and bootloops on 1.6GHz + VDD control version.
It's here for people that need 1.6ghz and voltage control only. Default speed is 1.0Ghz.
CTCaer Kernel v2.8 1.6GHz + VDD control
If you want to use usb storage, ntfs and more you can flash these modules (if not, they are optional):
Modules for CIFS, NTFS, FUSE and USB Storage v2 ** Updated **
The updated modules bring: Updated cifs,fuse,ntfs,usb-storage and adds nls_utf8 for Unicode support, plus oprofile for people that want debugging.
CTCaer Kernel needs stock wifi modules. If you changed them, flash this:
Stock .13 WiFi modules
If you came from a kernel that you had to flash custom modules, use the flash zip above to have the stock ones again.
Some kernels, like Lupus, change the modules on their own, by just flashing the kernel and powering on the phone.
The original with Lupus are moved in /system/lib/modules.old.
Info for going back from Lupus
Many thanks @arcatarc for providing the flashable update zip.
Old Versions:
CTCaer Kernel v2.7 1.4GHz + UV
CTCaer Kernel v2.7 1.6GHz + VDD control
CTCaer Kernel v2.6 1.4GHz + UV
CTCaer Kernel v2.6 1.6GHz + VDD control
CTCaer Kernel v2.52
CTCaer Kernel v2.51
CTCaer Kernel v2.5
CTCaer Kernel v2
CTCaer Kernel v0.8a
Modules for CIFS, NTFS, FUSE and USB Storage v1
And as per GPL here are the forked sources:
https://github.com/CTCaer/CTCaer-ICS-Xperia2011
For v2.7,2.8 check v2.8 branch, because currently, I don't have time to push commits one by one.
For compiling, I used Linaro 4.7.3 and ctcaer_urushi_defconfig (1.4GHz+UV) and ctcaerVDD_urushi_defconfig (1.6GHz+Vdd)
If you liked my kernel click THANKS!
Last edited: