Hi and welcome to fancy kernel. My name is Boy Petersen and I'm building this kernel with the following three main goals: good battery life, reliability and a smooth and snappy user experience.
Feature list:
- Based upon:
- latest AOSP/CM11 kernel source
- selected Cyanogenmod patches
- Latest Linux 3.0 version (3.0.101)
- selected patches from the device's chipset vendor Texas Instruments
- selected patches from Google
- selected backport-patches from Linux 3.4
- CPU:
- CPU frequencies: 224, 384, 537, 729, 1036, 1228, 1344, 1420, 1536 MHz (default on boot: 224 - 1228)
- control to set a minimum CPU frequency for screen-on (default: 384 MHz)
- Will help with smoothness and responsiveness when you use the phone. When screen is off, however, 224 MHz frequency is used as well.
- CPU governors: ondemandplus (more info), interactive (default), ondemand, powersave, performance
- ondemandplus is an ondemand- and interactive-based governor that has additional power-saving capabilities while maintaining very snappy performance.
- ARM CPU topology: multi-core scheduling (enabled by default; saves battery by scheduling load among the CPU cores; more info)
- temperature control
- GPU & Display:
- GPU frequency control: 307, 384 (default), 512 MHz
- color, contrast and gamma contols
- sane and natural looking color settings
- I/O & memory:
- F2FS support
- ASRAM memory reclaim, giving you 744mb available RAM with a fully functional device
- I/O schedulers: SIOplus (default), deadline, noop, row, bfqv5, cfq
- updated HSMMC & OMAP4 NAND drivers (improve disk performance)
- tuned LPDDR RAM timings (+10% throughput; more info)
- optimized ext4 mountings
- Android 3.4 low memory killer
- ultra kernel samepage merging (UKSM; enabled by default)
- fsync toggle
- zRAM from 3.7 kernel (with fast LZ4 compression)
- improved memory handling routines (memset, memzero, ...)
- switch to disable the MMC CRC checking (more info)
- Network:
- TCP congestion control algorithms: westwood (default), cubic, reno
- DTIM skip override (what it is and how it works)
- Misc:
- custom voltage control
- timer slack feature (what does it do?)
- fast charge
- vibration strength control
- sound control (high performance sound, volume boost)
- battery life extender (BLX)
- various performance and battery life tweaks
- init.d support (no matter if the ROM supports it or not)
- elevated systemui priority
- module support (for slide2wake / PGM, e.g.)
- more things... go check the source if you're interested.
- compiled with Google GCC 4.7 toolchain (from Android NDK r9)
- optional anykernel2 package by osm0sis for Android 4.3 and 4.2 compatibilty
Download links:
Major release for Android 4.2/4.3/4.4 (latest version: r60)
- Release post: click here
- IMPORTANT: Please read this post to find out which of the two files (fixed RAMdisk or anykernel2) you need!
- Android 4.4 (fixed RAMdisk) Mirror #1: boypetersen.de
- Android 4.4 (fixed RAMdisk) Mirror #2: mediafire.com
- md5sum: 6b97f24357137d91768ad8c4d245e894
- Android 4.2 / 4.3 / 4.4 (anykernel2) Mirror #1: boypetersen.de
- Android 4.2 / 4.3 / 4.4 (anykernel2) Mirror #2: mediafire.com
- md5sum: 0927620e85648bb98f910ac95e9bc74b
Older versions
__________________________________________________
Notes:
- Compatible to:
- all Galaxy Nexus devices (maguro, toro, toroplus)
- all Android 4.2, 4.3, 4.4 based ROMs
- both EXT4 and F2FS filesystems
- Installation:
- Flash the provided zip file with TWRP or CWM. If you're in doubt which file (fixed RAMdisk or anykernel2) is the right one for you, read this post
- Having problems? Please give informative feedback, so that I or other users can understand what exactly is wrong and under which circumstances.
Changelog:
r59 >> r60
- cpufreq: ondemandplus: adaptive timer_rate improvements (fixed some code of which I long knew it wasn't that good. The governor feels a little more responsive now)
- tuna: very slightly relax ram timings (few users reported some instabilities which have been fixed by this)
- reenable HDMI mirroring on GNexus portrait dock
- ramdisk: replace new charger binary with previous one (-> charging percentage display works again)
- ramdisk: retry moving systemui to parent task group 10 times (may help with the issue it stays in the "apps" group, as someone reported)
Click for full change log
Knowledge-base:
- Most settings can be controlled with kernel settings apps. Trickster MOD fully supports fancy kernel. With it you can control:
- CPU min frequency
- CPU max frequency
- CPU max screen-off frequency
- CPU min screen-on frequency
- GPU frequency
- CPU governor
- CPU governor tunables
- I/O scheduler
- read-ahead buffer
- TCP congestion algorithm
- CPU multi-core scheduling
- fast charge
- sound control
- battery life extender
- fsync
- vibration strength
- custom voltage
- temperature control
- color, contrast, gamma, content-adaptive brightness
- zRAM
Chit-chat:
- What ROM / computer OS am I running?
- People ask me this sometimes. On my Galaxy Nexus, I'm running Cyanogenmod 11 Nightlies and obviously Fancy Kernel. On my home PC (my Android build environment), I'm running Ubuntu 13.10.
- Why did I name it 'fancy kernel'?
- Because I do not want to use some random fancy name, but somehow have to give the kernel a name that is easily remembered. So after some self-irony involvement, I picked this ****ty name :>
- What is so special about this kernel?
- It offers superb battery life with a smooth and stable user experience. I am aware that all kernels claim that. Just try, see for yourself and report back. Innovations of this kernel are e.g. the screen-on min frequency setting, the ondemandplus governor and the SIOplus scheduler, since I implemented them myself. Also, I wanted many other improvements that exist across the several great kernels around XDA. After all, this kernel is based on other people's work for like 95 percent (like most kernels are).
- Why did I build this Kernel initially?
- Well that's rather easily answered. I used to use Franco kernel (which I really liked), but I wanted a kernel for myself which fits exactly to my needs. In particular, I especially wanted working hotplug, GPU OC controls, the option to set a minimum screen-on frequency and several hardcoded settings.
Oh, and yes: I built the kernel because I had fun doing so. But be not mistaken that I am a 'playaround kid': I dislike pulling in every little mod someone made. What I want is stability.
After some time I realized hotplugging would not be stable. After that I wrote the ondemandplus governor to save battery.
- Well that's rather easily answered. I used to use Franco kernel (which I really liked), but I wanted a kernel for myself which fits exactly to my needs. In particular, I especially wanted working hotplug, GPU OC controls, the option to set a minimum screen-on frequency and several hardcoded settings.
- Why did I release it if I built it for myself?
- I did not plan to release it at first. But I decided to release it since there was this one new feature (as named before: the screen-on min frequency control). I thought 'maybe it can contribute to others as well.' Also, maybe people like my compilation. Sharing is caring :>
- Announcement:
- The thread now has more than 1.000.000 hits! This is awesome, thank you for your interest!
Credits for code: Cyanogenmod, Google, kernel.org, Texas Instruments
bsmitty83, edoko, Ezekeel, faux123, franciscofranco, gokhanmoral, gwindlord, Huexxx, imoseyon, mpokwsths, osm0sis & Franco Dev Team, TeamHorizon
Credits for the Fancy Updater app: Parthipan Ramesh
Credits for the logo/artwork: DaNi_!
Source (including defconfig and RAMDISK): https://github.com/boype/kernel_tuna_kk44
A shout-out to the donators who help me pay the file hosting and buy me beer: 1haumann1, aaamador, agritux (2x), akaria, Bastian L., bigknowz, Blackcrx, creeve4, Fabio A., Ferhat Uğur C., James F., jsage, kuyam, Lancez, mpokwsths, n2rjt, nailz420 (2x), okanb3, omid900, rcozzi, Taomyn, teleplasma
Do you like my work? Hit 'thanks' and/or rate this thread with 5 stars.
Has my work improved your user experience? Consider a small donation.
Please do not PM me with questions, post in the thread instead.
XDA:DevDB Information
[KERNEL] Fancy Kernel r60 [Android JB+KK] [F2FS/EXT4] [Linux 3.0.101+] [OCT-24-2014], Kernel for the Samsung Galaxy Nexus
Contributors
boype
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: r60
Stable Release Date: 2014-10-24
Created 2014-10-12
Last Updated 2014-10-24
Last edited: