Post Reply

[APP] 13 Feb. 2012 : Pimp My Cpu 5.0 (OC/UV kernel control tool)

OP Cpasjuste

1st April 2011, 11:58 PM   |  #1  
OP Senior Member
Thanks Meter: 867
 
635 posts
Join Date:Joined: Jun 2007
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.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://forum.xda-developers.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!
Attached Files
File Type: apk pimpmycpu-5.0.apk - [Click for QR Code] (64.9 KB, 9600 views)
Last edited by Cpasjuste; 14th February 2012 at 08:18 PM.
The Following 123 Users Say Thank You to Cpasjuste For This Useful Post: [ View ]
2nd April 2011, 01:39 AM   |  #2  
Recognized Developer
Thanks Meter: 321
 
1,209 posts
Join Date:Joined: Aug 2010
Donate to Me
oh that's cool that this app gets some support, thanks!
2nd April 2011, 02:10 AM   |  #3  
Senior Member
Thanks Meter: 36
 
563 posts
Join Date:Joined: Oct 2010
why can't SGS go beyond 1.3ghz, while htc desire hd can go to 1.8ghz?
2nd April 2011, 05:32 AM   |  #4  
Retired Recognized Developer
Thanks Meter: 273
 
2,775 posts
Join Date:Joined: Apr 2008
Donate to Me
More
Very nice!!

Currently, there is no scheduler options available. And this app does not allow you to set to 1.3ghz on its own. Having said that, xan's Voltage Control can do that. At this moment it goes hand in hand with xan's app.

I use xan's app to set scheduler and Max CPU speed, and use your app to set the voltage. Sure beats using the slider.

Note: I use xan's app to check if the voltage is applied. Looks like it did. Thank you.

Sent from my GT-I9000
2nd April 2011, 10:52 AM   |  #5  
OP Senior Member
Thanks Meter: 867
 
635 posts
Join Date:Joined: Jun 2007
Quote:
Originally Posted by g00ndu

Very nice!!

Currently, there is no scheduler options available. And this app does not allow you to set to 1.3ghz on its own. Having said that, xan's Voltage Control can do that. At this moment it goes hand in hand with xan's app.

I use xan's app to set scheduler and Max CPU speed, and use your app to set the voltage. Sure beats using the slider.

Note: I use xan's app to check if the voltage is applied. Looks like it did. Thank you.

Sent from my GT-I9000

I did upload a new version which allow scheduler selection.
Also for your problem setting max freq to 1.3ghz, i do not encounter this problem, i think you maybe missed something. If you long click (hold) on the 1300mhz item, you'll see the menu with "Set as Max"/"Set as Min". Select "Set as Max" then either "Apply for now" or "Save as boot settings". This work here !
2nd April 2011, 11:22 AM   |  #6  
Spirit02's Avatar
Member
Flag Brisbane
Thanks Meter: 11
 
51 posts
Join Date:Joined: May 2008
More
Quote:
Originally Posted by retskrad

why can't SGS go beyond 1.3ghz, while htc desire hd can go to 1.8ghz?

They use completely different processors... Why should they overclock similarly?

Maybe it needs 1.8ghz to run sense properly
The Following User Says Thank You to Spirit02 For This Useful Post: [ View ]
2nd April 2011, 12:28 PM   |  #7  
OP Senior Member
Thanks Meter: 867
 
635 posts
Join Date:Joined: Jun 2007
New version :

Version 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).
The Following User Says Thank You to Cpasjuste For This Useful Post: [ View ]
2nd April 2011, 12:42 PM   |  #8  
Retired Recognized Developer
Thanks Meter: 273
 
2,775 posts
Join Date:Joined: Apr 2008
Donate to Me
More
Quote:
Originally Posted by Cpasjuste

I did upload a new version which allow scheduler selection.
Also for your problem setting max freq to 1.3ghz, i do not encounter this problem, i think you maybe missed something. If you long click (hold) on the 1300mhz item, you'll see the menu with "Set as Max"/"Set as Min". Select "Set as Max" then either "Apply for now" or "Save as boot settings". This work here !

My bad, didn't know about the long press. my apologies...

Sent from my GT-I9000
2nd April 2011, 09:29 PM   |  #9  
Senior Member
Flag Seattle
Thanks Meter: 106
 
484 posts
Join Date:Joined: Aug 2009
Does it work on Samsung Vibrant ? I got it installed but when I ran it, I got an error "Superuser is not Available" ???? (I got the latest superuser and the program was accepted by superuser)
2nd April 2011, 09:33 PM   |  #10  
Senior Member
Thanks Meter: 18
 
213 posts
Join Date:Joined: Feb 2008
Quote:
Originally Posted by nbhnohome

Does it work on Samsung Vibrant ? I got it installed but when I ran it, I got an error "Superuser is not Available" ???? (I got the latest superuser and the program was accepted by superuser)

If your kernel doesn't support Over/Underclocking I think you get the same message.

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Android Apps and Games by ThreadRank