All GB Sense ROMs should use my GB Sense Kernel
All Froyo AOSP ROMs should use my Froyo AOSP Kernel
All Froyo Sense ROMs should use my Froyo Sense Kernel[/b]
Hi XDA members and fellow MT4G users:
This is my SECOND kernel hack. I want to thank Gr8Gorilla, Erasmux, dumfuq and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.
THIS KERNEL is BASED ON AOSP/CM7 Source Code. So it is COMPATIBLE ONLY WITH AOSP/CM7 Builds.
Please DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibilities (Forced Close).
MinMax Governor (Battery Saver)
This governor will try to minimize the frequency jumps/changes which cause voltage spikes/changes which supposedly drains more battery life... Supposedly designed to work with SetCPU... so give it a whirl...
SmartAss Governor (Balanced)
This governor has a built-in "profile" similar to SetCPU, so screen off will use lower clock rate thus conserve more battery, but it also has a fast wake up feature so that user interaction will not see the lag when switching from Sleep to Wake state.... (So SetCPU Profiles are sorta redundant when using this governor, you can still use SetCPU to OC to higher than default Clock frequency).
Interactive Governor (Performance)
This governor is designed to put more priority to User Interface (UI aka Apps) tasks, therefore appears more responsive then the traditional OnDemand governor. So if you want the smoothest UI interaction, this governor is for you...
Brain F*ck Scheduler - (BFS)
This scheduler is designed to be simple and speedy tailor specifically for user interface type systems such as desktop/smart phone devices where user interaction is MORE important than serving 1 million web requests (CFS, the default scheduler) at the same time (think of nimble desktop workstations vs large corporate servers).
SLQB - (SLAB allocator with Queue)
This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate). Not all kernels are using SLQB including CM7 main line...
Fair Budget Queue (BFQ I/O scheduler)
This I/O scheduler is an improvement on top of Completely Fair Queue (CFQ). CFQ is fair in terms of time but not in terms of throughput / bandwidth, so BFQ make sure that both time and throughput / bandwidth are balanced across all requests.
Here's a step by step instruction to install this kernel:
Warning Version 2.6.3+ is COMPATIBLE ONLY with Android 2.3.4 ROMs such as latest CM7 nightlies, MIUI, RoyalGinger.
All Android version 2.3.3 ROMs such as older versions of CM7 including RC1, RC2, RC3, CM 7.0.1~7.0.3 should use version 2.5.2!
[ FINAL VERSION ]
[ CFS-Smartass ] (Mainline)
The File ==> CM Kernel 2.6.6 CFS Low Voltage #162 <==
The File ==> CM Kernel 2.6.6 CFS Stock Voltage #163 <==
[ BFS-Interactive ] (Enthusiast Edition)
The File ==> CM Kernel 2.6.6 BFS Low Voltage #164 <==
The File ==> CM Kernel 2.6.6 BFS Stock Voltage #165 <==
Low Voltage - Under Volt the processor, therefore uses Less Battery, but NOT ALL CHIPS can handle Under Volt.. If you experience instability, try the Stock Voltage Version.
Stock Voltage - Uses the voltage values from ORIGINAL HTC Kernel Source.
There are NO PERFORMANCE DIFFERENCE between the 2 versions!
[Optional CFS kernel ONLY]
If this is first time you FLASH my kernel or you just recently FLASHED any ROM,
To use my CFS-Tweaks from version xxx, you must FLASH xxx first, then FLASH the latest version.
1. download the above file (via phone directly or to a PC)
2. copy the downloaded zip file to /sdcard/download/
3. Open ROM Manager and select "Reboot into Recovery" and select "OK"
4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.
5. Once the script is done, select "reboot system now"
Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...
Version 2.6.6 is OUT!!!!
This is most likely the FINAL VERSION for this kernel. CM7 is moving to a real 2.6.35+ kernel from very soon. Once that happens, this 2.6.32 kernel will be made obsolete!!!
Please don't hesitate to talk among yourselves and help each other out... The MT4G/XDA community is what inspired me to hack kernels for everyone since everyone here is nice and helpful to each other... Keep helping each other.... Famous proverb: It's better to give than to receive...
[ Android 2.3.4 ROM ]
If you experienced WiFi issue, it means the bcm4329.ko modules was NOT installed properly.
Extract the bcm4329.ko from the same zip file, then
[ with ADB ]
adb push bcm4329.ko /system/lib/modules
[ with Root Exploror ]
1. touch Mount R/W
2. copy bcm4329.ko to /system/lib/modules
3. long press on the bcm4329.ko and select Permissions then check read, write for owner, read for group and read for others, click ok
4. long press again on the bcm4329.ko and select Change Owner, then pick 0-root for owner and pick 0-root for group, click ok
I will investigate to see if I can fix the updater script so this would be done automatically with 2.3.4 ROMs
Not All CHIPS ARE CREATED EQUAL
[NOT REALLY A BUG, when OC'ed, everything is questionable]
Interactive and OnDemand Governors will freeze the phone when the delta / difference between the Max and Min frequency is too large..
Ie, Max 1843MHz~Min 245MHz -- will lock up, but Max 1840MHz and Min 1000MHz will NOT...
version 2.x.x -- Haven't thought about it yet...
See Post below...
Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!
My Github Complying with GPL
Follow me on :
If you find this Kernel useful, feel free to hit the [Thanks] button below