[EVO 4G General] tropicalbrit:
Kernels! Don't know what a kernel is? The kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).

(Thanks to FAUX123 for the image)

Most Sense ROMs come with the stock HTC kernel. What's the advantage of running a custom kernel? Well, underclock/overclock, HAVS, Undervolting, SBC, different governors and cool stuff like that.

Let me explain a few things:

Underclocking/Overclocking - Overclocking is the process of operating the process at a higher clock rate (more clock cycles per second) than it was designed for or was specified by the manufacturer. Underclocking is running the processor at a lower clock rate than it was specified to operate at. It may be said to be the computer equivalent of driving a car below the speed limit. Usually, underclocking is used to reduce a computer's power consumption and heat emission, sometimes also to increase the system's stability and compatibility.

HAVS - Hybrid Adaptive Voltage Scaling. HAVS dynamically scales the voltage supplied to the CPU at any given speed, erring on the side of lowest power draw, in an effort to enhance power saving. This was causing issues in Gingerbread kernels so it was taken out and replaced with static undervolting.

Undervolting - Dynamic voltage scaling to increase voltage is known as overvolting; dynamic voltage scaling to decrease voltage is known as undervolting. Undervolting = good for battery.

SBC - Super Battery Charging. This is "trickle charging" and it only affects your phone while it is charging. It prevents the 10% drop that most users get when pulling the phone off the charger. It slowly continues to pump energy into your phone while it is charging so it does not lose its charge. No Gingerbread kernel has this thus far.

Governors: I borrowed basically all of this from the SetCPU website, so thanks to them!

Governors control exactly how the CPU scales between your “max” and “min” set frequencies.

ondemand – Available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point, ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed.

interactive – Available in newer kernels, and becoming the default scaling option in some official Android kernels. The interactive governor is functionally similar to the ondemand governor with an even greater focus on responsiveness.

conservative – Available in some kernels. It is similar to the ondemand governor, but will scale the CPU up more gradually to better fit demand. Conservative provides a less responsive experience than ondemand, but can save battery.

performance – Available in most kernels. It will keep the CPU running at the “max” set value at all times. This is a bit more efficient than simply setting “max” and “min” to the same value and using ondemand because the system will not waste resources scanning for CPU load.

powersave – Available in some kernels. It will keep the CPU running at the “min” set value at all times.

userspace – A method for controlling the CPU speed. Don't use it. It is pointless.

smartass – Included in some custom kernels. The smartass governor effectively gives the phone an automatic Screen Off profile, keeping speeds at a minimum when the phone is idle.

smartass v2 - a re-written smartass. Code is cleaned up, it scales more effectively and prefers lower frequencies.

InteractiveX - The interactive governor with suspend/wake logic so when the phone screen is off it runs at minimum set frequency. Also, modified code to minimize unnecessary cpu spikes

There are 5 custom Gingerbread Sense kernels that I know of:

Anthrax: my new favorite. A new kernel based on Qualcomm and Monster Audio (Beats) sources, it is amazingly smooth. Chad makes a highly-rated kernel for the Evo 3D, and I'm sure he can bring amazing things to the Evo. The thread is here, but it is shut down. Chad got a C&D and had to retract all of his work. If you seek this kernel, send me a PM. I myself am not distributing it, but I'll be sure that you get it.

ChopSuey is now my second choice. Compiled by barnacles10, the goal is "to be stable while implementing new features." It is ridiculously stable and I get very good battery life. Thread here

Freedom is my third favorite. Compiled by Lithid, it comes in various versions and degrees of undervolting. I always run Aggressive Freedom, the most undervolted. Thread here.

Golden Monkey. Compiled by netarchy, it hasn't been updated in a while, because netarchy has moved on to different phones. He always puts out quality work, so thread here.

PoonSense. Mostly stock with the usual tweaks of overclocking and governors. If someone could provide a link, that would be great.

Note: Latest ChopSuey, Freedom, and PoonSense have HDMIwIn if you are into that kind of thing (fullHDMI mirroring).

Let's assume you already have a ROM on your phone. How to flash:

Download the kernel you want, then transfer it to your phone in disk drive like we talked about earlier.

Boot into recovery.

Wipe cache and dalvik in Wipe menu. Twice.

Navigate to "Mounts" menu. Mount everything except for SDext.

Navigate to Flash zips from sdcard and find the kernel zip. Select with power button.

Reboot and enjoy!

You can also flash a kernel while you are flashing a ROM. Steps to do so:

Download whatever ROM and kernel you choose

Boot into recovery.

Plug up your phone to the computer, and mount as MS. Transfer to your phone.

Transfer done? Unmount and navigate to the Wipe menu.

Wipe everything except for SD card. Twice. Believe me. Do it every time you flash a ROM.

Navigate to "Flash zip from sdcard" and find whichever ROM you got. Select with power button.

Once the ROM has been flashed, reboot to system.

Let your phone sit for two to five minutes. Skip first set-up, let sit on homescreen for a two to five minutes. Reboot into recovery.

Wipe cache and dalvik twice.

Navigate to "Mounts" menu. Mount everything except for SDext.

Navigate to Flash zips from sdcard and find the kernel zip. Select with power button.

Reboot and enjoy!

Once you have your custom kernel, all you need to do is to choose the governor and min/max CPU frequency speeds.

My favorite governor is Smartass v2. If the kernel does not have smartass v2, then I use Interactive X.

My minimum and maximum speeds are 245/768 mHZ.

How do you set all of this stuff? Well...

Download No-Frills CPU Control (free) or SetCPU ($1.99) from the Market.

Open the application.

Drag the sliders to set your speeds!

Click the dropdown and select your governor!

Click "Set on Boot" and exit app.

Reboot phone!

Let's get something straight. Do not use "Profiles" in SetCPU or No-Frills. This makes the application run in the background and drains battery. Interactive X and smartass and smartass v2 already have built-in screen-off profiles. So do not make profiles, okay? :o