Introduction to the new Overclocking Daemon

This ROM features a completely new way of Overclocking and managing screen states.

The History
But before explaining it further, let's talk about previous solutions.
There are several different approaches to archieve "screen-state-scaling".
That means basically that the govenor changes if you turn the screen off and changes back to normal when turning the screen on.

This is mainly used to restrict the amount of CPU usage (the frequency in fact) during screen off. This can lead to a major battery life increase.

The solutions so far were:
  • App like SetCPU, which change automatically the govenor based on profiles
  • integrated solutions in the govenor itself
Both these solutions have major problems.

The one with a tuner app is always a little laggy right after turning on the screen because SetCPU (or any other CPU tuner) needs some time to change the govenors (up to 7 seconds). This leads mostly to major lag in the lockscreen.

The second solution is the smartass govenor. It has already a screen-state-scaling included, so it reduces the frequency when the screen turn off.
This could be a really nice solution but it has some problems too.
Smartass most of the time is not really stable and has problems with its frequency scaling.

State-of-the-art-solution
So we (more precisely rmk40) thought of a better solution.
He wrote a native C Daemon which changes the govenors instantly without any lag.

This leads to major performance improvements right after turning on the screen and in the lockscreen.

But at the moment this solution is a little bit harder to configure. We are plaing to make a GUI for this, so you get the same comfort as using SetCPU.
Nevertheless you can even now adjust the daemon to your needs.

Be aware that the daemon only works if all CPU tuner apps are deinstalled. Otherwise it deactivates itself.

How to adjust the daemon

The daemon is configured with 6 files in the folder /system/etc/virtuous_oc/.
There are 3 files for the wake state and 3 for the sleep state. For each state one file for the govenor, one for the minimal frequency and one for the maximal frequency.

You can easily edit these files eg. with RootExplorer or any other app which can edit system files. So you can adjust the frequencies and the govenor for each state just like with SetCPU.

In order to get the available frequencies for the current kernel, just open your favorite terminal app and type
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
You could also use adb shell to show the frequencies on your computer.

To get the available govenors use a similar approach:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors

Please make sure, you are entering the right values in the daemon's config files.

Contact the Developer Committee with any questions or concerns regarding
the Recognized Developer program.
Mention my name with @Diamondback in any post to easily get my attention.
Please use BB Codes to format your posts.