[EVO 4G Android Development] LifeInTheGrey:
No0b guide!

Upon the recommendation of one of the thread followers, I decided to put together this thread to help noobs getting started. Hope it helps, but if you need more assistance, PM me and I can help in greater detail.

Kernels

It comes with the up-to-date CM kernel, however there are other ones that you can try! You can always use the Kernel Manager app in the market, but I'll also provide links to the threads and basic explanations of the most popular ones below.

Godm0de:

toastcfh is a legendary kernel master on XDA, and he constructed this excellent kernel a ways back. It is the best non-SBC kernel, in my humble opinion. It includes overclocking and underclocking capabilities, undervolting, uses CFS, and is based off of Linux kernel 2.6.38-8.

Tiamat:

an excellent kernel, available in both SBC and non-SBC. It also includes overclocking and underclocking capabilities, undervolting, uses CFS, and the most recent version is based off of Linux kernel 2.6.38-8. I personally have used the most recent SBC version (4.1.0), and really like the new lagfree governor. Personally, however, I use the famous 3.3.7 kernel, which gives unparalleled battery life.

Savaged Zen:

although it is no longer in development, this kernel is absolutely wonderful, and I was a staunch supporter for a long time. The final version is 2.2.1, and includes overclocking and underclocking capabilities, undervolting, comes in both CFS and BFS versions, comes in both SBC and non-SBC versions, and is based off of Linux kernel 2.6.38-7.

I won't go into detail about all of those individual features (that is what Google is for), however I will single out SBC because of previous debate on the topic. SBC is essentially a “trickle charge” of the battery, or charging more than 100% to fully maximize the charging amount. Non-SBC kernels charge to 100%, then discharge to 90%, and recharge to 100%, and continue this cycle while still showing 100% in the top bar. This is why when you pull the phone off of the charger it instantly drops down to 90%. There have been reports of exploding batteries when SBC was first introduced, however these were quickly dismissed by many as cheap Chinese batteries (or other rumor-based exaggerations), and there have been no reported cases since this time. Point is that SBC is considered

use at-your-own-risk

, although I've used SBC kernels nonstop for nearly a year and have not had problems. Just an advisory notice.

SetCPU

To control how your kernel works with your CPU, you can use the SetCPU app that is available for $1.99 in the market, or for free from that thread (support the developer if you can, its worth it). This app will let you set what minimum and maximum frequencies you want (to overclock, underclock, etc), and how the CPU scales within that range. You can also use different governors, which affect the timing of that scaling from one frequency to the next based on different heuristic algorithms.

Vipermod

Vipermod is a mod that allows you to undervolt to a greater extent than what most kernels will come with. You see, kernel developers make their kernel with the target of stability, so they provide appropriate power at various frequencies to allow most users to enjoy it without further modification. That said, many phones are capable of using less power to effectively run at these frequencies, which will increase battery life. The tutorial to install and use the mod can be found on the thread, but just keep in mind that if a phone cannot handle a certain frequency, you'll get random reboots when the frequency scaling is tested. Hence, the general philosophy is to start by undervolting by -100mV, and if you get a random reboot, to increase by increments of 25mV until you no longer get those reboots. Personally, mine stopped rebooting at -50mV, and I've seen significant battery savings at this level.

Keep in mind that only certain kernels have the structure to allow this mod to work. When you try to run it, your phone will tell you if it can't run on that kernel (don't worry, it doesn't break anything, it just sucks).

Sysctl Config

The Sysctl Config app is available for free in the market, and allows you modify how your kernel frees up system resources (i.e., closes background apps, manages open apps, etc.). I won't go into what the settings mean (Google can do that for you), but the basic premise is this:

Ratio Values mean that the higher the number, the greater the percentage of app cache is stored in memory before being cleared by the system.

Cache Pressure means the pressure the system exerts on apps to close when pushed to the background.

Most kernels default with the settings of Dirty Ratio=20, Dirty Background Ratio=5, VFS Cache Pressure=100. If you change them to Dirty Ratio=95, Dirty Background Ratio=70, VFS Cache Pressure=1, it means that apps will keep cache handy longer (system resources used less frequently and smoother app use overall). Of course, you can experiment with those values, but this is dabbling with advanced kernel stuff so don't get too crazy. :p

V6 SuperCharger

I haven't gotten the opportunity to use the SuperCharger mod too much, but it looks to be beneficial in aiding how the internal memory structure works with OOM Groupings and lowmemkiller values. Some users report drastic increases in multitasking and battery life. It requires the Script Manager app, BusyBox 1.18.2 or lower, and the Autostart Script the mod's creator developed. The installation details are available on the thread.

I'll add more later, but this should get you started!