[HTC EVO 3D] mikeyxda:
OK my clean friends. Here's awakenings v0.2. This one is generic enough that it should be usable in any ROM. Performance and battery life should be the same as awakenings v0.1 (great performance and incredible battery life). I took out the sqlite stuff so it does nothing with sqlite any more. Please be aware of what this script does before you install it. Description is below:

awakenings v0.2 does the following:

- modifies init.post-boot.sh to establish optimized CPU parameters up front

- deletes conflicting init.d tweaks: sicktweaks, sysctltweaks, and gabersdemand

- installs ondemand/ondemand mpdecision file

- installs awakenings tweak in init.d to control screen on/off parameters

- no uninstaller yet so to undo, reflash your ROM and other tweaks you use

re: comments from CuriousGeorge on GabersDemand

We've both had our say so I'm not going to go tit-for-tat quoting and responding. I've attached a real world comparison of GabersDemand vs awakenings (image with benchmarks and CPU usage) that I think speaks for itself. GabersDemand is a simple boot-time script that just changes a few CPU parameters and renames the mpdecision file. Two things on this.

* First, deleting (or renaming) the mpdecision file so that the system can't find it has caused instability on my phone and at least one other here. At boot, the system tries to start mpdecision as a service and since GabersDemand effectively eliminates the file, the system obviously can't start the service and an error is produced in logcat. That by itself is not necessarily horrible but I prefer to leave the modified ondemand/ondemand mpdecision file in place as I've had numerous problems with instability with that file missing when GabersDemand renames it.

* Second, I don't believe the CPU parameters in GabersDemand are anywhere near optimal for running two cores! I think too many tweakers pull parameters out of a hat and use them because they were the HTC defaults or because someone else used them. Unfortunately they may not apply when running both cores open. Also, GabersDemand leaves both cores running all the time and makes no attempt to shut the second core off and tone down the governor when the screen is off like awakenings does, so battery life on GabersDemand won't be nearly as good. Also, look at the performance and CPU in the attached. awakenings gets as good or better performance with better battery life, and no CPU hopping. And no, CPU frequency hopping is NOT good! It's simple physics. You want the CPU to respond to real loads (which, by the performance numbers you can tell it is doing with awakenings) but not respond to every stray transient, spending half the time at a higher clock rate for no reason like it does in GabersDemand. That frequency hopping is akin to mashing the accelerator to the floor momentarily every time you go over a small bump or imperfection in the road in an attempt to make the tires always go the same speed. And no, System Tuner doesn't put enough of a load on the CPU to cause false hops while it is running. If it does, your governor isn't running properly! The parameters that are used in awakenings are the result of many hours of testing to find exactly the right up threshold, sampling rate, etc. to balance performance and battery. I admit that they are the result of testing and they are not there because "they were the HTC defaults" or because XYZ dev uses them. I started from a clean slate and awakenings is the result of testing rather than grabbing this or that and forming tweaks from other sources.

The attached tests are the result of flashing a "virgin" copy of CleanROM DE 2.0 P1 and then applying the tweak in question over the original ROM flash. As you can see from the results, it is possible to tame your CPU (note the steady 384Mhz clock speed from awakenings and lack of spazzing out to different frequencies) and still have the same performance when you really need it. For those who want to tell you that you need your CPU to jump all over the place, the results of these benchmarks should prove otherwise!

Mike