[Samsung Galaxy S (4G Model)] jeffsf:
This all started a couple weeks ago when I posted on a thread about ICS Kernels that if you wanted a different ICS kernel, you should compile your own. Well, just to make sure I wasn't being too far out of line, I did. The last two weeks has given me confidence that it is stable, at least as I use my phone, and hopefully will take some of the pressure off Bryan and the others working on a 3.x kernel for ICS and beyond.

With the way I've tuned the Smartassv2 governor, I find this kernel to be gentle on the battery and snappy in responding, even in situations like an incoming call bringing the phone out of sleep.

I have tested this kernel with AOKP. It should also work with CM9 or any of the various spin-offs of the TeamAcid codebase.

Team Acid has incorporated this work into their mainline kernel. The current CM9/AOKP builds effectively supply v0.8.1 or later

See the second post in this thread for Hefe Kernel of Darkness if you are also looking to turn off the touchkey backlights.

Please keep questions to the Q&A Thread

#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, broken hearts,
* thermonuclear war, you getting fired because the alarm app failed, or
* unfulfilled sexual partners. Please do some research if you have any
* concerns about features included in this ROM before flashing it! YOU are
* choosing to make these modifications, and if you point the finger at me
* for messing up your device, I will point that finger back at you and laugh.
* Then I will put it in your eye.
*/

By using the ROM you agree with the above terms!

Features:

Overclock (OC) (can set through AOKP ROM Control)

Undervolt (UV) (System Tuner and Voltage Control now working)

Advanced governor options

SmartassV2

OndemandX

Intellidemand

Lulzactive

Kernel optimization

Known Issues:

AOKP ROM Control can't read or set UV levels

Minimum CPU speed permitted "randomly" changes between 100 and 200 MHz

VCO may false lock on OC speeds (just as AntonX's GB kernel will)

Intellidemand and Lulzactive drivers were felt by AntonX to be too unreliable for daily use

Not a drop-and-go install if your non-TeamAcid ROM isn't using the bcm4329 driver

Most anything that is a known issue with the TeamAcid ICS kernel

ROM/App Issues:

Recovery may not "flash" the WiFi driver, especially when flashing ROM, gapps, and kernel in one "session." Re-flashing seems to resolve this.

On cMIUI, it has been reported that using NSTools to set smartassv2 governor causes boot loops.

Thanks

TeamAcid, for bringing ICS and AOKP to the phone at all

TeamAcid, for actually posting their sources, in full

AntonX, for taking the time to add OC/UV functionality to the GB kernel

Teamhacksung, for various drivers and bits

TeamAcid, for hopefully not complaining that I didn't replace their boot logos

Bhundven, for pulling everything together and his ongoing work on a 3.x kernel

Change List

v0.8.1 -- 2012/06/19 -- MD5: 1ae5bba6dbacb8cbef5b739075818300 hefe-kernel-v0.8.1.zip

UV can now be set using System Tuner or Voltage Control

v0.8.0 -- 2012/06/16 -- MD5: 4e99cc054f6902af2447f0bdc91e39c4 hefe-v0.8.0.zip

Initial release

Installing

Download the zip and copy to your phone's microSD

Reboot to recovery

Flash

Reboot

If WiFi does not work after flashing, you might want to flash again. See Rom/App Issues, above.

Suggested Configuration

Governors

If you don't know much about governors, you can start here. I've been using the smartassV2 governor. Either that or the ondemandX governor probably should be your first choice. They can be selected in the AOKP ROM Control app, under Performance.

I have tuned the smartassv2 governor differently than AntonX did. It is set to drive to significantly lower CPU speeds in "idle" than the GB equivalents. This should help battery life. Please let me know in the Q&A thread if you are seeing unexpected sluggishness.

Undervolting (UV)

Default settings are 25 mV less than the "stock" kernel supplies.

Voltages can now (v0.8.1) be easily set using System Tuner or Voltage Control (and probably a few others)

I'm aware of the issues with AOKP ROM Control not being able to write and read the voltages. It's on my list to resolve.

Overclocking (OC)

If you aren't willing to kill your phone prematurely, do not overclock. If your phone already runs hot, do not overclock. If you run Quadrant tests all the time and have your governor set to "performance" all the time, do not overclock.

WIth a conservative governor, such as smartassv2, with the kernel defaults, the phone shouldn't be spending much time above 1000 MHz. If you used the AntonX kernels under GB, you probably have a feeling what your phone can reliably handle. I personally wouldn't push things past 1200 MHz.

Future Plans

Perhaps not in this order

Rework clock timings to prevent false locks

Resolve app AOKP ROM Control access to UV tables

Add Badass governor

Add additional schedulers

Source code on Github, hefe-kernel branch. Compile with TeamAcid's AOKP build environment on a supported platform.