[Samsung Galaxy Nexus] boype:
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

boypetersen.de

__________________________________________________

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

ondemandplus basics and tunables

ARM CPU topology: multi-core scheduling explained ('Multi core power saving' in Trickster MOD)

launcher white list to make your launcher 'unkillable'. Also: How to disable the white list

WiFi: DTIM skip override

LPDDR RAM timings tuning

timer slack feature: what does it do?

frandom: why it is not included in this kernel

init.d: how to use it

MMC CRC control: what it does and how to use it

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.

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