Beta Kernel 15 Jan 11

NOTE1: If you’re having problems, please uninstall/disable SetCPU and any init scripts first. A lot of the issues are OC related. If everything works fine after doing that, slowly start over-clocking, if not, please post. Once the problem speed is found, report it, but most likely, it’s a voltage issue, not all phones/processors are equal. Since these kernels have snq-‘s VDD sysfs interface, you can modify the VDD levels yourself. If there are any Java developers that would like to tackle the task of writing a program to assist, please do, I’ll help as much as I can.

NOTE2: If you post a problem, please include a valid email address, only myself and Mr. X can see them. For those that have had issues in the past, you can attest to the fact that I’m pretty good about emailing people to help work the issues out. Also when posting, please include the following: platform (Bravo/Evo/Inc), hardware revision if known, ROM and whether it’s Sense/Desire Z port/AOSP Froyo/AOSP Gingerbread, and OC settings. This just makes my job easier when attempting to help.

Change Log:
Updated to
Tweaked smartass some more
Broadcom bluetooth low power driver
Lowered minimum vdd to 825 for further testing
Fixed Bravo camera, now 5MP
Audio Boost for all
Updated BFS to version 363
Fixed out of memory problem when copying large files to a mounted SD card
Hopefully fixed CFS issues
More code clean-up

Full Feature List:(Or as close to it as this old guy can get)
Frankenstein of Inc-MR3/Bravo/Evo-MR3/Glacier/Legend/Vision/Ace source trees
Moved source tree as close to Mainline as possible
Updated to
Evo/Inc Atmel 3/5 Multi-point Touch
Evo WiMax support – see sturmen, I added it to the list
LZMA Kernel compression
Automatic Process Group scheduling
BFQ IO Scheduler
Interactive Governor
Smartass Governor (Default)

fixed sysfs interface
added Kconfig options for all settings
Defaults to 128-245Mhz screen off
Defaults to profile max when screen turns on, reduces lag

Overclockable to 1.22Ghz, default 128-998Mhz
ck2 patchset
snq-‘s VDD sysfs interface

modified for all platforms, vice just the Bravo
Moved the min/max settings to Kconfig options
825-1400mV VDD range, 925mV(128Mhz)-1400mV(1.22Ghz) in acpu table

50K Sampling for conservative governor
AOSP support, yeah I know doesn’t work on all yet
Enabled and fixed rndis for wired tether
disabled HTC’s perflock
SLUB Unqueued allocator
All debugging turned off
All tracing turned off
Swap turned on
Static voltage scaling, no HAVS, not until I modify the VDD sysfs interface to work nicely with it
Absolutely no modifications to htc_battery, other than HTC updates

Quadrant scores (since some think that’s important, lol)
My phone (Inc/Uber-Z 2.0/998Mhz/BFS kernel)

Custom (CPU/Memory) 1475
Full 1675

My phone (Inc/Uber-Z 2.0/1.152Ghz/BFS kernel)

Custom (CPU/Memory) 1575
Full 1875

BETA Kernel Bravo BFS 15 Jan 11 (402 downloads)
BETA Kernel Bravo CFS 15 Jan 11 (376 downloads)
BETA Kernel Evo BFS 15 Jan 11 (673 downloads)
BETA Kernel EVO CFS 15 Jan 11 (794 downloads)
BETA Kernel Inc BFS 15 Jan 11 (629 downloads)
BETA Kernel Inc CFS 15 Jan 11 (380 downloads)



Modifications I’ve done to my phone
Setup and Enable Swap partition
I used gparted to re-partition my SD card to @ 15G FAT/1G ext3/100MB swap.


/dev/block/mmcblk1p3    none    swap    sw    0    0


swapon -a

Drop caches on screen off
I know, not always a good idea, but I discovered this while working on the out of memory when copying files to a mounted SD card. vfs_cache_pressure wasn’t cleaning the caches as quickly as it should, hence drop_caches method.

I still recommend using QtADB or Droid Explorer instead of mounting the SD card to the computer.


(while [ 1 ]
AWAKE=`cat /sys/power/wait_for_fb_wake`
if [ $AWAKE = "awake" ]; then
SLEEPING=`cat /sys/power/wait_for_fb_sleep`
if [ $SLEEPING = "sleeping" ]; then
echo 3 > /proc/sys/vm/drop_caches
done &)

Example of an init script to set VDD levels on boot
Note: Make sure you test the voltages extensively prior to setting up an init script. If you are using the kernel as default, and not changing the governor, then 128 and 245 are the important ones to play with, since your screen is off more than on. Finding the sweet spot for those will save alot of power in the long run. My phone does great at 875 for both.


if [ -e /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels ]; then
echo ’128000 875′ > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels
echo ’245000 875′ > /sys/devices/system/cpu/cpu0/cpufreq/vdd_levels

Programs I’ve installed to help
Set to turn on airplane mode and silent mode between 2100-0425 weekdays and 2200-0655 weekends, alarm goes off at 0430 weekdays and 0700 weekends. All mail and messages are there when I wake up. If anyone needs to call me during those times, they can use my home phone. Also it’s setup to reboot the phone every morning at 3am, helps with that phantom hangup on the Desire Z ports.

Auto-wifi enable
Setup to turn on wifi as I approach home and work, since 3G coverage in both places SUCK!!!!!

ES Task Manager
Setup to kill most processes on screen off, set it to ignore the important ones.

System Panel
Setup to monitor. Great tool to help figure out what’s killing batteries or using all the resources.

Titanium Backup
Setup to backup all new and newer M/W/F, and everything T/Th/Sa. Figured the phone needs Sundays off.

Awesome program to copy files to/from phone without having to mount the phone to the computer.


  1. Ping from Tweets that mention Beta Kernel 15 Jan 11 --

    […] This post was mentioned on Twitter by Jerry lange. Jerry lange said: RT @Ziggy471: Beta Kernel 15 Jan 11 – […]

  2. Ping from GPz1100:

    Thanks for the update.

    How similar is this to the included kernel in Calkulin’s evio2 1.7.7? Interactive gov by default?


    • Ping from Ziggy471:

      Calkulin has a custom kernel based solely off the EVO-MR3 base. I did a few tweaks, but it’s 95+% stock EVO-MR3. This is 90+% HTC code, but from multiple source trees. I’d like to think I got the best of them all, but I’m not sure.

      As for the governor, default is smartass, thought that was in the post, it wasn’t, but is now. Smartass is similar to interactive, but has screen off awareness.

  3. Ping from thisguy23:

    Thank you for this kernel. Its awesome. Working well on miui. I have noticed while running setcpu or like app, they are reporting that the governor is ondemand. I love smartass. How can I get it to just work. All devs have been trying to get this working correctly. Are u sure yours is? All due respect Ziggy, I am just curious. Thank you for your work.

  4. Ping from billfnbragg:

    So far running cfs version on my evo and so far so good

  5. Ping from GPz1100:

    Ziggy, is there a special way of installing the bfs kernel on the evo? I’m running evio 1.77. Doing the usual steps (wiping cache & dalvik cache), flashing the kernel and rebooting resulted in everything being very slow. Does something in evio need to be turned off to use the bfs kernel? Peeking around in the /sys/devices/system/cpu/cpu0/cpufreq/ folder revealed that the system was using the conservative governor as well.

    Flashing cfs similarly brought the speed/responsiveness back.

    Thanks for your feedback.

    • Ping from Ziggy471:

      Calkulin uses an init script to set the governor on boot, 01cpufreq_governor. You can modify that by changing CONSERVATIVE=”1″ to CONSERVATIVE=”0″ and SMARTASS=”0″ to SMARTASS=”1″, or just delete/change permissions on the file.

      Again, only 3 things can change the governor, see above comment.

      • Ping from GPz1100:

        Thanks for the reply. Even after the change to smartass, bfs still seems quite a bit more jittery than cfs. The smoothness is just not there. Probably need to play with threshold parameters perhaps.

        • Ping from Ziggy471:

          If you’re using the newer sense, BFS seems to be slightly better /feeling/, and on the older sense, CFS /feels/ better. I really don’t know why, haven’t had a chance to look at that yet.

          • Ping from GPz1100:

            Evio 1.77. I assume that’s a newer sense, since it’s based on the 3.70 ota. Just reverted back to a backup I made prior to messing with the different kernels. Reflashed your cfs kernel afterwards. Seems this combination without any other changes provides a really good experience, very responsive (no setcpu, or modification of any of the settings in the cpu folder). I left the governor at conservative as well. Charging up the battery now to see how battery life has been affected. With my typical usage, I got a good 48 hrs out of the seidio 3500 mah battery before with the customized kernel in 1.77.

  6. Ping from thisguy23:

    I understand what you are saying but the kernel is not defaulting to smartass after boot, it stays on ondemand. Also if I use setcpu or like app to change to smartass the CPU revs up from 700 – 998 and bounces between that and never falls below that but for a second or two. I’m sure its not helping battery life. Is the kernel actually using smartass after boot and apps are changing it when they load?

    • Ping from Ziggy471:

      Then something is changing it, simple as that. Look in /system/etc/init.d, and check for any init scripts that are setting the governor.

      If you look in the config on all kernels, I have smartass set as the default:

      .config Bravo BFS:
      .config Bravo CFS:
      .config Evo BFS:
      .config Evo CFS:
      .config Inc BFS:
      .config Inc CFS:

      So, unless something changes it, then it stays at that. It’s like Newton’s first law of motion, an object will remain at rest unless it is acted upon by an external unbalanced force.

  7. Ping from thisguy23:

    Sorry to keep bothering u but how do I open the script on the phone?

  8. Ping from bjevers:

    Question about the governors… Smartass seems to not be scaling down much while the screen is on. I see it fluctuate between 998, 883, 921, and 691. It never goes below 691. When I choose Interactive, it drops to 245 right away. Is this normal? I thought Smartass was the same as Interactive, just with the added screen off awareness.

    I did have a reboot while OC to 1152 again just like on the Jan 2 beta while loading a page in Miren browser. Normally I can run 1152, and used it all the time in your previous kernels. My EVO is hardware 002 and rom is mikfroyo 4.4 (Sense based). I was using Smartass with scaling from 245-1152 set using OS Monitor.


  9. Ping from blainer:

    Hi there,

    Been using your kernels for a long time and love them a bunch! I just had a question though. I grabbed the BFS version for the EVO 4G, and I don’t seem to have 3-5 finger multi-touch support as the change log states. Any ideas as to why? Thanks!

  10. Ping from Shawn K.:

    I still have wakelock on this kernel, Evo r3.

  11. Ping from Ty Denton:

    Ziggy, I installed your latest beta (1/15 cfs) on my Evo (H/W 0002, Myn’s RLS5, old radios/PRI (09.09/1.77), CWM recovery v2.6.0.1). No problems on install (wiped cache and dalvik twice each), but my phone would completely freeze necessitating a battery pull about five minutes after boot. I did have Set CPU installed, but was running no profiles and only let it auto-detect the default settings. After it froze the first time, I pulled the batt, word cache and dalvik again, rebooted and same thing. Please let me know if you need any other information. Thanks

  12. Ping from VisedMonk:

    Hi Ziggy. Yet another great kernel. Smoot as silk.

    I’ve flashed your latest CFS on Calk’s EViO, v 1.7.7, and I want to change the default governor from conservative to smartass. When i try to save changes ti the init script using ES note editor it won’t save the changes. Is there something I am dojng wrong? What setting do I need to change to allow me read and write access? Thanks in advance, sir.

  13. Ping from wtf911:

    In ES file explorer go to settings, at the bottom is root, check root and choose accept and hiapk, then check mount /system/ as writable. good luck

  14. Ping from Olli24689:

    Hey Ziggy,
    I have used your kernels on my last Sense-ROM. now I’m using CyanogenMod 6.1.1 on my Desire. can I use your new kernel with this ROM? Regards

    • Ping from Ziggy471:

      You should be able to. I enabled AOSP support in all kernels, one .config option, so it /should/ work.

      Please let me know if/how it works.

      • Ping from Olli24689:

        I’ve just flashed the zip-file and after reboot my phone can’t be used.
        Only the screen is active, but i can’t touch anything.

        Have i to configure something before flashing?

        Some details about my phone:
        HTC Bravo (GSM), PVT4, Radio, CM 6.1.1

        • Ping from Ziggy471:

          As I said, it /should/ work, I guess it doesn’t. The main difference between sense and AOSP is just enabling CONFIG_TOUCHSCREEN_COMPATIBLE_REPORT, which I did, hence me saying it /should/ work. I know people on both INC and EVO have had it working, but you’re the first Bravo.

          BTW, thank you very much for including the info about your phone, hw ver, radio, and ROM, makes my life easier.

          I’ll see what I can figure out for you though.

    • Ping from

      I tried the previous Ziggy beta on CM6.1 (DInc), and everything worked fine except for Bluetooth. I switched back to a Sense ROM, so I can’t say about this one.

  15. Ping from L.T.:

    I tried cfs it worked fine for a day bit last night after not changing anything my touch screen became unresponsive and then went into bootloop. I went into recovery and loaded bfs and haven’t had any problems. I have a Dinc running skyraider 3.5 without set cpu. I had best battery life with 1.2.11 cfs (16 hrs on standard battery) so I’m going back to that for now. Thanks

    • Ping from

      I am running SR 3.5 too, and last night I noticed a much larger than normal drop in battery. Normally it’s around a 3% drop (I leave WiFi on, auto-sync off). Last night, it was a 10% drop.

      But… I was out of town and bored yesterday, and loaded the 11.19 radio. I noticed the new kernel and loaded it a few hours later. I also did the did the max_ramp_down init script (last night) and verified in System Panel it was scaling down.

      So… I reverted to the 9.01 radio, and I’ll see how it goes.

  16. Ping from

    Hey Ziggy… You are on the DInc, yes? Just wondering what radio you are on.

    Also, have you ever played around with the voltages for the higher cpu freq’s? Is this just a “experiment and see what happens” type thing, or is it best to just leave them alone?

    • Ping from Ziggy471:


      I haven’t even OC’d in over a month, except to verify prior to a release. So haven’t really played with those voltages, or any of the voltages for that matter. But the kernel does have sqn’s vdd sysfs interface, so have fun playing with them. So yeah, experiment to see what happens, if the phone becomes un-responsive, reboot it, it’ll go back to the built in freqs. If it works good, make a script to set them on boot.

      Also, I’m testing a HAVS version that DOES work with sqn’s vdd sysfs interface. Depending on how it goes, I may release one here in a day or two.

  17. Ping from Khanam:

    really liking the new bfs kernel for the incredible. Very smooth and I scored 1631 on quad on 384/1152 smart ass profile on miui 1.14… Very snappy and better life seems great so far… And I have 5 point multi touch. Not sure what multi touch is good for but I have it, lol.

    Z, how come your kernels are just 2mb while other aosp kernels are 8mb +? Curious…

  18. Ping from Slice:

    Is there a way for you to over-volt the 1.22 ghz or 1.19 ghz to allow for greater stability. I would only use this when charging, so battery life wouldn’t matter.


    • Ping from Ziggy471:

      They are over-volted:
      1190400, 1350
      1228800, 1400

      You can always take 1.19 up to 1400 if needed, but I’m not comfortable setting a max past that, actually, I’m not that comfortable setting it at 1400.


      • Ping from Slice:

        how can i change this. But what are the draw backs

        • Ping from Ziggy471:

          Refer up top, I have an example of an init script, but you only need the echo line. I have sqn’s vdd sysfs interface built in, so it allows you to change the voltage table.

          It may not be an under-voltage issue, it very well could be an over-voltage issue too.

          Only real draw back, you give it too little voltage, it’ll reboot, too much voltage, it’ll lag big time. Just revert your change, or reboot. As long as you don’t set them via an init script, a reboot goes back to the defaults I put in there.

  19. Ping from Joe C.:

    I have EVO 004, I know BFS doesn’t play nice with 004 in the previous Beta, how about this beta, anything changed? I really want to try BFS.

    Currently using CFS with mikfroyo 4.4, like someone said above, cpu doesn’t scale down much, it is between 800 and 1000 vs stock 600 to 1000. I am still testing battery, will report back.

    Thank you very much for your wonderful kernel.

  20. Ping from Duvalbmarley:

    having problems with kernel makes my phone unresponsive and keeps rebooting im using evervolv 2.3 aosp rom i tried both cfs and bfs jan 15 same problem

  21. Ping from Terence:

    You think its possible for someone or Mr.Ziggy to post these scripts he uses on his phone on here . 🙂

    • Ping from Ziggy471:

      I did, they’re in the main post, they’re nothing more than text files, just need to make sure they have execute permissions. Also, if you plan on changing voltages, TEST THEM FIRST, I recommend at least a day, before you put them into a script.

  22. Ping from thisguy23:

    Any clue on why smartass gov idles so high, above 600 at all times?

  23. Ping from rynosaur:

    Hi Ziggy. Great kernels. I can’t get them to work with the new CM7 GB nightlies, tho–they bootloop. I have a hw rev2 AMOLED Inc, with radio 11.19, using nightly 01/20 and your 1/15 BFS kernel. I tried wiping cache and dalvik-cache ahead of time. I get the bootloop right before loading the desktop/homescreen (when the soft key lights/battery charging led come on).

    Here’s my logcat:

    thank you!

    • Ping from Ziggy471:

      Yeah, I know they don’t work on CM7, I’ll add that warning to the next release. The AOSP support is barely in there, since I Sense. Gingerbread does things differently than Froyo, and I’m not sure if I can support both in one tree yet.

      Could you get me the kmsg?? “adb shell cat /proc/kmsg”

  24. Ping from Terepin:

    Which I/O scheduler you’re using?

  25. Ping from Stkiswr:

    basic question. Have an evo and currently bfs kernel. Seem to be running really good for me. Smartass seems to be playing nicer w this 0004 evo better than any other I have tried. The cfs @ 128 mhz made my phone random reboot on interactive and smartass settings thru setcpu. Had to move min to 245 to be stable. Both handled 1228 though. Bfs seems to play nicer with less speed. 1152 bfs smartass is doing very wdll except video doesnt seem as stable even at default settings w out setcpu. Do you recommend any settings I should try thru setcpu to take out some of the initial choppiness. Other than that battery life seems good. Not terrible. The speed feels smooth and worth tradeoff of a little solid voltage.

    • Ping from Ziggy471:

      I’m not sure. What I always recommend though, is a capture of /proc/kmsg, kernel log, and from that, I /may/ be able to figure out what’s happening, at least for the reboots.

      Some phones have an issue with 128, I’m not sure if it’s voltage related or not. Because of that, I’ve included a very conservative voltage table in the kernel, which should and does work for the majority of the users out there. So if you’re not using anything to change that voltage table, like Calkulin’s scripts, then it should work.

  26. Ping from Mike Avery:


    Not to sound like a total noob, but in the last 3 months since I rooted my EVO, I have been unable to get the req’d Android NDK, SDK, & JDK’s installed on my laptop to enable running of ADB. For me at least, QtADB is the find of the century!!! Holy crap, that is the easiest to use, simplest to implicate, must have collection of tools for the rooted user I’ve seen since I rooted, easier than a 1 click root. Thank you Mr.Ziggy!!!
    Love the kernels, BTW!!! My EVO screams on BFS w/o OCing!!! 😀 Donation coming!!!

  27. Ping from Zach:

    Incredible, MIUI 1.1.14, the BFS kernel doesn’t work with wifi tether.

    Other than that, great stuff!

  28. Ping from BIgJim:

    Hey Ziggy i’m running an evo with myn’s newest rom on it and I am having a problem flashing your newest update. It seems to install fine but when I reboot I am stuck at the white evo screen. Any ideas? I currently have the HTC#17 kernel installed. (Maybe I am not waiting long enough at the white screen before I battery pull? Have waited about 10 minutes)

Leave a Reply