After being on a Droid X for about month, I felt something missing. Only after I went back to a Droid Incredible today did I realize it was the ability to flash kernels. I happily loaded up KingKlick’s BFS#5. With overclocking speeds built in, interactive governor, loads of speed increments, undervolting and a slew more options, it’s a phone nerds best friend. This is what I’ve been missing and it’s a damn shame this kind “openness” is disappearing it seems.

 

It looks like there’s really nothing that a locked bootloader can hold back. A few days ago, a method to overclock the Droid X was released and it works perfectly.

This has been tested and it does indeed overclock your Droid X’s CPU. I’m currently running at 1.1Ghz with undervolting. That’s right, not 0nly am I running faster than the stock 1Ghz, I’m doing it with less power (54 vsel). I’m hoping this combo yields some savings in the battery department.

The argument of whether or not overclocking is useful or not will not be detailed in this post. Just bear in mind, it does carry a risk and you can toast your handset or send it into an endless boot loop.

Basic adb/terminal knowledge is definitely a requirement. Some background in overclocking will make this easier as well.

It’s not at all difficult and many folks are now clocking in insane Quadrant scores with the bump in CPU speed. I have the basic install guide as well as a quick write up on how to customize your speeds.

Continue reading »

 

The stock HTC kernel will work for the majority of Droid Incredible users out there. However, if you are in the market to cut down on some battery usage and gain some extra functionality, a custom kernel may be what you need.

There are a few custom kernels available for the Dinc like Hydra and KingKlick which provide overclocking and undervolting options.

This quick guide assumes you are rooted, know how to use ADB, can work your way around Clockworkmod recovery, understand that Nandroid backups are vital, and have some common sense.

Now the problem with installing custom kernels is that there is a good chance they won’t work for your phone. Not all Dincs are made the same, so what may work for others may not work for you. So with that said, sometimes you’ll find yourself loading a kernel, reboot, and find yourself stuck on the white HTC Incredible screen. This does NOT mean you bricked your phone — don’t freak out.

Before doing any kind of custom work, make sure you perform a Nandroid backup.

For my Dinc, I can’t load any Kingklick kernels. Every BFS and CFS version he puts out makes my Dinc lock up at the white HTC screen. After some digging, I may (or may not) have bad memory blocks on my Dinc. So when I try to flash various sized kernels, it sometimes fails and causes a lockup upon reboot.

So now that you are stuck on the white screen, there’s an easy way to fix it with your Nandroid backup and ADB. All you need to do is restore the boot image from your known good backup.

  1. Reboot into recovery (hold volume down + power, then select the recovery option) by doing a battery pull.
  2. Go into backup and restore -> advanced restore -> select restore boot.
  3. Do not reboot your device yet.

I’ve noticed if I rebooted at this point, even the stock kernel would cause the white screen lock up. The reason for this is the extra modules installed in /system/lib/modules from the previous kernel install attempt. Restoring the boot image will not erase the new module(s) or restore your old one(s).

The next steps assume you have ADB access and know how to use it.

  1. Connect your USB cable to your Dinc.
  2. Go into the mount/unmount menu and mount /system.
  3. In an ADB shell, issue the following command: rm /system/lib/modules/*.ko
  4. Your previous custom kernel modules should now be deleted. To verify, you can do a list: ls /system/lib/modules
  5. (Optional) If you have your module(s) saved to your /sdcard, you can now copy them back into /system/lib/modules.

Now you can go ahead and reload, via the update.zip method, another kernel of your choice. If you want to revert back to stock, you can grab the stock kernel (with undervolt goodness) off of Hydra’s website. For my Dinc, the only custom kernel that worked were the Hydra releases. I’m now cruising at 1.15Ghz without any problems.

You can also restore your complete Nandroid backup (or the boot and system backups) if all you want to do is get back up and running. The method outlined above is a better way to “clean up” if you are testing out various kernels and trying to get them to boot.

 

image

A user by the name of slayher over at the CyanogenMod forums has released his kernel compiles to the public. Included is the very neat interactive governor.

The CPUfreq governor “interactive” is designed for low latency,
interactive workloads. This governor sets the CPU speed depending on
usage, similar to “ondemand” and “conservative” governors. However
there is no polling, or ‘sample_rate’ required to scale the CPU up.

Sampling CPU load every X ms can lead to under powering the CPU
for X ms, leading to dropped framerate, stuttering UI etc..

Scaling the CPU up is done when coming out of idle, and like “ondemand”
scaling up will always go to MAX, then step down based off of cpu load.

There is only one tuneable value for this governor:

min_sample_time: The ammount of time the CPU must spend (in uS)
at the current frequency before scaling DOWN. This is done to
more accurately determine the cpu workload and the best speed for that
workload. The default is 50ms.

Running the 1200 low voltage version, my Quadrant score shot up to over 1700+. This is about 270 points more compared to running ChevyNo1′s 1250 low voltage. Wow.

The CPUfreq governor “interactive” is designed for low latency,
interactive workloads. This governor sets the CPU speed depending on
usage, similar to “ondemand” and “conservative” governors. However
there is no polling, or ‘sample_rate’ required to scale the CPU up.

Sampling CPU load every X ms can lead to under powering the CPU
for X ms, leading to dropped framerate, stuttering UI etc..

Scaling the CPU up is done when coming out of idle, and like “ondemand”
scaling up will always go to MAX, then step down based off of cpu load.

There is only one tuneable value for this governor:

min_sample_time: The ammount of time the CPU must spend (in uS)
at the current frequency before scaling DOWN. This is done to
more accurately determine the cpu workload and the best speed for that
workload. The default is 50ms.

© 2011 Droid Hype Suffusion theme by Sayontan Sinha