Related
ROM developers: Please do not include SetCPU in your ROM. I appreciate the work you're doing, but link to this thread instead, and I'd really appreciate it if you mention that SetCPU is available on the Android Market.
SetCPU is a CPU speed tweaking application for Android. More specifically, it allows control of certain aspects of the Linux cpufreq driver, allowing for overclocking, underclocking, or tweaking speeds and settings on many Android devices. It will work with most if not all rooted Android 1.5/1.6/2.0/2.1/2.2/2.3/3.0/3.1 builds on most devices.
The program is free here for XDA members. It costs 1.99 on the Android Market and available for purchase on the Amazon Appstore for users in the US.
QR code (please donate by buying it on the market ):
Warning: Extremely low or higher than normal frequencies may freeze your phone. Especially high frequencies (such as those enabled in certain custom kernels) have a risk of shortening the life of your phone. If your phone freezes, just yank out the battery.
Please buy it on the Market to donate if you like it.
Documentation and more information can be found here: http://www.setcpu.com/
Changelog:
1.4.0: Revamped the main interface quite a bit, and fixed a few minor bugs.
1.4.0a: fixed a bug where 122MHz was being called 128MHz.
1.4.1: * Using Eclair API. Will work on QVGA devices (Tattoo) and WVGA devices (Sholes)
* Major performance enhancements - setting frequencies should be much faster in every situation (in the main application, profiles, upon startup, etc.).
* Added a small home screen widget that shows the current maximum and minimum frequencies. Clicking this widget launches SetCPU.
* Frequency lists for Snapdragon devices, Samsung Galaxy, Motorola Cliq, and HTC Tattoo have been included, though support for these devices is experimental. The device can be selected on the introduction screen.
* Custom frequency lists are now supported. To enable custom frequencies, place a file called setcpu.txt on /sdcard/ or /system/sd/, sorting frequencies in kHz, separated by comma, from lowest to highest, then select the corresponding option on the introduction screen.
* There is no longer a "set" button - changing the seekbar positions will immediately set the frequency. As a result, all seekbars in the application will now snap back if the user attempts to place the maximum frequency below minimum.
* Instead of refusing to work at all, SetCPU will now operate in a read-only mode if root access is not detected.
1.4.2: Instead of choosing between performance (always max) and ondemand CPU governors, there is now a drop down list with all the available governors on the device. Thanks morfic! Added CPU scaling configurations for the OMAP3 processor of the Motorola Sholes/Droid/Milestone. This is strictly in beta. Custom frequency list now reads from /system/setcpu in addition to setcpu.txt on SD FAT or EXT.
1.4.3: Includes compatibility fixes for HDPI devices and UI enhancements. Frequency lists for the Samsung Moment (untested), the T-Mobile Pulse, and the Acer Liquid have been included. The application will no longer sometimes re-set CPU frequencies upon launch.
1.4.3a: Added more frequencies for the Nexus One.
1.4.3b: Fixed a widget issue on the Nexus One. Sorry for the rather rapid succession of updates the past few days!
1.4.3c: Adds support for 600MHz kernel patches on the Motorola Droid. On the Droid configuration. SetCPU will attempt to detect the existence of 600MHz and adjust the frequency list accordingly.
1.4.4: Adds an "autodetect" option that works on newer kernels (at the bottom of the device selection screen). This should enable the supercharged speeds in some of tasmanian_droid's newer kernels. Fixes a force close crash when selecting some frequency lists that were not compatible with the device (thanks Julian).
1.4.5: - Streamlined/refactored profiles code.
- Added "battery temperature" profile. SetCPU is now able to set a certain speed when the battery goes above a user-defined threshold. This would optimally be set to throttle the CPU lower at a high temperature. To ensure compatibility with your device, see if a valid temperature is displayed in the "System Info" menu. This profile does not take effect immediately and does not replace being cautious - it is not based on CPU core temperature, and must wait for a battery state change before reacting.
- Added an "About" button to the main screen with simple themes. Default color scheme is now "Dark"
- Adjusted the widget to display four digit speeds properly (thanks Berzerker).
- Various bugfixes and UI tweaks.
1.4.6: Fixed issues with the battery profile. Included a much better icon thanks to Josh Deere (dphase).
1.5.0: * CPU governors can now be defined in profiles.
* Included a notifications service for profiles - turn this on using the relevant checkbox in the profiles menu.
* Profiles now log which speed and governor is being set.
* Added "advanced" tweaking capability for conservative governor.
* The system info menu and profiles menu now show temperature in both Celsius and Fahrenheit, and the widget also now displays battery temperature in Celsius and Fahrenheit.
* Added a "long benchmark" option to the system info menu, which should be more consistent than the "short benchmark."
* Also added a simple stress test to the system info panel to test the stability of overclocks.
* Autodetect is now the default for devices that support it, and will be the first option in the menu if available.
* Improved I/O performance.
* Various bugfixes, especially in profiles.
1.5.0a: * Charging profile now no longer takes effect when the phone is at 100% battery and unplugged.
1.5.1: * Two more battery profiles added. Lower battery readings will always take priority (eg. under 80% will always take priority over under 100%).
* Governor will now refresh alongside the other readings. Added governor reading under current frequency reading.
* Added an auto-refresh checkbox to the main screen. If checked, SetCPU will periodically refresh the current frequency reading without the need for pressing the refresh button. This checkbox applies to the system info panel as well.
* Tweaked the widget, and attempted to fix the elusive bug where the widget did not update correctly sometimes.
1.5.1a: * Fixed widget being cut off in landscape mode.
* Fixed Fahrenheit temperature reading in profiles.
1.5.2: * Added optional failsafe notification warning system that plays a ringtone and flashes the LED red when the failsafe profile is active (thanks WootRoot!).
* Added "copy to clipboard" function for the System Info menu (press Menu).
* Added an optional "active" widget, which will refresh CPU speeds at an interval like the main interface.
* Added support for the OMAP3 temperature sensor for the Droid. If present, use of the OMAP3 temperature sensor can be enabled in the failsafe profile.
* If available, the OMAP3 temperature can also be read in the system info menu.
* CPU temperature settings will only appear if the sensor is present and support for the temperature sensor is enabled in the kernel! Right now, this is only for the Droid.
* The about menu now defaults to a "default" theme where SetCPU will not mess with any backgrounds defined in the XML layout.
* Fixed stress test failing when JIT is enabled.
1.5.2a: * Temperature sensor used in the widget for the Droid is now controlled by the failsafe setting. I will implement a proper appwidget configuration activity in a later update.
* Fixed an issue with the audible warning notification not being properly dismissed.
* Profiles optimizations.
1.5.3: * Memory/performance footprint decreased.
* Battery drain should be fixed on the Droid.
1.5.3a: * Active widget CPU usage optimized.
* Further profiles optimization for the Droid.
* Uncommon I/O force close fixed.
1.5.4: * Switched to the Android 2.2 SDK.
* Enabled external storage support (install location is automatic).
* Eliminated the distinction between the active and passive widgets, and replaced it with an appwidget configuration activity for the widget, allowing the user to choose the color of the max/min text, temperature display, temperature sensor (Droid), and refresh interval.
* Optimized the active widget refreshing.
* SetCPU will now hide non-autodetect frequencies by default on devices where autodetect is available, but hard coded frequencies and the custom option can be re-enabled with a button.
* Custom frequency list can now read from this exact file: /data/local/setcpu (in addition to the previous setcpu.txt on SD fat or ext).
* Includes various bug fixes and minor UI changes.
1.6.0: * Ported parts of the app to the NDK to improve performance.
* Fixed a bug where the widget was resetting colors upon reboot or launcher orientation change.
* Autodetect now works for all devices. It is recommended by default.
2.0.0: * User interface has been completely redesigned, and now uses tabs for switching between menus instead of buttons. Landscape mode in the main tab no longer requires scrolling down. The Advanced menu and Profiles menu have also been redesigned for a better landscape experience.
* The "auto-refresh" option and refresh button in the main interface and system info menu have been retired - SetCPU always auto-refreshes automatically.
* The profiles menu and service have been recoded from scratch, and now allows the creation of unlimited profiles with custom priorities. The "priority" meter for each profile determines the order in which it is evaluated - if two profiles apply to a given situation, the profile with the higher priority will be set. If you had profiles set before 2.0.0, you will need to set them again.
* Profiles have been further optimized for performance footprint as a result of the re-structure.
* Added "Charging AC/Full" and "Charging USB/Full" profile conditions to distinguish between fast charging and slow charging modes on some devices (thanks Julian).
* Added a beta "perflock disabler" feature that will enable frequency changing on stock HTC 2.6.29 kernels. Access the perflock disabler this by pressing Menu in the main interface. If this gives you an error, does not work, or crashes your phone, your kernel is not compatible - pull your battery to reset if necessary. E-mail me with your ROM, phone model and kernel information in "System Info" (thanks to Richard for a lot of help with the low-level stuff, and no thanks to HTC for implementing perflock in such a way . To access the perflock disabler, press Menu in SetCPU's main interface.
* Code cleanup and more.
* A big thanks to everyone who tested, especially those who gave feedback on this one, all the people who purchased SetCPU from the Android Market, as well as all my users.
2.0.0a: * Fixed a permissions error that was causing SetCPU to autodetect incorrectly and force close on some ROMs.
2.0.0b: * More fixes, sorry guys.
* Fixed an issue with profiles and custom frequency lists.
* Clarified the profiles priorities introduction.
* Fixed a bug with the Advanced menu erroneously reporting values if the governor was changed after onResume was called, and fixed a crash that sometimes occurred as a result.
* Fixed a bug where the passive widget acted like the active widget after frequencies were manually set.
2.0.0c: * Fixed issues with the Advanced menu and Advanced settings not being
applied on boot.
* Fixed an issue in where temperature warnings were not being dismissed
properly.
* SetCPU 2.0.0 no longer force closes on Android 1.5 devices, but the UI in
some menus is flawed. I recommend that you update to a more recent version of
Android if possible.
2.0.1: * Added a few widget backgrounds. Configure this when adding the widget.
* Added the ability to "swipe" to the next tab.
* Fixed various bugs.
* New documentation is up.
2.0.2: ** End of life for Android 1.5 support.
- Perflock disabler support for HTC-kernel 2.6.32.15.
- New native benchmark button in the system info menu. The results of this benchmark is unaffected by VM optimizations like JIT, so it's ideal for speed comparisons across different devices.
- Added support for tweaking the "min sample time" of the interactive governor, if available.
- Fixed a bug where the scaling governor would not change when the profile switched and SetCPU's main tab was visible.
- Fixed an ANR bug in the "set on boot" function which sometimes caused the Advanced settings to not apply.
- Fixed an issue where SetCPU sometimes did not start on boot when used with Superuser Permissions 2.2.x.
- Fixed a force close issue that occurred when SetCPU could not autodetect frequencies due to permissions errors in the ROM.
2.0.3 - Added a "safe mode" function that prevents SetCPU from running any tasks during boot if a file called "setcpu_safemode" exists in /sdcard or /data/local. This is useful if unstable settings were saved with "set on boot" checked.
- Reverted changes originally made to compensate for the old Superuser Permissions startup bug. SetCPU should perform startup tasks expediently again.
- Perflock disabler has been tested to be stable on supported kernels. The perflock disabler menu now has a "set on boot" function. Always disable this when switching to a new kernel or ROM. If you forget to do this and you get crashes, you can use the safe mode function above to disable it.
- Fixed crash issues with read-only (no root) mode, and disabled perflock disabler in read-only mode.
- Fixed a crash related to the widget service.
2.0.4 - Added the ability to back up and restore profiles to and from the SD card by pressing the Menu button in the Profiles tab. A "send" option is also available to send the profiles file as an attachment. Save the .setcpudb file to the SD card to restore it.
- Added perflock disabler support for HTC kernels 2.6.32.17 and 2.6.32.21 (T-Mobile G2, myTouch HD, Desire Z, Desire HD). "Set on boot" will not yet work on these devices because they only have temporary root.
- Fixed another crash in the widget.
2.1.0 - Significant UI and user experience revamp, including a new background for the widget, and new notification icons
- Added a quick priority swap button to the profile lists
- Significantly improved the reliability of autodetect on certain kernels
- Numerous bug fixes and crash fixes
2.1.1 - Fixed an issue with profiles backup in CM7.
- Added support for the Motorola Xoom, Atrix 4G, and other Tegra 2 devices.
- Fixed various bugs.
- Tablet optimized UI and more profiles coming soon!
2.1.1a - Fixed the 0 MHz display issue on some devices.
2.1.2 - Minor update. Adds a time of day based profile which will trigger based on a set time range. Fixes a bug with profiles and certain dual core kernels. Switched to the Android 3.0 SDK. Note that on some Tegra 2 kernels, scaling is completely controlled by the driver.
2.1.2.1 - Fixed a crash that occurred when updating from certain versions of the profiles database.
2.1.3 - Added perflock disabler support for HTC kernel 2.6.35.10 (in beta). Enhanced the Time in State readings in the System Info menu to include percentages. Removed WiFi permission until this feature is added to profiles. Fixed another database crash, and other bugfixes.
2.1.4 - Revamped Info tab UI. In portrait, clicking on an item in the Info tab will launch information on that category, and pressing back will return to the menu. In landscape, the content and the menu are split into two columns. Benchmarks are at the bottom. Added a chart for Time In State readings. Widget reliability fixes and optimizations. The main screen now indicates which kind of profile is currently active with an icon. Miscellaneous bugfixes and optimized performance.
2.2.0 - Added an "In Call" profile. Improved the Set on Boot safemode function by including a flashable zip that toggles SetCPU's safemode. Press menu on the main tab for more details. Added autodetect support for all Tegra 2 fakeShmoo kernels (ie. G2x). Added a "Voltage" tab for undervolting the CPU on fakeShmoo kernels, some custom Galaxy S kernels, and some Nexus S kernels. This is a full-fledged interface for undervolting these devices, and includes backing up and restoring and a Set on Boot checkbox. Improved the way SetCPU initially requests root. Various miscellaneous bugfixes.
2.2.1 - Fixed the voltage force close bug on some Galaxy S devices by adding undervolt support for older Galaxy S undervolt kernel patches. Added perflock disabler support for HTC kernel 2.6.35.9 (beta).
2.2.3 - Fixed an issue where the voltage menu displayed frequencies backwards on certain devices capable of voltage control. Added support for additional CPU temperature sensors.
2.2.4 - Improved support for the new MSM 8x60 devices (such as the HTC EVO 3D and Sensation).
thanks dude, that was a fast update!
I wonder if it is possible to add some more freq. between the range of 384 and 528 for the next udpate, e.g. like 500 or 480 for the non 1.5 cupcake build.
smagicmans said:
thanks dude, that was a fast update!
I wonder if it is possible to add some more freq. between the range of 384 and 528 for the next udpate, e.g. like 500 or 480 for the non 1.5 cupcake build.
Click to expand...
Click to collapse
The CPU won't set to anything else, unfortunately (if you set it to 500 for example nothing actually happens).
Sweet.. looking for something like this.
Works great
Faster Open Home load and no longer lags as much.
THANKS!!
Great app !!
Simple and efficient, the best cloacking app for Haykuro IMO. Just a question : how to keep the cpu running at 528 after reboot?
I know this may not be included in your app right now but I think with a script it might be possible. Any idea?
Thibaud
Thibale said:
Great app !!
Simple and efficient, the best cloacking app for Haykuro IMO. Just a question : how to keep the cpu running at 528 after reboot?
I know this may not be included in your app right now but I think with a script it might be possible. Any idea?
Thibaud
Click to expand...
Click to collapse
I'm kind of reluctant to add that feature because if someone's processor can't handle 528MHz I'm afraid peoples' phones will crash every time they start up forcing a wipe.
It has issues with Shake Awake app, everytime single time all day long shake awake forces close when I use SetCPU. Im I the only one with this issue?
Lakers3408 said:
It has issues with Shake Awake app, everytime single time all day long shake awake forces close when I use SetCPU. Im I the only one with this issue?
Click to expand...
Click to collapse
Do you have the lock feature "on?" SetCPU will query a file to see if the phone is awake if lock is on.
lol, i actually havent had any issues with the phone locking up at 528Mhz, and im using 1.5. However, I hate taking out the battery cover ( i manage to kill my phone in other ways) so something else to do woulld just be
-adb shell
-reboot
Voltage concerns
I've noticed that when using the 528 MHz setting, my phone freezes quite often, but only when the phone is not charging. When the phone is charging, freezing never occurs. This probably means that the voltage going to the CPU is probably inadequate to power the CPU at that frequency.
No freezing at all for me! Maybe some CPU are more tolerant to O/C than some others. That would explain why HTC/Google currently block the G1 to 384 Mhz max.
I installed Haykuro 5.0.2Hr3 and SetCPU works perfectly fine now. It would not work on my JF 1.42 RC33 build as I mentioned in the other thread for the overclock app. Im wondering if the Power Manger app could of been causing something or if simply 1.5 is better able to handle it. Don't know, I have had 0 freezes with the current setup though. Retro defense runs much better now when I have many towers setup and enemies attacking (on default clock it gets really laggy when the towers are firing) Thanks for the app cool!
SetCPU for Root Users has been updated to 1.1.6.
Reminder: *SetCPU supports all rooted 1.5 builds, including JF, Haykuro G/H, the Dude's, etc.
Pressing the "Menu" button allows you to read the introduction message again and choose your version of Android.
1.5 features only: Various bugfixes and enhancements. Added a green colored maximum/minimum reading to the top.
Android 1.1/1.0 support has been kept, but this feature will no longer be supported because the 1.5 Android OS is already very widespread. Please update to 1.5 as the overclocking is much more stable!
I just made a very quick hotfix to a bug that I found through the app's own max/min readings.
1.1.6a: Fixed a minor bug when some CPU settings required two presses to "Set Frequency" to set.
Hey I was wondering if there's a way to confirm that the phone's processor is actually stepping down to 128mhz. I have the processor set to max at 528 which is great and then step down to min 128 to save battery power. The phone's been idle for only a few hours and I've lost 30% battery. That makes me think the phone's not stepping down.
Pardon the n00b question, but what's the point of 19mhz? Is there any phone that can step down that low? Mine certainly couldn't.
Great app though! Thanks for you hard work.
There was some discussion about the additional energy consumption of the mode switching when the frequency step is too great. Also, idling your CPU too low will result in it stepping up more frequently when demand increases. Basically, if you set the minimum to 384 and max to 528, it may use less battery than setting the lower frequency as low as you have.
ah that's interesting. Another thing that makes me think the phone isn't stepping down is that the "Current Frequency" reading on the setcup screen never changes from maximum.
Does the processor only step down when the screen goes blank?
Could more frequency options besides max at 528 be added? A 428, 458 and 488 would be nice to have extra zip but stay away from the higher clock for battery and stability reasons (if stability is an issue for some).
Thanks
rushless said:
Could more frequency options besides max at 528 be added? A 428, 458 and 488 would be nice to have extra zip but stay away from the higher clock for battery and stability reasons (if stability is an issue for some).
Thanks
Click to expand...
Click to collapse
Only certain clock speeds are actually possible. The ones listed in the program are tested by me to working.
The point of 19.2MHz is to make that speed available. I don't think the phone will ever step down that low (the idle CPU load is more than enough to make it step up 19.MHz) but you can force 19.2MHz by setting both maximum and minimum to it. Be careful though, it's REALLY slow and you might think your phone is frozen.
ah that's interesting. Another thing that makes me think the phone isn't stepping down is that the "Current Frequency" reading on the setcup screen never changes from maximum.
Click to expand...
Click to collapse
Press "refresh" a few times and it might go down (it does for me when set to 528/384). Remember that simply refreshing the speed causes CPU load and might make the phone change the frequency before it is read. Same with reading the CPU Info dump.
Hi,
Is there a program that displays a CPU usage over time graph as a widget?
I tried "Tokaplot Widget", and while it says it does what I would like it to do, it doesn't seem to actually work on my N1.
Everything else for CPU/widgets seems only to give me the current percentage (as a snapshot), and not a graph over time.
Thanks,
It's not quite what you want but aiSystemWidget does display a graph when you click on the widget... but it doesn't graph on the widget.
Keep in mind that constantly updating a widget with a scrolling graph of usage will cause more CPU usage and more battery drain.
If you're just after an instantaneous idea of CPU usage, you might want to check out britoso's CPUStatusLED app, which uses the charging status LED to provide a continuous indication of CPU usage without significantly increasing usage or battery drain.
You can also use SeePU and SeePU++ from the market. The first is free and the last is the payed version that displays a graph of your cpu in your notification bar. There are a few options like how often to update the graph. I use them (both must be used together like docs2go and the key for it) and love them.
I cannot promise that this app will not brick your phone!!
I also cannot promise compatability with any kernels other than existz Onix and kb1 beta kernel!!
Voltage Control EX - An app for managing oc/uv settings on Samsung Captivates
Based heavily on source from xan's Voltage Control App. In fact, this is Voltage Control, just with added features designed primarily for existz's Onix kernel.
Features:
Compatibility with Gingerbread *** See known Issues!!!!
OC/UV settings, identical to the original Voltage Control
Max Clock limit, identical to Voltage Control
Scheduler control, identical to Voltage Control
Updated States enable tab - provides the basic functionality of xan's Voltage Control, with added time in state stats
Added a CPU Threshold settings chooser
Updated About screen, and donate info
Added option to hide/show status bar on main menu
Reorganized main menu, and included a sub menu
Time In States read out in hour:minute:second format with percentages included
Deep Sleep time in state information
Fully implemented reset option, returns all settings, except for scheduler, to stock
Logging enabled, does NOT use logcat
Added log control options to Menu:
-Clear Log clears the log, then restarts logging
-Export Log exports vcex.log to /sdcard
Note: CPU Threshold settings is only available when using Onix kernel by existz!! I think existz plans on adding CPU Threshold support to kb1 beta, but I am not sure, as I am not existz!!
CPU Threshold settings gives you the option to activate one of three pre-defined settings: Performance, Battery Saver, or Stock. These settings adjust when your CPU decides to scale its clock speed up or down, which obviously has an effect on performance and battery life.
Find the app below, as well as the source code.
To install, make sure you have uninstalled previous version!! This version has a new package name, and so will NOT overwrite previous version! If you don't uninstall VC EX 1.0, 1.01, or 1.10, whichever you have, you WILL have two VC EX apps installed!!
Download voltage-control-ex-1.2.0b.apk, save on your computer
Enable usb debugging on your phone, and hook it to computer
Run "adb install path/to/voltage-control-ex-1.2.0b.apk" - where /path/to is replaced with the path to where you saved the apk
Disconnect our phone, and enjoy your new app!
Also, you may download this directly to your phone
To install, use a file explorer, any will work but I suggest Root Explorer, to navigate to where you downloaded the apk
Click on the apk and select yes, install, etc.
NOTE: This method ONLY works if you have rooted your phone, AND enabled non-market apps! Of course, if your phone is not rooted, this app will not work anyway, but you get the point
If you use the app, and enjoy it, please consider donating to my think tank aka beer and pizza) fund!!
Report any issues you have on this thread or by sending me a private message. Make sure to include your system setup in any issue reports, such as kernel and rom versions. Your feedback and bug reports help me know what to fix! And as always, check the thread to make sure someone else has not posted the same issue. If they have, just quote it and let me know your system setup.
Note on reporting issues!! PLEASE READ!!!
All bug/issue reports need to be addressed to [email protected]. Please select "Menu > More > Export Log" from within VCEX and include the vcex.log file with your bug report!
Known Issues:
Please read this section if you are having an issue!!
If your issue is here, I already know about it and I am working on it!
In Gingerbread, States tab does not show up occasionally, restart app and it SHOULD work, if not, try again
This issue has also been reported on FroYo!!
NOTE: If you launch vcex several times in a row (i.e. more than 5) with no States tab, please let me know. The issue is caused by the ShellInterface used to get info from the kernel not liking the states_enabled_table file for whatever reason. Typically, the issue will show up on occasion, more of a nuisance than anything. However, if it consistently does NOT show States tab, I want to know about it!
Changelog:
1.6.0b:
Fixed (sort of, see Known Issues above) issue with States tab not showing in Gingerbread
Added app-hosted logging
Added options to menu for clearing and exporting log file
1.5.0 FINAL:
Identical to 1.4.0bRC, except debuggable is set to false.
NOTE: If you are using GingerBread, do NOT use 1.4.0 or 1.5.0!!
They DO NOT WORK with GingerBread!!
I am working on a full rewrite designed for existz's Talon GB Kernel
Until I release it, use VCEX 1.3.0 or earlier!!
1.4.0bRC:
Changed States drawer layout to "TIS: hh:mm:ss | pp%"
Added reset option, will restore settings to stock, except for Scheduler settings
Changed Max CPU Dropdown to only include enabled states
NOTE: If you like this version, let me know!! This is my release candidate, and aside from any bugs found, I will not be adding anything else!! If this version proves to be stable, I will re-release it as 1.5.0 FINAL!
1.3.0b:
Changed States drawer layout to always include percentage, new layout is "TIS: hh:mm:ss pp%"
Fixed CPU Limit settings. If max cpu is set to 400mhz, it will show 400mhz in the spinner, instead of 1400mhz. The same goes for 600mhz and 1600mhz and 200mhz and 1200mhz
Added code to make Show/Hide Status Bar "sticky." This means it will save your full screen preferences so that if you want it to be in full screen mode, it will set it up at launch
1.2.1b:
Fixed version as shown in About screen, thanks to iXNyNe for pointing it out!
Changed "Visit us on XDA" button on About screen to reference this thread
Changed "More Info" button on "No Root Page" to come here
Changed "Get kernel from XDA" button on "Wrong Kernel" page to reference Onix kernel, since this is built for Onix.
1.2.0b:
Changed package name to com.shane87.voltagecontrolex
Consolidated the Show/Hide Status Bar option into one button
Added an option to toggle percentage of time in states/ time in states
Changed time in states readout, when selected, to hour:minutes:seconds format
Added a readout for Deep Sleep state
1.10b:
Fixed saving CPU Threshold settings for bootup. Will now overwrite CPU Threshold settings applied through Onix Recovery.
Added Hide Status Bar and Show Status Bar options to main menu.
Reorganized main menu, including a sub menu.
Menu>About is now located at Menu>More>About
Menu>Reset is now at Menu>More>Reset
Menu>Exit is now at Menu>More>Exit
Note that Menu>More>Reset is still not implemented yet!!
1.01b:
Fixed a minor bug that prevented the app from hiding CPU Threshold Settings when they are not supported by your kernel
1.0b:
Inital release.
[EDIT]This will be going on Android Market, but first I have to come up with the registration fee![/EDIT]
A HUGE thank you goes out to xan, for his ground work that this app is based on, and to existz, for writting the awesome kernels this is designed for, and for pointing me in the right direction on this project.
And of course, an ENORMOUS thank you to everyone who uses this app, and especially to those who report bugs/issues. Your reports are how I know what is broken and needs fixing!!
Note that I took down the old versions due to making this final. The only old version I left is 1.3.0, as it is the latest release that works with GingerBread!
If you want other releases, pm me, I would be more than happy to forward them to you!
awesome!
cant see time of state 100mhz though. if status bar were hidden while app was open it would give that little extra.
Must un-install regular Voltage Control for install to complete. For the best though.
Scheduler is blank with no options in the drop down menu for me.
Trusselo said:
awesome!
cant see time of state 100mhz though. if status bar were hidden while app was open it would give that little extra.
Must un-install regular Voltage Control for install to complete. For the best though.
Click to expand...
Click to collapse
Hmm, thats odd, as on my Captivate, which I did all of my testing on, the time in state for the 100Mhz state was visible. I know I had that problem on previous builds, but finaly got the layout to work for me. I will look into hiding the task bar to get the extra room for the states to show properly. I am working on a new build anyway, as the cpu threshold settings does is not properly hidden, plus I forgot to have it remove any existing cpu threshold settings when it finds the kernel does not support cpu threshold. Of course, the only time that would be an issue is when changing from a cpu threshold enabled kernel, such as Onix, to a kernel without cpu threshold, such as kb1 beta. Anyway, I hope to have a new version up tonight or tomorrow at the latest.
wonner said:
Scheduler is blank with no options in the drop down menu for me.
Click to expand...
Click to collapse
Hmm, thats odd. Does the original Volatage Control work with your kernel? If it does, I can't understand why the Scheduler settings wouldn't load, as I made no changes to the Scheduler settings implementation. As far as any other feature, and the app in general as well, I can't promise compatibility with any kernels other than those created by existz, and at this time I can't even promise compatibility with suckerpunch-voodoo by existz, as I have done no testing with sp-voodoo yet.
Scheduler shows fine for me
Sent from my SAMSUNG-SGH-I897 using XDA App
shane87 said:
Hmm, thats odd. Does the original Volatage Control work with your kernel? If it does, I can't understand why the Scheduler settings wouldn't load, as I made no changes to the Scheduler settings implementation. As far as any other feature, and the app in general as well, I can't promise compatibility with any kernels other than those created by existz, and at this time I can't even promise compatibility with suckerpunch-voodoo by existz, as I have done no testing with sp-voodoo yet.
Click to expand...
Click to collapse
Yes, I uninstalled VC 3.0.3 to install your app and scheduler was working fine. Regardless, I uninstalled VC EX and reinstalled it and scheduler is working fine now. I am using Onix, I was just too lazy to change my sig.
Great app BTW!
wonner said:
Yes, I uninstalled VC 3.0.3 to install your app and scheduler was working fine. Regardless, I uninstalled VC EX and reinstalled it and scheduler is working fine now. I am using Onix, I was just too lazy to change my sig.
Great app BTW!
Click to expand...
Click to collapse
Awesome, I'm glad it is working for you now!! I understand about being to lazy to change your sig, I am back on kb1 for now, but I ran onix for about 4 days while testing this app, and never changed my sig. Quick question, can you see the time in state for the 100mhz state? I am planning on a release of the next version, a minor update, tonight or tomorrow. All I am changing in the update is hiding the status bar, cuz someone reported being unable to see the 100mhz time in state, and I have fixed the code to remove the cpu threshold spinner for kernels that don't support it.
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: eXistZ kb1 beta #8, Voodoo Sound v7, Voodoo Color, Voodoo lagfix
Modem: I897 UCJJ4
HW Build Number: 1101
Running continuum and latest onix everything works fine and I can see everything.
Sent from my SGH-I897 using XDA Premium App
shane87 said:
Quick question, can you see the time in state for the 100mhz state?
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Awesome! I'm glad most of you are having good results with this app! For anyone who is not seeing the time in state for 100Mhz, I am adding the code to hide the status bar, just to give it a little extra room. And I may add an option to switch whether it hides the status bar or not, but I haven't decided yet. I personally like seeing the status bar, but that is simply my opinion. Either way, I will definitely have a new version up some time tonight, as I had to go back and fix a little bug I found. Due to the way I wrote the code for implementing the CPU Threshold spinner, it should have disabled the spinner and hit it if you were running a kernel without CPU Threshold support, but I made a small mistake that proper debugging would have picked up. I have it fixed now, so I will post the new version soon, after I tinker around with hiding the status bar.
Just uploaded 1.01beta! This is a minor update, as all that I changed was how the app checks for support of CPU Threshold settings. This change allows the app to hide the CPU Threshold settings options on kernels that do not implement CPU Threshold settings, such as existz kb1 beta kernel. I am looking into adding an option to make the app full screen, thus getting a little more room on the display for anyone having difficulty seeing the 100Mhz time in state. However, I have been up for 28hrs+ so my mind is not at its best! I will, hopefully, get some work done on this tomorrow. Till then, happy modding.
P.S. For those wondering, I left the original apk up, as the update, 1.01b, only really affects users who do NOT have Onix kernel installed. Plus, I haven't tested the update against Onix kernel yet, as I said above, lack of sleep makes things fuzzy, and I try not to flash when fuzzy. When I get a confirmation, preferably from a few users plus my own tests, that the new version does indeed work on Onix, I may remove the old version.
Ok, so I have been awake for entirely way to long, but before I retire for the night, I realized that neither version of the app had been zipaligned. So I took down the files posted before, renamed everything in a uniform matter, zipaligned both apks, and reposted them. If you have either version installed, you should re-download it, as they run slightly smoother after zipaligning. Nighty night xda! And to everyone, especiall the devs and rom cookers, keep up the good work!
So far, so good.
hmm having trouble with the state when i use cpu spy the there are only 3 available state 800 1000 1300, but when i check on the voltage control ex the other state are check, so im confuse now can someone explain it to me clearly why the other state doesnt show up on cpu spy app? does that mean the other state is not working even its check? And also i cant get the threshold to stick to performance whenerver i try to reboot it always go back to battery saver, im using onix nighty the latest
sinichi21 said:
hmm having trouble with the state when i use cpu spy the there are only 3 available state 800 1000 1300, but when i check on the voltage control ex the other state are check, so im confuse now can someone explain it to me clearly why the other state doesnt show up on cpu spy app? does that mean the other state is not working even its check? And also i cant get the threshold to stick to performance whenerver i try to reboot it always go back to battery saver, im using onix nighty the latest
Click to expand...
Click to collapse
Hmm, that's very odd. I have checked against cpu spy, and I am seeing the same states enabled in cpu spy as I am in VC EX. Do you have a terminal emulator? If you do, could you run the command
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
and give me the output? As far as it not saving the threshold settings, have you saved boot settings? If you don't save boot settings after a change to the Threshold settings, it will not copy the right script over to /etc/init.d
the problem might be with larger check boxes or fonts in my rom/theme
shane87 said:
Hmm, that's very odd. I have checked against cpu spy, and I am seeing the same states enabled in cpu spy as I am in VC EX. Do you have a terminal emulator? If you do, could you run the command
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
and give me the output? As far as it not saving the threshold settings, have you saved boot settings? If you don't save boot settings after a change to the Threshold settings, it will not copy the right script over to /etc/init.d
Click to expand...
Click to collapse
my frequency is showing now on the cpu spy it's just seems to load slow maybe in 3 mins every states will show from the time or your first boot, but my threshold still wont stick to any of it if i enable the tweak on onix my threshold will be on performance but when i try to save it on battery save and save on boot while the tweak of onix is on after a reboot it will return to performance. but when i disable the cpu tweak on onix it wil stay on battery save and when i save it on performance after a reboot it will stick on battery save. It still depends on the onix setting I think sorry for the bad english I hope you get it
Trusselo said:
the problem might be with larger check boxes or fonts in my rom/theme
Click to expand...
Click to collapse
Yeah, it looks like your rom/theme has latger checkboxes. I am running Cog4.3 with the stock theme. Don't worry, I am working on adding a hide status bar option to the main menu, hopefully today I will have it ready for release. I also have another issue I am working on as well, that may take a little figuring to fix, but I hope to have a new update sometime today.
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: eXistZ kb1 beta #8, Voodoo Sound v7, Voodoo Color, Voodoo lagfix
Modem: I897 UCJJ4
HW Build Number: 1101
sinichi21 said:
my frequency is showing now on the cpu spy it's just seems to load slow maybe in 3 mins every states will show from the time or your first boot, but my threshold still wont stick to any of it if i enable the tweak on onix my threshold will be on performance but when i try to save it on battery save and save on boot while the tweak of onix is on after a reboot it will return to performance. but when i disable the cpu tweak on onix it wil stay on battery save and when i save it on performance after a reboot it will stick on battery save. It still depends on the onix setting I think sorry for the bad english I hope you get it
Click to expand...
Click to collapse
I just did a reboot to see if performance or stock would stick on mine at reboot, and it is defaulting to battery saver as well. I think it has something to do with the way existz has the cpu threshold settings applied by the kernel at boot-time. I am working on fixing this as we speak, as well as adding the hide status bar option mentioned in my last post. Hopefully I will have something for release today that addresses both issues. As far as the threshold settings not sticking at boot, just re-apply them after boot and they will stick, untill next boot anyway. And I knew about the threshold settings defaulting to performance when the threshold tweak was activated on onix, I meant to add a note in the op about it, but it slipped my mind. Like I said, I hope to have this fixed today. Until then, just make sure to open vc ex and re apply your settings after a boot. Keep up the good work everyone, and let me know about any and all issues. That's how I know what needs to be fixed to make this app as good as possible!!
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: eXistZ kb1 beta #8, Voodoo Sound v7, Voodoo Color, Voodoo lagfix
Modem: I897 UCJJ4
HW Build Number: 1101
Hello all.
After about a month of researching and testing with the Galaxy S5, I'm finally happy with my SmartKernel profile, with the interactive governor carefully tuned, using known resources and countless trials and errors, as well as other various tweaks, like VM and I/O scheduler, and decided to publish on it's own thread.
The main resources I've used for the Interactive governor tuning includes the well known:
Android Modders Guide;
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life! for Nexus 5X; and it's twin
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life! for HTC Evo 4G.
First of all, this tweaks should be a little sensible to the ROM, kernel, apps, and other tweaks your using. Like, I just found out that Havoc pie style quicktile settings use way more juice then if I turn it off and go back to Oreo default. Bellow you will see the apps I mainly crafted this profile in mind.
For reference: I have a klte with latest Oreo Havoc installed, nano OpenGapps, Magisk and the SmartPack kernel. For apps I use Facebook lite, cause the normal app is just a big hog, whatsapp and instagram social apps. Chrome. I don't use the Google App or Greenify(uninstall/delete velvet). And play lots of games like Clash Royale, Star Wars Force Arena and Arena of Valor. BetterBatteryStats.
And a lot of random apps that normally don't stay on the background.
DESCRIPTION
On the SmartPack manager profile:
. HIghly Efficient Interactive Governor Tunables (most important part);
. No Touchboost or any other boost, only the governor dictates to CPU in which clock it should to be;
. Overclock disabled, but can be enabled at you will;
. No underclock, I do undervolt my CPU but this you need to find your specific device numbers, mine won't cut;
. LazyPlug Hotplug with all 4 cores on all the time (better performance while using and battery savings while at idle);
. I/O Schedulers: ZEN (the L-Speed profile complement this part, with it's scheduler tunables);
. READ-AHEAD internal 1024kb (for 16GB or more) and external 512 kb (for my 8GB SDCard, adjust accordingly to yours SD Card size conform described here
. Adreno Idler disabled: it doesn't make any effect;
. Speaker Driver Leakage disabled and Boeffla Sound enabled with 0 gain as it does make a difference, at least with ViperFX magisk module installed;
. Screen minimum RGB set to 1 (0 won't stick), for a darker dark on our AMOLED, plus some tweaks;
. Led blinking fade enable;
. VM tweaks: dirty_ratio 30 and dirty_background_ratio 15; for minor battery improvement, with a perceptible lower termperature/cpu usage and almost imperceptible performance hit;
. VM tweaks: page-cluster 1; for better multitasking/memory management
. VM tweaks: oom_dump_tasks 0; disable depuration of dumping tasks, less cpu needed.
. LMK values: 32 48 64 128 176 208 (MBs)
L-Speed Profile
. Logging and I/O stats disabled;
. Animations speed set to 0.25x;
. System battery save trigger at 20%;
If you need to provide or read logs, enable logging and i/o stats back on l speed; i/o stats and oom_dump_tasks 1 on smartpack manager
INSTALLATION
Unzip the attached file and import with SmartPack Manager:
The attached profile should be imported, applied and marked as to run "On Boot" to make effect. It will only work with SmartPack Manager and Kernels for both Nougat and Oreo, maybe even Pie. Just try it, and report back. If you wanna fine tune it. You need to use an app or enable the "show cpu clocks" option if your rom supports it (like Havoc, RR and many more), and monitor at which frequencies the lags happens, while doing the jobs you want the CPU to be efficient at. And mainly tweak the target_load according, maybe above_high_speed delays of 1,7GHz clock and above. You need to read the guides more in-dept too see exactly how to do it, but I'll paste here the most important parts on how to tweak this settings more to your Galaxy S5, with your particularly apps and ROM:
soniCron said:
Optimize Idle Frequency
Now that you've got the base configuration, we need to tweak it so that the CPU stays at your efficient idle frequency (384Mhz in this case) without spontaneously jumping when your phone is actually idle. To do this, open a CPU monitor that displays the current core frequencies (I like CoolTool, but you can use what you like as long as it doesn't significantly impact the CPU use--you're best off using a passive monitor and checking the results after 30-60 seconds of no activity), watch the frequencies and see how often they go above your efficient idle frequency when you're not doing anything at all, and adjust the following:
timer_rate - If your idle frequency is not being exceeded much, adjust this downward in increments of 5000 until it is, then increase it by 5000. If your idle frequency is being exceeded often, adjust this upward in increments of 5000 until your CPU primarily stays at or below your desired idle frequency.
above_highspeed_delay - Only if your timer_rate has matched or exceeded 50000 and still won't stay at or below your desired idle frequency most of the time, set timer_rate to 50000 and adjust the "20000" portion of the value upwards in increments of 5000 until the idle frequency has stabilized.
The lower these two values are, the more snappy/lag free your system will be. So try to get them as low as possible without the idle frequency being exceeded too much, as this inversely affects the snappiness and efficiency of your phone when you're not doing anything. Lower = snappier but uses more CPU when you're not doing anything (such as reading a webpage); higher = less snappy but stays in a power saving state more often reducing CPU use when you're not interacting with the device. These are the most critical in determining your idle power savings, so keep that in mind if you want the most battery life!
Enhance Task Responsiveness
Now use the efficiency and nominal clock rate correlations you made for your master clock rate list in the section above and adjust your frequencies to suit your usage patterns. For example, I had web page scrolling as my 710Mhz/864Mhz rates, so I will open a web page and scroll and see how everything feels. If it feels sluggish, I will increase all the references to "710000" in both above_highspeed_delay and target_loads upwards to the next available clock rate until that task is smooth. What you are looking for is constant poor/sluggish performance when the task you're testing for is using its highest CPU use. If the task becomes sluggish/stuttery as it winds down (such as a scrolling webpage slowing to a stop), we will address that next, so do not take that behavior into consideration as you adjust these values! If the task is smooth until (or after) it slows down, then you have reached your optimal clock rate and can move on.
If you need to exceed your nominal clock rate for a particular task, first measure it again just to be sure you had it correct. If you did indeed have it correct, leave it at your nominal clock rate and adjust the value after the colon next to the task frequency you're tuning downward in increments of 5. For example, if my setting of "864000:80" is still not sufficient, I will adjust it first to "864000:75", then "864000:70", and so on until the task is smooth. However, it almost certainly won't come to this, but if you reach ":50" and the task still isn't performing how you want, set it back to ":80" and increase the clock step once more, then decrease the ":80" until it is smooth.
Do the same for each other frequency in your master clock rate list until you are satisfied. If you have chosen to use more than 2 primary clock rates, add them and use ":##" values between the two surrounding frequency values.
Fix Stuttering
Now that you have adjusted your frequencies for optimal high CPU use in each given task, you may notice some stuttering as the task winds down. (Such as a scrolling webpage slowing to a stop.) If this bothers you, you can tweak this at the expense of some (minor) battery life by adjusting min_sample_time up in increments of 5000 until you are satisfied.
If you have exceeded a value of 100000 for the min_sample_time setting and still are not satisfied, change it back to 40000 and increase (and re-optimize) your idle frequency by one step. This will impact battery life more, but less than if you were to keep increasing the value of min_sample_time.
Adjust High Load Clock Rates
You're almost done! Now you can leave everything as is and be satisfied with your amazing, buttery smooth, snappy experience, or you can optionally tweak things further to either increase the responsiveness of high load tasks (such as loading image previews in Gallery) or increase battery life somewhat.
Adjust the final delay value in above_highspeed_delay to suit your needs. The default ("150000") means that the CPU load at the highest set frequency (default "1026000") will have to be sustained for 150ms before it allows the load to go above that frequency. Increasing this value will prevent the CPU from reaching higher frequencies (which may be unnecessary) as often, saving battery life. This will come at the expense of burst-type high CPU load tasks. Reducing it will allow the CPU to reach higher frequencies more often, at the expense of battery life. However, adjusting this is probably unnecessary, as it will most likely not yield any perceptible difference in performance. It is recommended to leave this value at its default.
Click to expand...
Click to collapse
Besides CPU Voltage and Battery, all tabs on the manager are modified and tuned to achieve best performance, while having best efficiency possible. Is not a battery or a performance, but a efficiency profile.
Refer to this thread if you wanna undervolt your device with a well know secure margin for the CPU Snapdragon 801 2.5ghz MSM8974AC, which our Galaxy S5 contains:
[GUIDE] Snapdragon 805/801/800/600 Clock & Voltage (PVS bin) guide by HD2Owner I've managed to achieve much lower voltages then PSV15+ devices (refer to the sheets).
I also attached the excel spreadsheet I've made with all this thread information, both governor guide equations on target loads, undervolting guide findings, and made my own base calculations and settings. Feel free to use, modify, and discuss it with me. You will see that I based the most efficient clocks in an original thought about which ones are the most efficient, instead of plotting the differentials between voltages of each clocks, I did plotted the difference of the clock divided by voltage, which on itself should be how much voltage 1 mhz uses, on each clock rate. So, the higher the number, more speed each clock rate give us by voltage used. It's kinda complicated and idk if I explained it the right way, and even if it really makes sense under scrutiny, but I couldn't think why not myself, so, any inputs are welcome.
I own my thanks to all the following XDA fellows, without them, I could not have achieved this:
@sunilpaulmathew for the SmartPack Kernel which is the only kernel for the S5 that can turn that damned MPDecision off and SmartPack Manager;
@soniCron for both of the governos Guides;
@Saber for the Android Modders Guide which is immensely helpful.
CHANGELOGS
L-Speed Profile (download the app on PlayStore):
011118 lspeed profile
- first release
031118 lspeed profile
- Removed most tweaks, only left minor stuff, refer to the OP.
L Speed profile is not really needed, SmartPack will do 99% of the job.
SmartPack Manger Profile (download the kernel and the app here):
301018
- first release.
011118 smartpack profile:
- A few Interactive governor tweaks;
- Removed Virtual Memory and LMK tweaks, let it on default or use L-Speed to optimize, as it does a much better job then me.
031118 smartpack profile:
- Governor tunning: better high load management;
- Included back only 3 sane VM configurations, no more freezing, better cooling (less cpu needed, while performance barely took a hit)
- Sane LMK configurations, kills apps not being used faster, retain some multitasking while not let it slow down the device
081118 smartpack profile:
- target_load (no changes up to 1497600) ...1728000:89 1958400:91 2265600:95 -> ...1728000:88 1958400:90 2265600:95
- above_hispeed 20000 1190400:60000 1497600:64000 1728000:77000 1958400:84000 2265600:130000 -> 20000 1190400:60000 1728000:68000 1958400:79000 2265600:110000
- external storage read-ahead from 512 -> 2048 (because I've gone from a 8GB to a 32 GB SDCard, ADJUST YOURS ACCORDINGLY TO https://androidmodguide.blogspot.com/p/io-schedulers.html)
- cleaned unused and already default values from profile
101118 smartpack profile:
- Turned Alucard off, accidentally activated it with Lazyplug also enabled, not good!
- Managed to go 1 point higher on freq 1497 MHz, the 2 hotplugs enabled were messing with me trying to test this change before, also 1 point lower on the idle freq 268 MHz for smoother scrolling while still staying at freq 268 while idle. And some more high load optimizations now that I only got 1 hotplug enabled as it should always be.
- target_loads from 268800:29 ... 1497600:86 1574400:5 1728000:88 1958400:90 2265600:95 to -> 268800:28 ... 1497600:87 1574400:5 1728000:89 1958400:91 2265600:94
- above_hispeed 20000 1190400:60000 1728000:68000 1958400:79000 2265600:110000 -> 20000 1190400:60000 1728000:74000 1958400:82000 2265600:120000
- dirty_background_ratio 15 -> 10
221118 smartpack profile:
. Reverted new SmartPack Kernel v14r4 changes to Virtual Memory back to original default configurations, if you've have had reboots this should fix it, please report back here and/or the kernel's thread;
. More changes to Interactive governor aiming to optimize high load scenarios according to the profile philosophy:
. above_hispeed_delay 20000 1190400:60000 1728000:74000 1958400:82000 2265600:120000 -> 20000 1190400:60000 1728000:74000 1958400:80000 2265600:105000;
. Enabled fast charge configurations, set at 1200 mhA as I found it's a good charging speed without heating the phone too much on my hot city, nothing you can't change at your will.
241218 smartpack profile:
. Restored missing min_sample_time tunable since 081018 profile
. dirty_ratio 30 -> 25
. General cleanup
. Tested on Pie
@justjr
Nice work friend. Great to see that your finally open a place to share your findings. In my opinion, your profile should work on any klte device with minimum kernel support. I haven't seen much SmartPack specific stuff in your profile except some hotplug related things. So, if you make it as a shell script instead of KA/SP-Kernel Manager profile, it shall be beneficial for everyone. Anyway, as usual, I'll kang your changes to my kernel default profile
sunilpaulmathew said:
@justjr
Nice work friend. Great to see that your finally open a place to share your findings. In my opinion, your profile should work on any klte device with minimum kernel support. I haven't seen much SmartPack specific stuff in your profile except some hotplug related things. So, if you make it as a shell script instead of KA/SP-Kernel Manager profile, it shall be beneficial for everyone. Anyway, as usual, I'll kang your changes to my kernel default profile
Click to expand...
Click to collapse
I think this profile should work on original Kernel Adiutor, or any fork of it, shouldn't it?
It should work on any other kernel if the changes really stick, and uses the same paths, but MPDecision will mess with frequencies all the time. It would still follow the governor tunables anyway, but it will interfere with it and in the end will not gain too much efficiency out of it.
Actually I only state it is for SmartPack specifically because of the fact that is the only one I can disable MPDecision on our device, and because I included all the tweaks other then just governor tweaks.
Actually I'm kinda lazy right now, but I could do a shell script if any demand for it shows up.
justjr said:
I think this profile should work on original Kernel Adiutor, or any fork of it, shouldn't it?
It should work on any other kernel if the changes really stick, and uses the same paths, but MPDecision will mess with frequencies all the time. It would still follow the governor tunables anyway, but it will interfere with it and in the end will not gain too much efficiency out of it.
Actually I only state it is for SmartPack specifically because of the fact that is the only one I can disable MPDecision on our device, and because I included all the tweaks other then just governor tweaks.
Actually I'm kinda lazy right now, but I could do a shell script if any demand for it shows up.
Click to expand...
Click to collapse
Well, official KA (free version) doesn't allow to import profiles (paid feature), but all other mods does.
and yes, it is supposed to work on every klte device as long as the sysfs paths exist. Means it should work on any custom Kernel with lazyplug support (most of the other stuff are actually included in the stock kernel itself). Of course, the default settings provided by the kernel devs might conflict. e.g., as you said, MPDecision, although the line "stop mpdecison" in your profile will disable it. By the way, I'm not the only one who disabled mpdecision and relay on other hotplugs in this klte community
sunilpaulmathew said:
Well, official KA (free version) doesn't allow to import profiles (paid feature), but all other mods does.
and yes, it is supposed to work on every klte device as long as the sysfs paths exist. Means it should work on any custom Kernel with lazyplug support (most of the other stuff are actually included in the stock kernel itself). Of course, the default settings provided by the kernel devs might conflict. e.g., as you said, MPDecision, although the line "stop mpdecison" in your profile will disable it. By the way, I'm not the only one who disabled mpdecision and relay on other hotplugs in this klte community
Click to expand...
Click to collapse
Oh, really? Which one? I must had missed it. I've tested all kernels I could find. At least all the remotely up-to-date, like venom, tuned and boeffla kernels. I didn't see any option to change hotplugs on any. There were hotplug profiles, to keep cores online and stuff, but everyone of them keep changing min and max frequency at MPDecision will.
justjr said:
Oh, really? Which one? I must had missed it. I've tested all kernels I could find. At least all the remotely up-to-date, like venom, tuned and boeffla kernels. I didn't see any option to change hotplugs on any. There were hotplug profiles, to keep cores online and stuff, but everyone of them keep changing min and max frequency at MPDecision will.
Click to expand...
Click to collapse
Boeffla and Venom largely depends on MPDecision. However, as I remember correctly (on the basis of the code review, not from my experience, I never used it by myself), the Tuned kernel by @fbs disabled MPDecision upon booting to work well with its own Tuned hotplug.
sunilpaulmathew said:
Boeffla and Venom largely depends on MPDecision. However, as I remember correctly (on the basis of the code review, not from my experience, I never used it by myself), the Tuned kernel by @fbs disabled MPDecision upon booting to work well with its own Tuned hotplug.
Click to expand...
Click to collapse
I tested it too. And although he claims he uses hes own hotplug, it behave the same as boeffla and venom, it has the same profiles, and it does changes min and max freq out of my control.
justjr said:
I tested it too. And although he claims he uses hes own hotplug, it behave the same as boeffla and venom, it has the same profiles, and it does changes min and max freq out of my control.
Click to expand...
Click to collapse
no it doesn't change any freqs
it works by disabling or enabling cores, just that.
if any cpu reaches the maximum frequency, it enables one more core (as the other ones are already giving their best)
if any cpu reaches the minimum frequency too many times, it disables it (as it doesn't seem to be needed)
so in any moment you can have all 4 cores enabled or only 1. even with display on or off, it doesn't matter
mpdecision will NEVER let you use just 1 core, and it doesn't react as fast: battery hog
fbs said:
no it doesn't change any freqs
it works by disabling or enabling cores, just that.
if any cpu reaches the maximum frequency, it enables one more core (as the other ones are already giving their best)
if any cpu reaches the minimum frequency too many times, it disables it (as it doesn't seem to be needed)
so in any moment you can have all 4 cores enabled or only 1. even with display on or off, it doesn't matter
mpdecision will NEVER let you use just 1 core, and it doesn't react as fast: battery hog
Click to expand...
Click to collapse
Alright, sorry then, it seems my memories got clouded or something, as I've tested it about a month ago. I might go back any day just to test that. Thanks for giving us one more kernel option! :good:
UPDATE OP WITH
Description
Changelogs
New profile 011118, changelog:
. Few governor tweaks
. Removed Virtual Memory and LMK tweaks, let it on default or use L-Speed to optimize, it does a much better job then me
Also uploading the L-Speed profile I use so those who want to use it like I do, but you can choose any VM and LMK profile that fits your needs on the app. Just don't use the governor tuner because it will mess with my tunings, and l-speed governor tuning is a generic one for all devices, VM and LMK is OK to use generic tweaks, but not on governor.
@sunilpaulmathew I took a look at l-speed virtual memory and lmk profiles and they make incredible sense, take a look yourself, they may be what you need to put o that spectrum profiles, because above all they are device independent and do make a noticeable difference.
Is it valide for stock rom (6.0)?
lollazzo said:
Is it valide for stock rom (6.0)?
Click to expand...
Click to collapse
What kernel? It should work if the kernel have lazyplug or alucard hotplug, if is the late you just have to enable it.
Updates
SmartPack Manager Profile 031118:
. Governor tunning: better high load management;
. Included back only 3 sane VM configurations, no more freezing, better cooling (less cpu needed, while performance barely took a hit)
. Sane LMK configurations, kills apps not being used faster, retain some multitasking while not let it slow down the device
LSpeed Profile 031118:
. Removed most tweaks, only left minor stuff, refer to the OP.
L Speed profile is not really needed, SmartPack will do 99% of the job.
OP: descriptions for both profiles updated.
New profile.
I returned to Nougat, RR 5.8.5, same configs works awesomely and the device is cooler/faster then with Oreo. But still will works the same with both N/O and even Pie, not tested.
I also reinstalled Hearthstone as a high load app so I could tune the governor better for it, and up to 1490 MHz nothing is changed, and changed a bit target_loads and above_hispeed of the clocks above it so Hearthstone (and any other high load apps, or, using split screen with youtube) runs smoother/without lags and tasks like opening an app will finish faster, and also go back to a lower clock faster because of that. So, in the end it stays most of the time at lower clocks anyway, only difference is that it will jump faster when needed for less waiting time/lag.
Just to clarify, this is not suppose to waste battery, or drain it faster. As an efficiency profile the goal is to do the job you the want faster the possible, ramping up to the clocks that the jobs demands, without lags (or minimal lags) and go back to idle/lower clocks as soon as high clocks aren't needed anymore, so it don't overstay at a higher clocks then it's needed, very simple.
So, going to a high clock doesn't mean less battery life, finishing a job fast and going back to idle is the key to achieve more battery life, specially during deep sleep, when you really want your device go back to deep sleep fast, but also at any other time. Watching youtube, browsing and using low demand apps still uses the same clocks.
Also, on top of that you will spend more time USING the device instead of WAITING for it to finish a job. Battery life is very subjective, and SoT doesn't mean nothing IRL, I mean, are you spend that SoT waiting for a job to finish or to actually use the device?
081118 smartpack profile:
- target_load (no changes up to 1497600) ...1728000:89 1958400:91 2265600:95 -> ...1728000:88 1958400:90 2265600:95
- above_hispeed 20000 1190400:60000 1497600:64000 1728000:77000 1958400:84000 2265600:130000 -> 20000 1190400:60000 1728000:68000 1958400:79000 2265600:110000
- external storage read-ahead from 512 -> 2048 (because I've gone from a 8GB to a 32 GB SDCard, ADJUST YOURS ACCORDINGLY TO https://androidmodguide.blogspot.com/p/io-schedulers.html)
- cleaned unused and already default values from profile
File attached on OP.
I don't use SD card so what do I do?
razor17 said:
I don't use SD card so what do I do?
Click to expand...
Click to collapse
In that case nothing is needed, the configurations related to the absent sd card will not be applied.
Ok guys. I was wondering why my device was heating a lot more these last 2 days. Turns out both Alucard and Lazyplug were accidentally activated on 081119 profile. Turn one of them off and everything will be a lot better. Sorry for that. I will upload a new profile very soon.
edit:
101118 smartpack profile:
- Turned Alucard off, accidentally activated it with Lazyplug also enabled, not good!
- Managed to go 1 point higher on freq 1497 MHz, the 2 hotplugs enabled were messing with me trying to test this change before, also 1 point lower on the idle freq 268 MHz for smoother scrolling while still staying at freq 268 while idle. And some more high load optimizations now that I only got 1 hotplug enabled as it should always be.
- target_loads from 268800:29 ... 1497600:86 1574400:5 1728000:88 1958400:90 2265600:95 to -> 268800:28 ... 1497600:87 1574400:5 1728000:89 1958400:91 2265600:94
- above_hispeed 20000 1190400:60000 1728000:68000 1958400:79000 2265600:110000 -> 20000 1190400:60000 1728000:74000 1958400:82000 2265600:120000
- dirty_background_ratio 15 -> 10
I will give this a try. Hope it works well...
Yeah.
You know, try it and report back. I don't see any reports, so I assume is working well for people.
Any reports are welcome.
lentm said:
I will give this a try. Hope it works well...
Click to expand...
Click to collapse
Enviado de meu SM-G900M usando o Tapatalk
justjr said:
Yeah.
You know, try it and report back. I don't see any reports, so I assume is working well for people.
Any reports are welcome.
Enviado de meu SM-G900M usando o Tapatalk
Click to expand...
Click to collapse
No problems so far...greats for daily use..scrolling smoother than default..but pubg still laggy on lower res...may i know which rom are u using?
Hey guys recently i did a battery swap on my zenwatch with a true 400 mah(some modifications required), and finally got my watch to work after a year of being dead.
It now work really well, its responsive and till now i couldn't find any bug.
I did the normal
[ROM]ASUS-ZenWatch-3-WI503Q- Swift [6 DEC-2017][STOCK-NWD1.170623.001]
procedure and used the following kernel auditor configs
cpu max 1267mhz
cpu min 533mhz
cpu governor darkness
input interval 1500ms
io scaler mode noop
mem cleaner set to agressive but with 72 mb on primary
and on virtual memory i set the z-ram to 600 mb <- this did the most for the performance.
If someone wants more detail, please ask.
Even though its working with my smartphone normaly the gps data its not passed to the watch, anyone have a clue?
(yes the permission is allowed in both dispositives)
Can you detail where you got the battery and what modifications you did?