[Android Apps and Games] Cpasjuste:
If you like PimpMyCpu, you can donate by buying "PimpMyCpu" on the Market!

If you want your device/kernel to be supported, you can find informations here so you can ask your favorite kernel developer to take a look

If you have a compatible kernel, please send me a link to the kernel so i can list it here

PimpMyCpu is an application to manage your device cpu frequency, voltage, governor and scheduler based on profiles and rules. PimpMyCpu can now also load profiles per application !

Requirement:

root and busybox (you probably already have that)

A compatible kernel, currently available for Galaxy S (i9000), LG Optimus 2x/g2x, G-Tab, Samsung G3, Asus Transformer, and maybe more...

Usage:

The application consist of 3 views : the "profiles list" view, the "profile edit" view and the "per application" profiles view

The profiles list view : This is the main view you see when launching the application. This view list all the profiles you created plus the "Current" configuration.

Touch the "Application" icon to go to the per application profiles view

Touch the "Add" button to create a new profile based on your default cpu configuration.

Touch the "Delete" button to delete a profile.

Touch the "Edit" button to go to the "profile edit" and change the profile configuration.

Touch the "Profile rules" box to apply a profile when the selected rule is meet (see "Profiles rules").

Check the "Enable PimpMyCpu at boot" to apply the current profiles configuration when your device start.

The profile edit view : this view is used when you edit a profile.

Touch the "Profile" item to change the profile name.

Touch the "Governor" item to change the governor to be used.

Touch the "Scheduler" item to change the scheduler to be used.

Touch a cpu icon to set the selected frequency as maximum or minimum frequency.

Touch a frequency to change the voltage.

The per application view : this view is used to assign a profile to an application

Touch an application to set a profile (or disable a profile)

Touch the "Search" icon to only show applications with a profile assigned

Touch the "Application" icon to go back to the profiles list view

Profiles rules:

For a profile to be active, you need to set a rule (classed here by priority) :

Disabled : the profile is never used

Test : the profile is used until next reboot or by manually disabling the profile. This rule will override any other rule and should be used every time you create and/or modify a profile.

Screen Off : the profile is used when screen goes off. This rule will override any other rule except the "Test" rule. This means that if you enable a "Screen off" and an "Powered" profile for example, the "Screen off" profile will override the "Powered" profile when (and only when) screen is off.

Powered : the profile is used when the device is powered (via AC or USB). This rule will override (when the device is powered) any other rule except "Test" and "Screen off" rules (see previous lines...)

Battery Level : the profile is used when the battery run lower than specified. This rule will be overridden by "Test", "Screen off" and "Powered" rules (see previous lines...)

Default : the default profile. This rule will be used when no other of the previous rules apply (or no other rules are enabled).

Applications profiles:

When a profile is assigned to an application, THIS PROFILE BYBASS ALL OTHER PROFILES.

Problems:

If you do not test a profile but apply a rule to it (another than the "Test" rule of course), since the profile will be loaded as soon as the rule is meet your device may crash due to a massive overclock or undervolt and result in the impossibility to boot your device anymore. You'll have to remove PimpMyCpu via CWM manager for exemple.

Changelog

1.0 : Initial release

1.1 : Added new tab with scheduler selection

1.2 : Added governor selection (this version should restore stock settings on first launch, including removing boot settings, and rebuild its configuration so you can use the new options. If you have any problem, "Reset" manually to default settings, uninstall previous version then install this update).

1.3 :

Fixed "superuser not available" error while it is

UnderVolting dialog now has the current setting selected by default

Complete code rewrite, need some testing

Preliminary Optimus 2X support (compatible kernel to come soon)

Be sure to reset previous applied settings and uninstall older version before installing this one !

1.4 :

Now almost 100% compatible with the LG Optimus 2x device (with the use of my modified kernel), only "Save as boot" isn't available for now but will come very soon.

Added a "Stress Cpu" test.

1.5 :

100% compatible with the LG Optimus 2x device, including "Save as boot"

"Stress Cpu" test now loop trought all the enabled cpu values to test each of them for 30 secondes, and show cpu temp on Optimus 2x (if someone know the file to check on GalaxyS to get cpu temp, i do not have it anymore).

Added "Save Profile" option to the menu, your current configuration can be saved to sdcard ( "/sdcard/PimpMyCpu/device/*" ) or overwrite a previous saved configuration.

Added "Load Profile" option to the menu so you can restore a previous saved configuration.

Added "Delete Profile" option to the menu so you can delete a previously saved configuration.

1.6 :

Fix a bug in "Cpu Stress" test preventing the cpu speed to change.

1.7 :

Fix a force close on profile load/save (it's better if i create the directory before trying to save to it :) ).

1.8 :

Fix a bug in "Save as boot", it was a fail if the profile had spaces.

Allow undervolt to -250 mV instead -200mV.

1.9 :

Probably fixed "Cpu Stress" test on Galaxy S.

2.0 :

Added a little widget to quickly switch between saved profiles :)

2.1 :

Compatible with new Optimus 2X kernel ( 2x-kernel-2.6.32.9-fakeShmoo-cpasjuste.4.zip )

Optimus 2x users : YOU HAVE to update your kernel to use this version.

2.2 :

Added back compatibility with older kernels, including EternityProject Optimus2X kernel until all kernels are properly updated to the standard cpufreq sysfs devices name.

2.3 :

Changed the way settings are read/applied. Pimp My Cpu usage should be smoother now.

Added a "Force minimal freq when sleeping" option to the "More" tab, this will force your actual minimal cpu speed to be activated when screen off / device sleep. This require a reboot for changes to be applied.

2.4 :

Fix a little bug in the "Force minimal freq when sleeping" option, on wake up (screen on) the maximum cpu frequency restored was the maximum boot frequency (generaly 1000Mhz) instead of the current maximum frequency enabled on the current profile.

2.5 :

Now "Reset" button also remove "Force minimal freq when sleeping" settings.

Fixed a bug in "Force minimal freq when sleeping" settings, the option could be checked even if the setting wasn't active.

Better internal command handling, should again improve smoothness.

Now save/load profile according to the kernel version instead of device, this prevent wrong profiles to be loaded if the new kernel support new frequency steps.

Disabled "Governor" setting on Tegra devices since the cpu scaling is done by the tegra driver itself.

2.6 :

Probably fixed a bug when using an old kernel

2.7 :

Fixed a delay between effective frequency and displayed frequency in cpu stress test

Added an option to select the timing for frequency change in cpu stress test (menu button)

Probably fixed scheduler error on GTAB ( http://xdaforums.com/showthread.php?t=895825 )

2.8 :

Allow the application to work even if no governor was found.

2.9 :

Fix a bug in governor selection

3.0 :

Fix "Save as boot" permission on some devices

4.0 :

Complete code and ui rewrite

Better profile management

Added SQL database for profiles management

No "init.d" support needed for "set as boot" option anymore

Removed profile change on screen on/off, android kernel handle that correctly, and this was wasting memory as a service (source: stackoverflow.com)

Removed old "FakeShmoo" kernel support (with obsolete devices name)

Removed "Cpu Stress Test" since it was not accurate for daily usage, better use specific applications

Allow screen orientation changes

Added support for stock tegra 2 kernel (without oc/uv)

Probably more and waiting for reports ...

BE SURE TO RESET YOUR DEVICE CPU SPEED CONFIGURATION (UNINSTALL PIMP MY CPU AND REBOOT) BEFORE UPGRADING TO 4.0

TO GET CORRECT DEFAULT VALUES (ELSE DEFAULT VALUES WILL BE YOUR LAST OC VALUES).

4.1 :

Fix a bug when changing kernel if a profile is set at boot (restore default kernel value instead apply profile)

4.2 :

Added power management service, you must now enable profiles to be used for (in priority order) :

"Screen Off" : will override any other settings, this means that if you enable a "screen off" AND an "AC/USB powered" profile for example, the "screen off" profile will override the "AC/USB powered" profile when screen is off.

"AC/USB Powered" : will override (when the device is powered) any other setting except "screen off" (see previous lines...)

"Battery Level" : will be applied when the battery run lower than specified (overridden by "Screen Off" and "AC/USB Powered" settings)

"Default" : The default profile, will be used at BOOT and when no other of the previous rules apply (or no other rules are enabled) and it's your "main" profile. If no default profile is set, "Stock" profile will be loaded.

Now using a service (less than 3MB memory usage and very few cpu call's)

Sort profile list alphabetically

Fix a bug with Galaxy i9000 runnin FuguMod kernel

Fix default profile creation/restore when changing kernel (was only working if boot was enabled)

Again sorry but many changes were made so BE SURE TO RESET YOUR DEVICE CPU SPEED CONFIGURATION (UNINSTALL PIMP MY CPU AND REBOOT) BEFORE UPGRADING TO GET CORRECT DEFAULT VALUES (ELSE DEFAULT VALUES WILL BE YOUR LAST OC VALUES).

4.2.1 :

fix a problem on some device where PimpMyCpu profiles where not applied due to the presence of an old init.d script ("/system/etc/init.d/S_volt_scheduler")

4.3 :

No root needed anymore for profiles change, so no more "su" toast messages (root still needed for the application to work)

Prevent "crash boot loop", if PimpMyCpu service crash (device crash) in the first 15 secondes (from service start or application start), all profiles will be disabled at next reboot

Add a "Test" profile management, a profile set as "Test" will override all other profiles, but will be only enabled until next reboot (or if manually disabled). Used to test a profile stability

Interface redesigned to have more room for profiles list

Add admob ad on free version :)

4.4 :

Improve service code, profiles "should" now correctly be loaded and stay (hopefully)

Add tray icon and persistent notification to show current profile and to be sure PimpMyCpu service is running

Add per application profile : assign a profile that will be loaded when an application start, restore default values on exit !

Minor UI changes

4.4.1 :

Fix "Set at boot": CheckBox was not checked when application start when it should be

4.4.2 :

Finally fix an old bug: profile where not applied correctly on some device if profile minimum frequency was higher than current maximum frequency !

5.0 :

Add "SiyahKernel" OC/UV compatibility (used in AbyssNote for GNote, SiyahKernel for Galaxy S2 and more)

Allow disabling notifications in preferences

Improve service stability by setting "OOM" to -17

Minor UI changes

Download "PimpMyCpu" on the Market!