[EVO Shift 4G Android Development] x99percent:
First things first...

MAKE A NANDROID BACKUP.

I take NO responsibility for ANYTHING that goes wrong with your phone, life, job, home, car, sex life, dog, cat, turtle, pet rock, etc. as a direct or indirect result of your use of this kernel.

Features of kernel for Sense ROMs:

Based on HTC source code - this should work on any stock-ish ROM

Features of kernel for CM7 ROMs:

Based on Toast's fork of the Cyanogenmod kernel

Common features:

BFQ I/O scheduler

Smartass governor

Undervolted (battery savings)

Overclocked - up to 1.8GHz (WHY?!? lol)

Underclocked - down to 184Mhz (battery savings)

By default, the kernel will clock up to 1.2GHz with the smartass governor. I personally just flash the kernel and run it as-is. If you want something different, use an overclock utility like "No-frills CPU Control". Be aware that some of these utilities run background processes and SUCK battery life.

Troubleshooting:

ON CM7.0.2

You will need to flash the kernel *AFTER* booting up the ROM for the first time. If you do a clean install of CM7.0.2 + the x99kernel, turning on wifi may make your phone go into a "boot loop" (restarting the shell, over and over).

If you're stuck in a boot loop, go into recovery (yank battery then vol down + power OR "adb reboot recovery"), flash the 7.0.2 file again, let it boot, make sure Wifi works, then go back into recovery and flash the x99kernel.

If anyone has further input on this, I'm all ears.

My phone is locking up!

Try a slower clock speed and/or a different governor. I have run this kernel reliably at 1.55GHz for a long time, but different phones can have different results. I have personally experienced lock-ups at high speeds with the interactive governor. Again, I have been running this kernel "as-is" without making any clock/governor changes... IMO, 1.2GHz is plenty fast for day-to-day use.

My phone is running hot and/or the battery is draining quickly!

Most likely, you're running the CPU at a HIGH speed and/or there are some over-active processes.

I suggest downloading OSMonitor from the market to see what processes are active. In the options, you can choose to sort the process list by CPU Load and also check the "Order" box to have the active processes shown at the top of the list. The "Misc" tab will show the current clock speed and phone temperature... you can also use it to change the speed or governor if you'd like.

"adb logcat" can reveal a LOT about what your phone is doing in the background.

Credit:

bcnice20 - I followed a lot of what he was doing with his own kernel, but removed bits that didn't seem to work right for me.

toast - CM7 kernel is forked from his github

cloverdale - Proper root in Sense kernel

Old, out-of-date changelog:

20110414

Step up to 2.6.32.36 from 2.6.32.33 in CM7 kernel

20110411

camera fix for bcnice20's Desire ROM in Sense kernel

20110408

Proper root in sense kernel

20110404

Added BFQ I/O scheduler

Misc compiler tweaks

Added version for CM7

20110323

Lowered voltage on 184MHz and 245MHz speeds

20110322

Re-tweaked the smartass governor (see current strategy below)

Slightly increased voltages for CPU speeds between 768MHz and 1.55GHz (may help some people with lock-ups)

Added an additional low speed... 184Mhz (power savings?)

20110321

Tweaked the smartass governor

Added the interactive governor

20110318

Added two additional clock speeds between 768MHz and 368MHz. By default, the smartass governor can't make the "jump" down from 768MHz to 368MHz, because the step is too large.

Added conservative governor (untested, but should be OK).

Current smartass strategy:

Max sleep speed is 245MHz

CPU load under 35% = step down. Can step down as much as is determined to be OK at once.

CPU load over 70% = step up. Will make steps upward of as much as 384MHz at a time.

If CPU is at 100%, jump up to at least 1.1GHz.

Current versions:

Download x99kernel-GBSense-20111030 #1 FOR

GINGERBREAD

SENSE ROMs, NOT FROYO. No smartass governor yet. Uses improved flashing script.

md5sum: 1973b881d09796f16c2ab7a485c1b6df

Download x99kernel-cm7-20111003 #5(?) This is a 2.6.35 kernel! Slightly incomplete... no underclocking yet. Improved flashing script to avoid missing module files (fix WiFi errors). Max smartass sleep speed is 368Mhz.`

md5sum: a215897e48f26a1d03510f5e632f59bb

Download x99kernel-cm7-20110530 Still #2 This is a 2.6.32 kernel! For CM 7.0.3.1, CM7 nightly #87, or earlier.

md5sum: 9569a39d5746756b9f6a3a5bfcc63a9b

Download x99kernel-sense-20110411 #8 FOR

FROYO

SENSE ROMs, NOT GINGERBREAD.

md5sum: 2e94b170f3976cdc44dcecbfb21f9157

Old versions:

Download x99kernel-cm7-20110615 #4 This is a 2.6.35 kernel! Slightly incomplete... no underclocking yet.

md5sum: 1318f22887322cefca3ebafd44043bb6

Download x99kernel-cm7-20110611 #3 This is a 2.6.35 kernel! Slightly incomplete... no undervolting or underclocking yet.

md5sum: 3d36a18e7590dd29689d216028452137

Download x99kernel-cm7-20110414 #2

Download x99kernel-sense-20110408 Still #7

Download x99kernel-cm7-20110404 #1

Download x99kernel-sense-20110404 #7

Download x99kernel-20110323 for Sense #6

Download x99kernel-20110322 for Sense #5

Download x99kernel-20110321 for Sense #4

Download x99kernel-20110318 for Sense

Download x99kernel-20110317 for Sense

GPL Source