[APP] CpuFloat [March27] Floating cpu, gpu, temperatures, deep sleep, network monitor - ONE Themes and Apps

CpuFloat
Uses a floating window or the status bar to show
# the cpu frequencies
# the cpu temperature if (available)
# the text will turn red when the cpu temperature rises above the throttle temperature. You can set custom throttle temperature in preferences.
# the gpu frequency
# Gpu load; not normalised
# the gpu temperature if (available)
# the text will turn red when the gpu temperature rises above the throttle temperature.
# awake time; the time the phone has been awake since starting the app
# deep sleep time; the time the phone has been asleep since starting the app
# battery current
# battery current
# current upload and download speed
In preferences you can choose
# floating window layout; vertical or horizontal layout
# to show the window in the status bar instead of a floating window
# the categories to monitor; all, cpu, gpu, time, network
# which temperature sensor to use for cpu and gpu temperature
# to show the temperature in Fahrenheit instead of Celsius
# cpu throttle point; cpu temperature when the text should turn red
The app uses following permissions:
"android.permission.SYSTEM_ALERT_WINDOW" Needed for floating window, draw over other windows.
"android.permission.READ_EXTERNAL_STORAGE" Read data to show e.g. Cpu frequency, temperature etc.
"android.permission.VIBRATE"
Credits to:
CM Calculator apk for user interface logic
@m11kkaa for temperature file paths and thread http://forum.xda-developers.com/xposed/modules/mod-cputemp-statusbar-t2494170
@existz for awake and deep sleep time method http://forum.xda-developers.com/google-nexus-5/themes-apps/app-cpu-spy-material-v1-0-t2948627
@Grarak for GPU frequency file paths http://forum.xda-developers.com/android/apps-games/app-kernel-adiutor-t2986129
consp1racy for SeekBarPreference https://github.com/consp1racy/android-support-preference
The Tester for catching exceptions and throwing ideas
For automatic updates:

Request
If you´d like to use the app in your native language, you can!
How?
Download the string resource file, copy it and the translate the underlined part, for example
<string name="settings">Settings</string>
becomes
<string name="settings">Instellingen</string>
and post it in this thread.
Thanks!
ChangeLog:
March 17
-startup bug, thanks to Bryan
-GPU frequency on some devices
+battery temperature
Older changelogs:
September 26
- bugs
+ battery current correction
+ clear data dialog in case of fatal crash
September 24
+ battery current monitor
+ notification; enable if CpuFloat suddenly disappears
+ set monitor defaults
+use android M (6) permissions
+important notice about app permissions for android M (6) and up
+transparent background
+GPU trippoint
+ changelog
- some bugs
June 14
Fixed crash
Improve right to left layout
June 12
Added
#Text size
#Show window on the navigation bar
#Update interval (100ms - 3000ms)
#Number of CPUs to monitor
#First time helpful animation
#About screen
#Now on Google Play Store
Fixes and improvements
#Don´t update when the screen is off
#Don´t kill service when changing the window layout
#Language in settings
#Support more GPUs
#Use SeekBarPreferences in settings
November 12
# added some animations
# 'material' window look
# layout changes in case of more than 7 cpu cores
# broadcast listener for landscape/ portrait change
in preferences
# turn on/off vibration
# restore default values
November 3
# user interface logic
November 1
# fixed preference bugs
October 31
# manually set which temperature sensor to use for the cpu and gpu temperature
October 25
# hopefully fixed force close on start
October 23
# fix bug, window not showing on start
# custom cpu temperature trippoint in preferences
October 19
# used some icons instead of text
# option to show window in status bar
October 17
# started to make it work on other phones
# cpu and gpu temperature file info in preferences
October 14
# more layout options
# bugs and performance fixes
October 11
# no more StandOutWindow library
# no notification
# improved long press detection
October 4
# monitor up and download speed
# option to show the temperature in Fahrenheit
October 1
# warning in case the temperature reaches the throttle temperature of cpu or gpu
# tap app window to close
# long press app window for preferences
Preferences:
# choose horizontal / vertical layout
# choose what to monitor
September 27
# rewritten to make it easier to use on other phones
# new app icon
# smaller window
//TODO make preferences

Very nice app.
Thanks dude

That's a nice idea. The app is working without problems as far as I can tell. Great job man!
Sent from my OPO running Sultanxda's CM 12.1

Amazing app! Thanks man!

Nice app

Nice app - similar to the one developed by Chainfire (called Perfmon) but this one shows you the awake time and the temps.
Thank you for this

update:
# rewritten to make it easier to use on other phones
# new app icon
# smaller window

Nice app. Would be nice to have a widget like that.
Sent from my Oneplus One using XDA Free mobile app

Update
# warning in case the temperature reaches the throttle temperature of cpu or gpu
# tap app window to close
# long press app window for preferences
Preferences:
# choose horizontal / vertical layout
# choose what to monitor

Bugfix
Temperature warning not showing in horizontal layout

Thank you for this! Really helpful for monitoring governor and hotplug.

Update
Rewritten
Much smaller now
# no notification
# no more StandOutWindow library
# improved long press detection
Because of a change in package name,
please delete previous version, else you'll end up with 2

waterdaan said:
Update
Rewritten
Much smaller now
# no notification
# no more StandOutWindow library
# improved long press detection
Because of a change in package name,
please delete previous version, else you'll end up with 2
Click to expand...
Click to collapse
Very nice.
Thank you

arifqur said:
Very nice.
Thank you
Click to expand...
Click to collapse
Thanks for the positive reactions
Update
# more layout options
# bugs and performance fixes

Update
# started to make it work on other phones
# cpu and gpu temperature file info in preferences
Request
I'm trying to get the app to work on other phones, so if you have another phone, please test what's working.
If there's no cpu temperature, that probably means that the app can't find the temperature files. These are not the same on every phone.
If the phone is rooted, you can help me by copying and pasting below code in command line, with for example this app https://play.google.com/store/apps/details?id=jackpal.androidterm
And posting the outcome here, so I can add the missing file.
Code:
su
find /sys -type f -name *temp* -print0|while read -d $'\0' f;
do printf "$f= "&&cat "$f";done;
Thanks!
Gpu temperature is a bit more difficult, because you need to find out which temperature sensor is for the gpu, I found that information for the oneplus in
/etc/thermal-engine-8974.conf
Reported working on:
OnePlus fully working
Moto X gpu temperature not working
Samsung S4 gpu temperature not working
Thank you!!

Update
# used some icons instead of text
# option to show window in status bar
Edit
The app is fully working on the Sony Z3 Compact, it even uses the same files for cpu temperature and gpu temperature, maybe because it also has a snapdragon 801, but I'm not sure about that.

I must be missing something but how do I reopen the window after having tapped on it to close it?
Because opening the app from the drawer takes me to the preferences screen.

Killerkip said:
I must be missing something but how do i reopen the window after having tapped on it to close it?
because opening the app from the drawer takes me to the preferences screen.
Click to expand...
Click to collapse
You're right, that's not very clear, I'll see if I can change that.
For now just change something in the preference screen and a new window will open.
Thank you for your reaction

Update
# fix bug, window not showing on start @Killerkip
# custom cpu temperature trippoint in preferences

Related

SetCPU for Root Users [2.2.4] Undervolting and more 07/07/2011

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.

[KERNEL][GPL][4.2.2][July 10][b10] m_plus kernel for mako

m_plus kernel for Nexus 4 (mako)!
Hi all, since _motley has been MIA of late and his work was my favorite kernel for the Nexus 4, I have decided to continue his work in his absense. As a result much of this thread will look very similar to _motley's original thread here: http://forum.xda-developers.com/showthread.php?t=2021437. I would like to personally thank _motley for his work and dedication to this project, I only hope I can keep his loyal users happy in his absence.
Disclaimer: As usual, I am not responsible for anything that may or may not happen to your device as a result of using this kernel or any other flashable zips posted by me in this thread.
Features
Highly customizable with scripts. See post #2 for all the tuning options.
Google 3.4 base. All stock features are of course supported (camera, NFC etc.)
Compiler optimizations (-O2 + others) - using 2012.12 Linaro toolchain
Full ramdisk install with init.d support for stock/AOSP (CM already has support, for stock you must install busybox!)
CPU Overclock steps 1.56, 1.62, and 1.67GHz (default freq is still stock on boot, OC is optional)
304MHz lowest CPU freq step added with lower voltage than stock, since the device spends a lot of time at this frequency.
Safe UV by default for nominal, fast, and faster binned chips.
Voltage control - be careful to not save the setting on boot until you are 100% sure it is stable! (thanks faux123! + my tweaks)
In-kernel auto_hotplug (thanks to thalamus). I have added and exposed all the tuning parameters and a debug mode to userspace.
Customized in-kernel thermal solution smart scaling, dynamic polling, and configurable throttle temp.
Custom PowerHAL module (spam-free Android log from PowerHAL events)
Controllable touchboost frequency and duration
Gamma and Sound control (thanks faux123!)
Fsync control (3 modes)
USB Force Fast Charge
I/O schedulers - SIO(optimized), deadline (optimized), row, cfq, noop, and fiops
TCP Congestion Control (several choices available) - veno is the default
Governors - Interactive (default), OnDemand, PowerSave, Conservative
CIFS, NFS, NTFS r/w, TUN - built-in, no need for any kernel modules
Other misc patches and tweaks (see github link at the bottom of this post)
GPL compliant - source is kept up to date at github.com and released at the time the kernel is released to the public via this post. Demand that other devs do the same!
Requirements (please read carefully and visit the other dev threads as necessary)
Boot-loader must be unlocked and you must have a custom recovery installed (CWM or TWRP).
Have your ROM zip on your /sdcard so you can restore your whole ROM if necessary.
Do a complete backup using custom recovery so you can restore your boot.img and ROM if necessary!
System Tuner is recommended for monitoring/tuning the CPU, especially for voltage control. Other kernel apps like faux123's will likely work as well, but they have not been tested.
AOSP ROMs including stock - for init.d support, you must have a working busybox install in /system/xbin.
Installation
Check the requirements above and read release notes below for the build # you are installing for any extra instructions!
If coming from another kernel, read the instructions in red below and follow them before flashing.
Flash the the kernel zip using your custom recovery.
Optional: if you want to revert back to what you had, restore your backup of your boot.img in recovery. Another option for reset back to stock is to flash the stock reset zip above. For other custom ROMs, dirty flash your custom ROM in recovery to get your default kernel and ramdisk back.
If you have issues and are coming from another custom kernel or ROM, follow these instructions first before the install. Many custom kernels are changing the ramdisk or other binaries that require a reset before moving back to stock or another kernel.
Reset for Stock ROM - flash this reset package that includes the stock kernel, ramdisk, thermald, mpdecision, and PowerHAL binary. This can also be used if you are using the stock ROM and want to go back to stock.
Download - N4_422_stock_kernel_and_components.zip
MD5 - f801fc7702e29d85447e9b6fdc880549
Reset for any non-stock ROMs like CM, AOKP etc - dirty flash your current ROM or nightly zip then your gapps in recovery (just flash, no wiping). This will give you back your original ramdisk, kernel, and other binaries that other kernel devs may have tweaked, renamed, replaced etc.
Builds
Personal Request: If you plan to make unofficial builds with features not included in the builds posted by me, please don't link them in the thread, all this does is result in confusion especially if someone has a problem with something you have added, it is much easier for me to provide support if I know that everyone in the thread is running the same builds I am. If you want to make a kernel with these features, feel free to start another thread so that they can be discussed and supported as appropriate.
Current Buildbot Status:
Source: https://github.com/thracemerin/kernel-Nexus4
As with _motley's builds, the stable version will be a base build which includes the ramdisk and other component binaries to make the kernel work as expected, you will need to flash the stable version prior to flashing any experimental versions or something may not work as expected.
All files are now available from goo.im: http://goo.im/devs/thracemerin/mako/m_plus
Note: Due to goo.im file naming rules I had to change the name of the zip to m_plus from m+, this has no effect on the content, the ones on goo.im are identical to those that were on dev-host other than the names.
Change Logs
Note: The builds below are for 4.2.2 only, for the latest 4.3 alpha builds check the last few pages of the thread. *4.3 builds will appear on goo.im when they are closer to being official production builds.
This thread is for 4.2.X versions only, use the following threads for 4.3:
JW Builds: Thread not available yet, Alpha 3 is still here: http://forum.xda-developers.com/showpost.php?p=43993185&postcount=860
JS Builds: http://forum.xda-developers.com/showthread.php?t=2385840
Build 10 (Exp) - July 15, 2013
Note: You must be on Build 1 or later. (Build 8 if you are on MIUI)
Various patches to the kernel to prevent out of bounds access to memory (see github for details)
Added sweep2wake, it is disabled by default, see post 2 for info (thanks to show-p1984)
Added a patch to fix some unusual behavior with the LEDs (thanks to CM)
Build 9 (Exp) - July 3, 2013
Note: You must be on Build 1 or later. (Build 8 if you are on MIUI)
Added the simple GPU governor for Qualcomm Adreno GPUs thanks to Faux123 (set as default, no need for the script required in the Alpha). Tunables explained in Post 2.
Build 8.1 (Exp) - June 20, 2013
Note: You must be on Build 1 or later. (Build 8 if you are on MIUI)
Actually reverted some of the msm_hsic patches because they seem to cause data drops (I only pretended I did in Build 8, oops )
Build 8 (Exp) - June 18, 2013
Note: You must be on Build 1 or later.
Reverted some of the msm_hsic patches because they seem to cause data drops
Now build with the Linaro 4.8.2.2013.06 toolchain
Switched the allocator from SLUB to SLAB because SLUB wouldn't boot when compiled with 4.8
Various fixes to allow building with 4.8
Build 7 (Exp) - May 26, 2013
Note: You must be on Build 1 or later.
goo.im seems to be a little flaky this afternoon, alternative downloads here: http://forum.xda-developers.com/showpost.php?p=41865828&postcount=416
Patches to freezer from Colin Cross
More patches to workqueue from CAF
Patches to the cpufreq driver from CAF
Reverted lowest frequency step to 384MHz (See Post 3 for why)
Fixed board-mako-regulator.c to allow for UV to work (Warning: Reset your UV settings if you have UV below 850mV, if you flashed the previous alphas this is probably not necessary.)
Reset undervolting to stock from Google, just in case the above causes problems for new adopters (You still have full access to undervolt to 600mV if your chip can handle it)
Added the change pointed out by veyka here: http://forum.xda-developers.com/showpost.php?p=41730297&postcount=380
Some more patches to the hsic controller that were in my other project but not this one.
Build 6 (Exp) - May 19, 2013
Note: You must be on Build 1 or later.
CAF changes to cpufreq
CAF changes to workqueues
Build 5 (Exp) - May 12, 2013
Note: You must be on Build 1 or later.
CAF patches to block.
CAF patches to the charging and battery management system.
CAF patches to the video driver.
Build 4 (Exp) - May 5, 2013
Note: You must be on Build 1 or later.
A few more sched patches from CAF
Patches to android lowmemory killer from CAF
Headphone poweramp controls (thanks to Faux123)
Build 3 (Exp) - May 3, 2013
Note: You must be on Build 1 or later.
Various sched patches that were in _motley's 4.2.1 kernel and not his 4.2.2 kernel
FIOPS i/o scheduler is back
192mhz frequency step added (thanks to showp1984)
Note: The ramdisk currently forces the minimum to 304mhz so i added an init.d script to force it to 192mhz so I didn't have to redo the ramdisk.
I'll fix this in the next base build.
If you still want to use 304mhz as your lowest step, see post 3 for details on how to do this.
Note 2: The voltage is the same as the one _motley used for 304mhz for stability reasons, it will still use less power, but feel free to uV it if you like.
Build 2 (Exp) - April 30, 2013
Note: You must be on Build 1 or later.
Update ROW i/o scheduler to the latest from CAF, now default i/o scheduler
FIOPS i/o scheduler was removed because _motley added FIOPS and ROW as 1 commit and messing with ROW screwed it up.
Hardcode ROW magic values (thanks to franciscofranco & osm0sis)
Update interactive governor to the latest from CAF (it may be a little less aggressive)
Krait Retention (thanks to CAF, faux123)
Build 1 (Base) - April 29, 2013
Everything from _motley's b49 build up to this point.
Built with the linaro 2013.04 gcc-4.7 toolchain
Thanks
Google - For AOSP sources
LG - for building the N4
Qualcomm/CAF - for their updates to the N4 kernel
_motley - for all his work on this kernel
faux123 - patches included that were initially written by him
franciscofranco - patches included that were initially written by him
showp-1984 - patches included that were initially written by him
anyone else i've neglected to include, if you feel you deserve to be thanked by name by all means PM me
Tunables should be the same as _motley's kernel so I'm quoting him here:
(All the tunables that are discussed in _motley's thread http://forum.xda-developers.com/showthread.php?t=2021437 should work the same way on this kernel)
_motley said:
Setting custom RGB color settings via sysfs
This can be done from the adb shell on your PC, or any terminal app. If you change them, they will not persist after a reboot. However, you can set them in an init.d script if you found another color combination that you like better than the one I have used.
Code:
echo "255 255 255" > /sys/devices/platform/kcal_ctrl.0/kcal
echo 1 > /sys/devices/platform/kcal_ctrl.0/kcal_ctrl
Command 1 sets the color and Command 2 commits them. Stock is 255 255 255.
Setting custom Gamma settings via sysfs - Exp kernel build 31+ only - thanks to faux for sharing his code
Warning: changing these values can be potentially be dangerous to your display if you make a mistake. For those that feel comfortable with what they are doing and want to experiment, please report back and share your findings.
Important, please read!
There are ten digits in the string separated by one space
First digit is a checksum and is never stored. The checksum is simply the sum of the other 9 numbers. This is to make it harder to so the interface is respected and you are forced to think about what you are doing.
There are 3 sysfs interfaces for gamma, one for each color:
Code:
#!/system/bin/sh
# Show the current configuration and the checksum
cat /sys/devices/platform/mipi_lgit.1537/kgamma_red
cat /sys/devices/platform/mipi_lgit.1537/kgamma_green
cat /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Update:
Recently molesarecoming started opening this up and showing us what the values can be used to adjust. Franco then suggested that the white and grays should be swapped in moles original work. So, for init.d values using this interface, we have the following "banks" if values if we agree with Franco on the swap of the whites and grays.
Code:
R: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
G: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
B: checksum, g_white, g_mids, g_black, 0, g_contrast, g_brightness, g_saturation, g_grey, 2
(the zero in position 5's and the 2's in position 10 are recommended to be left alone since they are currently unknowns)
Minus the checksum, the 27 values mirror the 3 color arrays (3 x 9 = 27) in the actual LG LCD driver. Minus the unknowns, we are left with 21 values. Note that every one of the variables can have their value tweaked by color (saturation for red, saturation for green etc.), however, it is recommended that you start with all the values of one type being the same and then tweak from there if you really want to fine tune.
You have a lot of power in your hands even without fine tuning. Many will argue that fine tuning isn't required. If you look at the stock settings by Google in post 2, they took advantage of fine tuning for whatever reason. Even though many don't like these settings by Google, it shows how flexible the interface can be.
Instructions:
1) Start with a preset config (LG or Google) as shown further below. This is a set of 3 lines, 10 numbers for each line.
2) Tweak columns for their values as above. For example, we tweak contrast and brightness as in faux's original app. We could also do the same for saturation, blacks, whites, grays etc.
Example: start with LG presets with numbers to adjust:
383 114 21 118 0 10 4 80 48 2
383 114 21 118 0 7 4 80 48 2
383 114 21 118 0 5 1 80 48 2
3) Now update the checksum in column 1 (first digit = sum of last 9 digits)
397 114 21 118 0 10 4 80 48 2
394 114 21 118 0 7 4 80 48 2
389 114 21 118 0 5 1 80 48 2
4) Create a script inside a text file - my recommendation for your first test
Code:
#!/system/bin/sh
# Set data color pro presets from shared Google spreadsheet (thanks user acer73!)
# Use LG presents as your starting values and then adjust columns 6 & 7 from the spreadsheet
echo "397 114 21 118 0 10 4 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "394 114 21 118 0 7 4 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "389 114 21 118 0 5 1 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
#Set the complimentary RGB values for this calibration
echo "248 248 248" > /sys/devices/platform/kcal_ctrl.0/kcal
echo 1 > /sys/devices/platform/kcal_ctrl.0/kcal_ctrl
5) Run the script (or you can echo each line manually to test from adb if you prefer).
6) Turn the screen off and on for the gamma change to take effect.
7) Check the dmesg output for any clues and to see the output of the result.
8) Place the script into your /system/etc/init.d/ folder (or equivalent) for a permanent color change!
Screen refresh (added in b37) - this should only be called by apps or scripts while adjusting and testing colors "live" with the motley or faux sysfs interface. It should NOT be implemented on startup via init.d or by apps since it will compete with the normal power on process.
Code:
echo 1 > /sys/devices/platform/mipi_lgit.1537/refresh_screen
Presets:
Code:
#!/system/bin/sh
# Set LG presets (motley stock) - i.e. popular partial revert of Google's tweaks just before release
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "383 114 21 118 0 0 0 80 48 2" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Code:
#!/system/bin/sh
# Set stock Google presets (from kernel source code)
echo "332 64 68 118 1 0 0 48 32 1" > /sys/devices/platform/mipi_lgit.1537/kgamma_red
echo "332 64 68 118 1 0 0 48 32 1" > /sys/devices/platform/mipi_lgit.1537/kgamma_green
echo "364 32 35 116 0 31 16 80 51 3" > /sys/devices/platform/mipi_lgit.1537/kgamma_blue
Spreadsheet with shared settings
https://docs.google.com/spreadsheet/ccc?key=0AoDp2qRui0u0dGE4T2gtSDBTRHVFSldPS2RrX1Rya0E#gid=0
FSYNC Control
Notes: I thought about combining these options, but many kernel apps already support these two options. So, I have them both and they can be controlled in combination to give us the 3 modes. If you set fsync_enabled = 0 it will be OFF regardless of how Dyn_fsync_active is set.
3 Modes:
Dynamic (default in b35 and higher)- fsync is asynchronous when screen is on, when screen is off it is committed synchronously
dynamic fsync ON
fsync ON
Code:
echo 1 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled
Off (best performance, less safe) - fsync is always asynchronous (b32 and prior builds)
dynamic fsync OFF
fsync OFF
Code:
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 0 > /sys/class/misc/fsynccontrol/fsync_enabled
Stock (safest) - fsync is always committed synchronously
dynamic fsync OFF
fsync ON
Code:
echo 0 > /sys/kernel/dyn_fsync/Dyn_fsync_active
echo 1 > /sys/class/misc/fsynccontrol/fsync_enabled
There is a lot of info out there on fsync, that will not be discussed here. I have run fsync off on several devices for awhile now and haven't experienced any issues. If you are using a device that is not stable and crashes alot, I recommend enabling it via init.d or script manager on boot. Hopefully your N4 is as stable as is mine.
USB Force Fast Charge
You can turn it on with popular apps (like Trickster MOD) that support the common sysfs toggle as shown below.
If you don't like it or don't want to use it, it is off by default.
Turn ON:
Code:
echo 1 > /sys/kernel/fast_charge/force_fast_charge
Turn OFF:
Code:
echo 0 > /sys/kernel/fast_charge/force_fast_charge
Notes:
When it is ON, you will not be able to connect your phone to your PC (adb, mtp etc.). This is expected behavior.
To start charging: turn fast charge ON, plug the USB cable into your PC, and charge up.
To stop charging: unplug the USB cable and turn fast charge OFF. Now you can plug back into your PC for normal trickle charging, adb/mtp etc.
Tip: if you see it connect to your PC (media device or adb), it isn't working. Unplug the cable, wait a couple seconds and plug it in again.
Boostpulse control - Experimental build only
Trickster MOD works great to play with these.
How long does it boost when Android senses touch? (in b10 and b14 it is above_hispeed_delay)
Code:
/sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
What freq does it boost to?
Code:
/sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
Turn touchboost OFF/ON (in b10 and b14 only)
Code:
/sys/devices/system/cpu/cpufreq/interactive/input_boost
Thermal Throttling and Hotplug Control - Experimental build only
Warning: these do not have to be changed from the defaults and could potentially be dangerous if you make a mistake. For those that know what they are doing and want to experiment with settings, scripts etc. please report back your findings.
msm_thermal:
Throttle temp in C. Default is 70, valid range is 45 to 80 (recommend to not go over 75):
Code:
/sys/module/msm_thermal/parameters/throttle_temp
Minimum freq used in throttle down before returning to max, default is 7 = 1.13GHz. Range is 4 to 8 (810Mhz to 1.24GHz)
This is the index in the frequency table as seen in Trickster MOD, System Tuner etc. It is zero based (i.e. 304MHz is zero).
Code:
/sys/module/msm_thermal/parameters/min_freq_index
Turn on thermal debugging so you can see what is happening in the kernel log:
Code:
/sys/module/msm_thermal/parameters/thermal_debug
auto_hotplug:
Load based hotplugging parameters. I have taken _thalamus' base (thanks!) and have exposed most of the tuning parameters to userspace.
Turn off/on hot_plug debugging Y/N, default N, this spams the kernel log like crazy, turn on only when troubleshooting/testing
Code:
/sys/module/auto_hotplug/parameters/debug
Load at which a CPU is taken offline, 40-125, default 80:
Code:
/sys/module/auto_hotplug/parameters/disable_load_threshold
Load at which an extra CPU is put online, 130-250, default 200:
Code:
/sys/module/auto_hotplug/parameters/enable_load_threshold
Load at which all CPU's are enabled, 270-550, default is 400 (or 100 x number of cores):
Code:
/sys/module/auto_hotplug/parameters/enable_all_load_threshold
Sample rate in milliseconds, converted to jiffies at runtime, 10-50ms, default 20:
Code:
/sys/module/auto_hotplug/parameters/min_sampling_rate
Number of samples in the circular buffer, 5-50, default 10 (more samples = less aggressive; less samples = more aggressive):
Code:
/sys/module/auto_hotplug/parameters/sampling_periods
Maximum number of cores online (regardless of load) when screen is on, 1-4, default 4 (tune down for battery savings):
Code:
/sys/module/auto_hotplug/parameters/max_online_cpus
Minimum number of cores online (regardless of load) when screen is on, 1-4, default 1 (tune up for performance/bench-marking):
Code:
/sys/module/auto_hotplug/parameters/min_online_cpus
Vibration Intensity
You can also use Trickster MOD to set this.
Example increase intensity:
Code:
echo "90" > /sys/class/timed_output/vibrator/amp
To go back to stock:
Code:
echo "70" > /sys/class/timed_output/vibrator/amp
Why are the base voltage tables different on some phones
What CPU do you have? Nominal, Fast, Faster ...or Slow
The phones with the lower default voltage values use the "fast" or "faster" frequency table, consider yourself lucky. This explains why some can't UV as much as others since they are starting with lower mV's to start. These are built in factory tolerances that depend upon the binning of your chip. I am familiar with the same thing in the tegra3 world where I have had more experience. So, don't worry as this is commonly done in this industry. Hopefully folks don't go freaking out because they have a nominal chip like I do. It's probably good for a dev to have a nominal chip so we can better honor the limits.
http://en.wikipedia.org/wiki/Product_binning
How do I tell what I have?
If you boot up your phone fresh and look at the dmesg output (kernel log) while the messages are still there, you will find one of the following output messages where it selects it's frequency plan depending on the binning of the chip.
Code:
adb shell dmesg | grep PVS
acpuclk-8064 acpuclk-8064: ACPU PVS: Nominal
-or-
acpuclk-8064 acpuclk-8064: ACPU PVS: Fast
-or-
acpuclk-8064 acpuclk-8064: ACPU PVS: Faster
-or-
acpuclk-8064 acpuclk-8064: ACPU PVS: Slow
I have tweaked all the frequency tables nominal, fast, and faster (as well as slow to compensate for the lower freq) to keep them similarly scaled relative to stock. If you don't like the safe defaults (already UV'ed), then use voltage control and come up with your own preferred values.
Click to expand...
Click to collapse
C State Information
(thanks to faux123 - more info here: https://plus.google.com/109078966818501160423/posts/9R8fjQdHDXD)
faux123 recommends C0, C1 and C3 here: http://forum.xda-developers.com/showpost.php?p=40151528&postcount=9775
C0 (WFI) - Shallowest Sleep (default enabled)
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/wfi/idle_enabled
C1 (Retention) - slightly deeper sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/retention/idle_enabled
C2 (Stand Alone Power Collapse) - deeper sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
C3 (Power Collapse) - deepest sleep
Code:
enable: echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
disable: echo 0 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
Simple GPU Governor Tunables
Code:
/sys/module/msm_kgsl_core/parameters/simple_laziness
Laziness: Adjusts the number of times the governor skips ramp down requests. (Higher = better performance, higher battery drain)
Code:
/sys/module/msm_kgsl_core/parameters/simple_ramp_threshold
Threshold: Adjusts the threshold to ramp up or down the GPU frequencies. (Lower = better performance, higher battery drain)
To enable sweep2wake:
Code:
echo 1 > /sys/android_touch/sweep2wake
Frequently Asked Questions
Q: You gave us 192Mhz, now you removed it and set 304Mhz back to 384Mhz, why?
A: Good question, there had always been some speculation in this thread and others that frequencies below 384Mhz were not in fact being set correctly, show-p1984 managed to run his device at 27Mhz with no stability issues (this should be impossible) so we did some quick and rather unscientific benchmarking in this thread and found that there didn't seem to be any difference in CPU performance between 192Mhz and 304Mhz (and there should have been), I then speculated that 304Mhz was also not being set, after a little more unscientific benchmarking I determined that there was no difference in performance from 304Mhz to 384Mhz either, so based on this I don't see any reason to allow these frequencies.
Q: I don't want to use the 192mhz frequency, how can I disable it? (Build 3-6)
A: One of the four options below will fix it:
You can delete my script, it's located at /system/etc/init.d/01cpu and reboot, this will set you back to 304mhz minimum.
You can remove it from the zip file (same location in the zip hierarchy) before you flash.
You can use your favorite kernel tuner (trickster, fauxclock, etc...) to switch the minimum frequency back to 304mhz and set it on boot.
You can change the /system/etc/init.d/01cpu script to set whatever minimum frequency you want (it has to be a valid one from the table)
Q: If the 192mhz and 304mhz steps use the same undervolt settings, how can 192mhz use less power?
A: The formula for power consumption is: P = f * c * V ^ 2
Where: P = power consumption, f = frequency, c = capacitance and V = voltage
So: since c is constant in this case, and we'll assume you've used the lowest UV possible (600mV)
At 304mhz: P = 304 * c * 600 ^ 2
At 192mhz: P = 192 * c * 600 ^ 2
This means that 304mhz uses approximately 1.58 times more power than 192mhz over the same time.
Q: There are a bunch of fixes for the delayed notification issues in various threads, what should the settings be for this kernel?
A: The following values should be set in your /system/etc/wifi/WNCSS_qcom_cfg.ini (depending on your ROM you may have different values), these are the Google stock values and appropriate for this kernel.
Code:
McastBcastFilter=3
HostArpOffload=0
gEnableSuspend=3
You can set these values by flashing this: wlan_revert.zip - MD5 - 381013687035626bcb1cbaf609ea4311
Q: Does this kernel include the ARP offload patch?
A: No, and for those of you following my other thread here: http://forum.xda-developers.com/showthread.php?t=2102986 you will know that there is an issue where our WiFi chip responds to ARP requests with a bad MAC address during deep sleep, this results in problems with direct connect (WiFi direct, AirDroid, etc...) and can cause issues with certain types of routers and networks that do not cache ARP addresses for long, as a result I no longer use it in my other kernel either. I am using a different solution which solves the problem for me and many others but has a slight battery life hit, I will post a flashable zip to modify the binaries to include this fix at a later time, but for now if you wish to include this fix do the following.
Code:
open /system/etc/wifi/WNCSS_qcom_cfg.ini in your favorite file editor
find the line that currently reads gEnableSuspend=3
change the line to read gEnableSuspend=2
save the file
reboot your device.
Q: I flashed this kernel and my battery life sucks! WTF?
A: Clearly I didn't design this kernel to drain your battery (nor did _motley) and in my experience most battery drain issues are app related and not kernel related. In order to help me help you solve the problem, please download Better Battery Stats either from the Play Store (costs money, but I strongly encourage supporting the dev) or the free version from XDA and provide me with a dump file for a few hours of use so I can see what is going on with your device, if you don't do this I will assume the battery drain is your fault and will ignore your complaint.
Q: Can you add feature x from kernel y?
A: Maybe, I'm not going to take this kernel and stuff it full of every single idea anyone has while lying in bed trying to fall asleep, but if the feature seems like something that most would use and it's in a reasonable state of working (ie. not something that someone else just started working on) then I will consider adding it, absolutely no promises in this regard.
Q: I got a random reboot, SOD, other bug that must be kernel related, what do I do?
A: Provide me with appropriate logs (dmesg, logcat, last_kmsg (see my sig)) and instructions on how you caused this if possible, if I can't reproduce the issue and I can't see it in the logs there is nothing I can do. Be as detailed about what you were doing at the time it happened, more information is always better than less.
Q: If _motley comes back what will happen with this project?
A: Well, I don't want to step on any toes here, this was originally _motley's work, what happens to it long term if he returns will ultimately be up to him. If he wants to continue from where he left off and merge his own changes beyond b49, I may keep going as a separate project, if he wants to fork me and continue from the point I'm at when he returns that's ok with me too and I'd probably stop if that were the case, but we're speaking in hypotheticals here, anything is possible.
Q: Touch control doesn't work! Why not?
A: Touch control requires a module that is compiled by the author and provided as a pre-compiled binary. I'm not specifically looking to break it's functionality, but changes I make may cause it to stop working at any time between releases, the only way to get this fixed is to speak to the author of the addon and have him recompile the module. If he needs my assistance with anything specific to this kernel, I will do my best to help him out.
Pre-release (Alpha) Builds
These builds are the latest builds produced by the buildbot from the wip branch.
WARNING: These builds should be considered alpha, may contain a lot of bugs, may be unstable, and may be partially or completely non-functional. That being said, I am usually running these builds so if they are really badly broken I'll remove them ASAP.
http://goo.im/devs/thracemerin/mako/m_plus/wip
Current Buildbot Status:
Current Alpha: None, use Build 10!
What's changed:
Thanks for continuing Motleys kernel, waiting for links to download and flash.
Build 1 is up, happy flashing :victory:
Thank you very much for the kernel, I'm glad to see the motley's great work doesn't get forgotten.
PS: a benchmark for the ones that like it, stock settings and sabermod rom.
{
"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"
}
I hope _motley is alright. Thank you for continuing to develop this great kernel in his absence.
Will you be including the new Prima drivers and retention patches introduced by kszaq to fix some of the wifi problems? I know it's not a solution for everyone, but I personally thought it worked well with no battery hit and some others seem to agree.
Anyway, thank you for your work and good luck with _m+ .
mko000 said:
I hope _motley is alright. Thank you for continuing to develop this great kernel in his absence.
Will you be including the new Prima drivers and retention patches introduced by kszaq to fix some of the wifi problems? I know it's not a solution for everyone, but I personally thought it worked well with no battery hit and some others seem to agree.
Anyway, thank you for your work and good luck with _m+ .
Click to expand...
Click to collapse
Krait retention, yes.
Prima/ARP Offload, not right now, there is a workaround and better explanation for why in post 3, I'll continue to work on it in my other thread, if I get to a fully working solution, then absolutely. The current issue with the Prima driver makes my phone unusable for something I do on a daily basis which is why I will not do it currently (I want to be able to use this kernel as my daily driver).
Flashed the CM build, all fine thanks! Felt the smoothness of Motleys kernel again.
Very nice! Um, I took a look at your git, but i couldn't work out what you added over b49 heh, mind giving a quick summery?
Sent via Nexus 4
veyka said:
Very nice! Um, I took a look at your git, but i couldn't work out what you added over b49 heh, mind giving a quick summery?
Sent via Nexus 4
Click to expand...
Click to collapse
Nothing atm, this release was just a stable start to move forward on and proof that I had the infrastructure set up to actually build with linaro gcc-4.7. I'll have another release in a day or two with some new stuff
Plus, it avoids having to get people to get b37 & b49 from _motley's thread before moving forward with builds here.
thracemerin said:
Nothing atm, this release was just a stable start to move forward on and proof that I had the infrastructure set up to actually build with linaro gcc-4.7. I'll have another release in a day or two with some new stuff
Plus, it avoids having to get people to get b37 & b49 from _motley's thread before moving forward with builds here.
Click to expand...
Click to collapse
Cheers! So i wasn't being a brainless derp then
Sent via Nexus 4
thracemerin said:
Krait retention, yes.
Prima/ARP Offload, not right now, there is a workaround and better explanation for why in post 3, I'll continue to work on it in my other thread, if I get to a fully working solution, then absolutely. The current issue with the Prima driver makes my phone unusable for something I do on a daily basis which is why I will not do it currently (I want to be able to use this kernel as my daily driver).
Click to expand...
Click to collapse
Hey fellow super android lol nice work with this kernel. I'm gonna give this a whirl and see how it performs. Thanks for continuing motley's kernel.
thracemerin said:
Nothing atm, this release was just a stable start to move forward on and proof that I had the infrastructure set up to actually build with linaro gcc-4.7. I'll have another release in a day or two with some new stuff
Plus, it avoids having to get people to get b37 & b49 from _motley's thread before moving forward with builds here.
Click to expand...
Click to collapse
I guess I'll wait a few more days then
Sent from my Nexus 4 using xda app-developers app
iamhacked said:
I guess I'll wait a few more days then
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
I can push build 2, I just haven't tested it hardly at all and if it blows someone's device up I'd feel bad.
thracemerin said:
I can push build 2, I just haven't tested it hardly at all and if it blows someone's device up I'd feel bad.
Click to expand...
Click to collapse
take your time. dont rush. i know people are chomping at the bit for something new but ignore them.
or post a test build and let us blow up our phones haha :good:
Hi, if I may make a request, do you think it's possible to lower the minimum allowed voltage?
Sent from my Nexus 4 using xda app-developers app
Logi_Ca1 said:
Hi, if I may make a request, do you think it's possible to lower the minimum allowed voltage?
Sent from my Nexus 4 using xda app-developers app
Click to expand...
Click to collapse
It's 600mV right now, correct?
Yup, it's 600mv now. I was thinking that since the phone spends most of its time at 384mhz, and for me that frequency is totally stable at 600mv, it's probably possible that the voltage at 384mhz can go even lower. However I noticed that most of the other kernels have higher minimum allowed voltages, so there may be a reason for that that I'm not seeing here.
Sent from my Nexus 4 using xda app-developers app

[KERNEL][3.0.31][HDMI][FULL HD][GUIDE 1.8]JBX-Kernel Hybrid [1,5ghz]

/// JellyBeanX-kernel ///​
DISCLAIMER
Me, XDA-Developers.com and anyone else doesn't take any repsonsibilty for damages on your device!
Rooting your device will void your warranty!
Don't play with settings you aren't familiar with, you could burn your device!!
Click to expand...
Click to collapse
READ THIS: READ BEFORE YOU ASK and HELP TO KEEP THIS THREAD MORE CLEAN! BUT ALSO BETTER ASK ONCE MORE BEFORE YOU MESS UP YOUR PHONE! If you find something missing in this OP/FAQ, please PM me and I will add it. Thank you!
This is a custom kernel mostly based on Motorola's 3.0.8 Hybrid Kernel which was initiated first by the STS-Dev-Team (Hashcode, Dhacker).
I created this kernel for my main goal: BATTERY LIFE! Like many other custom kernels this one also supports several performance related features like OVERCLOCKING, UNDERVOLTUNG, GPU CONTROL, CPU OPTIONS, RAM TWEAKS, etc etc... But my main goal was not to bring up a kernel which is fast as hell - I want to bring up a kernel that is fast + a long lasting battery! Many custom kernels are also very fast but they don't save battery. JBX-Kernel is supposed to push your device to great speed while being on low power settings. I hope you enjoy it!
If you want to support me and my work just leave me a beer.
You can find the FAQ at the bottom of this post!
LATEST CHANGES
FULL HD Video Recording is working now!!! See Downloads section below!
--> DETAILED CHANGELOG JBX-kernel Hybrid 4.4 <--
Kernel Guide by Placca 1.8!!
Check the FAQ section at the bottom of this post to download it! It will make many things easier for you and help you to understand the kernel and its features!
FEATURES
JBX-Kernel Hybrid
Battery Friend toggle (a battery friendly mode)
Intelli-Plug (Kernel side replacement for msm MPDecisions) by Faux123 + patches by me (no hotplugging when screen is ON)
Dynamic Hotplug: Second core will be turned off ONLY while screen is off - independent from selected governor. (Not needed when using Intelli-Plug)
Optimized OPP Table for smooth CPU scaling
Frequencies: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300
Modifed Smartreflex driver (Custom Sensor for detecting n-Value).
Smartreflex Tuning Interface: Set min/max calibrated voltage
Overclocking using Live OC (mine runs stable at a maximum frequency of 1,498ghz!)
hwmod, uart, IRQs - cleanups from pre-kexec config to safe power
CPU: lower voltages for CORE and IVA. Give CORE the abbility to scale up to higher voltage if needed
Added IVA_NITROSB
Dynamic fsync control: FSYNC interval is dynamic depending on screen state (SCREEN OFF: synchronous, SCREEN ON: asynchronous)
HTC's Asynchronous Fsync port - read explanation below*
Dynamic page-writeback: Page writeback interval is dynamic depending on screen state.
Frandom v2
JRCU / Tiny RCU (currently JRCU in use)
Raised voltage limits for mpu a bit
Raised the temperature limits from 64c* to 74c* (degrees)
optimized CRC32 algorithm (better code generation)
RW Readahead dynamically depending on storage device (automatic detection of the best value)
zRAM support
GPU has 4 scaling steps and OC to 384mhz (Base freq: 102 mhz --> 154 mhz, 307 mhz, 384 mhz)
GPU C4 states / GPU Control (Governors, Frequencies)
Multicore Power Saving Mode Control
ARCH Dependant Power feature
Gamma Control
Front Buffer Delay Control (draw in x msecs on early suspend)
Screen/Display: Modified OMAPDSS for sharpness and lightning colors
OMAPDSS: Added variable clock rate and OPP - allows the screen to scale down power and voltage
lowmemkiller: Heavy modified for R/W Speed and efficient performance
ZCACHE, ZSMALLOC, XVMALLOC backported from 3.4, 3.7 and 3.10 (ZCACHE currently not in use)
Custom Voltage Support
IO-Schedulers: SIOPlus, Fifo, Row, VR, Noop, Deadline, CFQ, BFQ
ROW Scheduler is heavily tweaked to be the fastest scheduler ever!
CPU: More Governors
Deep Idle
ARM Topology
Many improvements in overall OMAP PM
SELinux permissive
GREAT performance!
battery life!
Support for Trickster Mod Kernel Control App (Download from Gplay)
*]Too much stuff to list here. See "Sources" below and check my Github
* HTC's Asynchronous Fsync and Dynamic Fsync:
Asynchronous fsync (called "afsync" or "async fsync") from HTC is ported into this kernel. By default it's enabled and dynamic fsync is disabled (and as well it isn't needed anymore). But just to test a little bit around to see which one of both features is the better one - for battery & performance. But currently Tricktser Mod doesn't support a toggle for afsync, so I had to find another way to use Trckster. Finally I did it like this:
The dynamic fsync toggle in Trickster Mod is now serving both functions - the dynamic fsync AND the asynchronous fsync! How? By default Dynamic Fsync is disabled, and Afsync is enabled. If you now enable Dynamic fsync using the toggle, Afsync will be automatically disabled, so both functions are not conflicting each other - and this way we have a working toggle for both of them.
CAUTION
This is a work in progress! Some of the current features are still not in final stat. If you are facing issues report back here and DON'T spam the threads of the rom you're using!
Be careful with some settings such like Voltage and Overclocking!!! If you aren't experienced with these things, dont play with 'em!
Click to expand...
Click to collapse
REQUIREMENTS
NOTE: This will NOT work on Stock(-based) Roms!!
Rooted device
Must use a Kexec Rom (CM, AOKP, AOSP)
Recovery (BMM, SS)
REMOVE any kernel modules you used before
DEACTIVATE ANY CPU tweaks, onboot settings etc otherwise your phone may not boot!
CAUTION: The kernel needs a clean setup related to CPU tweaks / Settings, etc...Keep your device as clean as possible regarding to Tweaks, CPU special settings, etc. The Kernel brings its own CPU settings and after you can boot it succesfully, you can set it like you want!
This kernel may not work on all roms! Check and report.
TO DO LIST
- Fix bugs
INSTRUCTIONS
NOTE: CLICK here for a detailled Installation Guide (about the Aroma Installer, the features to select and more)
Download zip file from below
Reboot into recovery
Flash the kernel (BMM users: DON'T use the "Flash Kernel" Option! This is a usual zip file!)
Reboot
Download Trickster Mod App from Gplay! Read the FAQ to learn about playing with kernel features!
Enjoy!
NOTE: For updates you can use the built-in OTA UpdateMe App!
DOWNLOAD
NOTE:
Only for Android 4.4!
JBX-Kernel 3.0.8 Version:
2.x == > Android 4.4
JBX-Kernel 3.0.31 Versions:
3.x == > Android 4.4
TEST BUILDs
Test builds are potential prerelease builds which need some more testing before pushing to all users.
CAUTION: Should be stable mostly! But use at your own risk though!!
---> TEST BUILDS [CF] <---
XPERIMENTAL BUILDs
These builds include features without promises to work.
CAUTION: There is no promise that these version are stable/working/whatever! Use at your own risk!!
---> XPERIMENTAL Builds [Dev-Host] <---
---> XPERIMENTAL Builds [CF] <---
Click to expand...
Click to collapse
Something went wrong?
If you think you have set wrong "on-boot-values" in Trickster Mod flash this:
TRICKSTER RESET: http://dtrailer.de/kernel/trickster_reset.zip
FAQ
CAUTION: This FAQ and the whole OP, additional informations about Governors, IO Schedulers and detailed informations about the usage of Trickster Mod and this kernel can be viewed in the awesome Kernel Guide by Placca!
Kernel Guide 1.8
PDF: http://www.mediafire.com/download/7zaddcmvtxfk9ry/JBX+Kernel+Guide_v1.8.pdf
CHM: http://www.mediafire.com/download/g3ck1bf1k3a3j38/JBX+Kernel+Guide_v1.8.chm
CLICK THE BUTTON BELOW TO OPEN THE FAQ!
Please check the following points if you don't know how to use the features of the kernel or you are facing any kind of issues.
INDEX
1. Kernel Features
1.1 Smartreflex (Turn ON/OFF, adjust min/max range)
1.2 Live OC (Realtime Overclocking)
1.3 Custom Voltage (EMIF)
1.4 GPU Overclock & GPU Governor (UPDATED)
1.5 Gamma Control
1.6 Battery Friend
1.7 Suspend Governor (CURRENTLY DISABLED)
1.8 IVA Overclock
1.9 DPLL Cascading
1.10 HDMI toggle
1.11 Intelli-Plug
2. Issues
1.1 How can I change the smartreflex minimum/maximum voltage
What is Smartreflex?
SR is compareable with an CPU governor but not for scaling frequencies but for voltages. That means SR has a fixed range of voltage (min/max) and calculates the optimal voltage for each CPU frequency. In example on light use of the CPU it scales down to lower voltage - on heavy use it can sclae to higher voltage. This is an efficient system to save power! Compared to EMIF which uses the hardcoded voltages it saves more power because it's variable. EMIF cannot vary between the values.
This interface has a hardcoded range of 830mV min to 1450mV max. Usually there is no need to adjust these values but irt can be usefull in example when using high overclocked frequencies above 1,5ghz! Usually SR cannot handle frequencies above 1,5ghz and I have hardcoded the maximum range of 1,45mV which should allow SR to handle it. In prior times the users had to turn off SR when OCing above 1,5ghz which causes the CPU to eat more power. But you can try around and report your results.
CAUTION: Don't raise the maximum SR voltage too high! It can burn your board = no phone anymore! I recommend to not use higher values than 1490mV! As already mentioned: THe default value should be enough!
ANd also: USUALLY THERE IS NO NEED TO CHANGE ANYTHING ON SR! IF YOU DON'T KNOW WHAT YOU'RE DOING, PLEASE LEAVE IT ALONE!
Ok, now let's see how to do this:
Turn ON/OFF SR
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. You can toggle ON/OFF SR for each component (IVA, CORE, MPU)
Usually I recommend to keep SR ON because it saves power! But in some cases when overclocking the CPU (MPU) the device could freeze - whether you OCed too much or SR couldn't handle the frequency! In this case you can try to raise the vmax value of SR a little bit (CAREFULLY!) and try again. If it sitll freezes and you're sure that you didn't OC too much, turn SR OFF at least for MPU!
Maximum Voltage
Currently there is no app which supports the feature of adjusting the SR vmax value, because I wrote this feature some days ago.
But in the next Trickster Mod version this option will be supported!
example:
# To read the current vmax value. Replace XXX with one of the following:
sc_core - for core max sr voltage
sr_iva - for iva max sr voltage
sr_mpu - for mpu max sr voltage (mpu is most related for CPU scaling)
cat /sys/kernel/debug/smartreflex/XXX/vmax
# You will get an output, e.g. for mpu = 1450000 (1450mV)
# To set a new value, do the following command (replace XXX with a value like above - BE CAREFUL! USUALLY THE DEFAULT VALUE ENOUGH AND YOU CAN LEAVE IT UNTOUCHED!)
echo XXX > /sys/kernel/debug/smartreflex/XXX/vmax
Minimum Voltage
It's easy because Trickster Mod supports it!
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. Below each SR component (IVA, CORE, MPU) there is displayed a value (usually 830 default) which means this is the lowest scalable voltage for this component. You can try to decrease this value for the case you want to UV a bit more - or raise it a bit for the case you think that the set range is too low and causes freezes on your device.
1.2 How do I use Live OC (Live OVerclock)?
This feature allows you to overclock the CPU in realtime. It works with a multiplier value set by the user. The default multplier value is "100", which means: No OC! If you want to raise the OC frerquency, just raise this value step by step.
FOr my device the maximum working OC value is "111" which means the maximum frequency is running at 1498mhz!
NOTE: Keep in mind that you tunr Smartreflex OFF for higher freqs than 1500mhz - or raise the maximum SR voltage range for "MPU" a little bit and test if it works.
Ok, how to use Live oC in action:
Open Trickster Mod App and swipe to the tab "Specific". There you will find something like this:
Code:
MPU OC [100]
DON'T TOUCH THE "CORE OC" SECTION, IT WILL CAUSE FREEZES!
Now slowly increase the value "100" to something higher, e.g. "105". Tap the hook in the right upper corner to confirm. To see your new set of frequencies you can now whether close and restart Trickster Mod or just use any monitoring app like Cool Tool which will show your frequencies in real time. That's it!
CAUTION: You can damage your phone forever!!!! This feature allows you to set very high frequencies (also up to 2,0ghz...) - That DOESN'T mean that your phone can run these frequencies!
If your phone freezes or crashes you have probably set too high OC - or your voltage is too low.
1.3 How do I use Custom Voltage (EMIF)?
NOTE: This only adjusts the fixed voltage! When you have Smartreflex ON it can still vary! You have to see the bigger picture: This voltage value sets the "middle point" for voltages. Smartreflex is still able to increase or decrease the voltage. When Smartreflex is OFF the CPU will stay on this voltage you set here and probably eats also more power.
How does EMIF works together with Smartreflex:
Code:
-------
| CPU |
-------
|
------------------ ------------------
|Voltage 1015 mV | ---->| SMARTREFLEX ON| = 1015mV +/- "vmax"/"vmin"
------------------ -------------------
|
--------------------
|SMARTREFLEX OFF| ----> 1015mV FIXED! No changes!
-------------------
Thi smeans if you change the voltage for a scaling step (OPP) while SR is ON, SR will adjust the voltage from this value, means: mV-Value +/- SR vmin/vmax. WHen SR is OFF it will stay on this mV as a fixed value.
How to adjust the voltage?
Well, this feature can be used with all generic apps which are supporting voltage settings. But we are prepared well, you can adjust voltages also with the "Trickster Mod App".
When you open the app, head to the tab "Specific" and below the "Live OC Section" you will find your voltage table, which looks like this:
Code:
<-->
1200 [1398]
1000 [1388]
900 [1371]
...
..
..
Now just tap the arrows in the right upper above the first voltage value and just type or tap (per direction) a value, e.g. "-25". To apply it, confirm by tapping the hook in the right upper corner of your screen. That's it, your new voltage values are now set and applied. And also mind here: If your phone freezes you porbably have set it too low.
CAUTION: NEVER SET HIGHER VOLTAGE THAN 1490mv here!!!!! Or you might damage your phone FOREVER!
This voltage is not the same like Smartreflex! But it's still voltage! Just be carefull!!
1.4 How can I use GPU OC and GPU Governor?
GPU Overclock doesn't work like Live OC! You cannot really set custom frequencies for the GPU, but you can select and set the maximum frequency from a hardcoded range!
For the GPU there are the following available frequencies:
154mhz (FIXED!)
307mhz
384mhz
416mhz
The minimum frequency of 154 is FIXED! This means you cannot change it because the GPU needs a minimum speed to run with. But the kernel allows you to select the maximum speed. This can be usefull for playing games and also for saving power . In example when not playing games you don't need the GPU to run at 416mhz! Set it to 307mhz in this case and save power.
When you open Trcikster Mod and head to the "specific section tab", you will find "GPU MAX FREQUENCY" and it's currently set maximum frequency. Tap on it to select your preferred one:
- 154 Mhz
- 307 MHz
- 384 MHz
That's it. The new setting will be your new maximum GPU frequency.
Below there's another option called "GPU Governor". Just tap on it and select your prefered one.
NOTE: If you want to track current GPU frequencies and watch governor's behavior, just switch to Trickster's "Informations" - Tab and watch the frequencies clock.
1.5 How can I use Gamma Control?
What is gamma? The gamma setting sets the color range for the screen. You can compare it to the contrast. We all know that the touchscreen eats most of the power compaerd to all other components in a smartphone! A lower brightness causes less power consumption and a lower gamma or contrast range alos helps a little bit to save power.
In this kernel you can choose from a range of "5 - 10" while "5" is very bright while "10" is very dark. The default setting is "5" BUT CAUTION: Trickster Mod will display a range of "0" to "10" and the default setting will be shown as "0". This is caused by the fact that this feature was ported from the Gnex device where you can choose from a higher range. The only sideeffect is that the values "0" - "5" won't show any difference.
How to set the gamma value?
Well, once again open Trickster Mod and swipe to the tab on the right end. Just select your preferred value by using the slider.
Alternately you can use sysfs by terminal or adb:
OMAP Gamma interface:
echo i > /sys/devices/platform/omapdss/manager0/gamma
Replace i with 0-10 of your choice.
1.6 What is "Battery Friend and how to use it?
Battery Friend is a simple toggle (ON/OFF) which sets your device into a battery friendly mode without the need to play with all settings in Trickster Mod /sysfs until you find a good setting. In fact it does the job for you.
What does it affect?
NOTE: Doesn't lock anyx frequencies anymore!
locks dynamic Fsync enabled
locks Fsync disabled
Doesn't allow any OC (Live OC will not have any effect, Core OC is not allowed in this kernel)
Increases the dirty ratio interval to 90% (starts working at this value)
Enables Dynamic Hotplug: This doesn't allow hotplugging during device is active - and it will always turn CPU1 OFF during suspend! It also prevents from conflicts when user uses a hotplug governor (which isn't a good idea though) - but hotplug governors are causing higher battery drain!
Dynamic Page-writeback always enabled
How to toggle Battery Friend:
For now the only way is via terminal, adb shell or root explorer (text editor)
For terminal and adb:
Code:
echo 1 > sys/kernel/battery_friend/battery_friend_active /* Enable */
echo 0 > sys/kernel/battery_friend/battery_friend_active /* Disable */
For Root Explorer
Open Root Explorer
Navigate to sys/kernel/battery_friend/
Open "battery_friend_active" with Text Editor
Change "0" to "1" and safe the file to enable
Change "1" to "0" and safe the file to disable
1.7 Suspend Governor Control (CURRENTLY DISABLED)
Suspend Governor Control is a kernel module written by me. You can use it to set your preferred Screen-Off-governor.
For now it's only supported by sysfs (Trickster Mod will support all my current and upcoming features as soon as it gets updated with its new UI mode!
How to set suspend governor
Open a terminal or use adb shell
Code:
su
echo "x" > /sys/kernel/suspend_gov/suspend_gov
Replace x with one of these values:
0 = Ondemand
1 = Ktoonservative
2 = Conservative
3 = OndemandX
NOTE: No matter what governor you use for suspend mode, if Battery Friend is enabled the second core will be turned off during suspend!
1.8 IVA Overclock
What is IVA OC?
IVA OPPs are controlling the CPU load for sound events. It could be useful (in some cases) when you get sound related laggs. Just set the maximum frequency to highspeed. This will allow more CPU power for sound events but also will cause higher battery consumption.
How to use IVA OC?
If you want to check the current IVA frequency. Just type in Terminal or ADB:
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/iva_clock
You will get an output like this:
Code:
132 Mhz
2. You can whether enable IVA highspeed: 130 - 430 Mhz ["1"] or enable IVA normal speed: 130 - 332 Mhz ["0"]
320 Mhz max: echo "0" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
430 Mhz max: echo "1" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
1.9 DPLL Cascading
DPLL: Davis–Putnam–Logemann–Loveland (DPLL) algorithm
To get more info about this please see wiki
But to sum it up shortly: It helps to use/stream media (music) in a low power mode.
NOTE: DPLL Cascading will be available to be switched easily via Trickster Mod App soon!
How to switch DPLL?
DPLL is ENABLED by default!
Open Trickster Mod -> Speicific Tab --> DPLL (soon)
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/dpll/dpll_active
Turn on:
Code:
echo 1 > /sys/kernel/dpll/dpll_active
1.10 HDMI toggle
Some users are facing a RAZR-sepcific problem: HDMI cable is detected, even though there is no cable plugged!
Therefor I included a toggle to switch HDMI wether ON or OFF. Additinally there's an init.d script included within the AROMA Installer you can select during the installation of JBX-Kernel.
To enable/disable HDMI on-the-fy:
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/hdmi/hdmi_active
Turn on:
Code:
echo 1 > /sys/kernel/hdmi/hdmi_active
1.11 Intelli-Plug
For intelli-plug hotplugging is now only allowed when the device enters sleep.
To enable hotplugging universally just change the value of the following entry whether to 1 (on) or 0 (off):
Code:
sys/module/intelli-plug/parameters/int_hotplug
2. If anyone has the following issues:
Issue
Media Process FC
No SD-Card in File Explorer
My CPU Settings (frequencies, etc) won't be saved (it sets itself back to Kernel default after screen off)
My phone freezes/reboots always when I try to set options in Trickster Mod
The device is lagging very hard
Solution
Media FC: Open App settings, head to "Download Manager" and "Media Storage" and hit the "delete data" button. Reboot. Now it shouldn't give any FCs anymore and after a little bit of waiting it will find all Media (Pictures, Videos, etc..)
No SD-Card: Reboot into recovery, go to "Mounts & Storage", tick "mount int" or "mount ext".
USB: Make sure the screen is ON while plugging the cable in.
CPU Settings: This is a bug which cannot be solved at the moment. Temporary solution: In Trickster Mod just activate the "Frequency Lock" and your settings will persist.
Trickster Mod:: Open App settings, Trickster Mod and select "uninstal updates". Now it should work.
Crashes, Freezes, lagging, something doesn't work, etc
There are too many reasons which could cause crashes! So here is a checklist for you to look for. Check each point and try the following workaround:
- Your rom has CPU tweaks (e.g. Kernel modules, init.d folder, etc)
- You have set custom CPU settings (e.g. custom frequencies with apps like No-Frills CPU Control, Set-CPU, Antutu, etc...)
- You have undervolted too low
- You have overclocked too high
- You have applied higher "Core OC" value in Trickster Mod App
- You are running any other kernel tweaks which are regarding to the CPU and/or performance (e.g. Kernel modules by Whirleyes eventually set by init.d, etc..)
- After setting some settings (e.g. in Trickster Mod) your device doesn't boot anymore
- adb doesn't work / shows only "device offline"
- You are facing hard lagging
If any point here matches your setting, please revert from it:
- Remove any CPU init.d script from /System/etc/init.d
- Uninstall any CPU controling app (e.g. Set-CPU, No-Frills, etc..)
- Remove all extra kernel modules from system/lib/modules (e.g. cpu_control.ko, cpufreq_smartass2.ko, etc..)
- Unset any custom settings from any other kernel / CPU - tweaking app which is NOT Trickster Mod
- Maybe your governor causes issues. Hotplug is know for bugs at the moment...I'm going to fix it..
- NEVER set your CPU Settings (e.g. in Trickster Mod App) on boot!!!! - before you aren't sure that your settings are safe!!!
- You may flash the kernel again after reverting related settings
- to make adb work / show device online, download latest SDK platform-tools and confirm access on device (4.2 security feature of Android)
- Don't use any task killers, memory killers, seeder apps! They may conflict with the kernel/Rom settings.
If none of these suggestions work for you your rom may be incompatible. Please report it here that I can add the rom to the list of imcompatible roms
If you have any issue, please read this:
First check:
- is it really a kernel issue?
- did I see this bug with the roms original kernel?
- what are the people in the rom thread saying?
- what are the people in the kernel thread saying?
- can I find this issue on a bug list?
- how about my settings? Is it my fault it crashed?
- can I find something useful in the kernel FAQ?
- Is it maybe a well known issue and can be solved
withing seconds? Just like wifical.sh?
- Where to repeat that issue? Rom or kernel?
I know it's sometimes difficult to track the issues, and we can't know for sure if it's caused by the rom or by the kernel, but if you try at least to get some information you might find an answer sometimes. If you are able to understand logs, you may report whatever you find.
All this helps to keep the threads more clear. Thank you.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
DONATE
If you like my work and want to support me, I'd enjoy a little beer or coffee. You can find my beer mug below my username
SOURCE
JBX-Kernel 4.4
CREDITS
Shurribbk - Co-Development
Kholk & [mbm] - Kexec inital Release
Hashcode & Dhacker - Making Kexec stable and initiating compatible kernels
Motorola - 3.0.8 Kernel Source
Surdu_Petru - Sharing Knowledge and helping with problems
nithubhaskar - Hints and answering my questions
Ezekeel, Imoseyon - Custom Voltage, Live OC, Temp Control, Gamma Control Source Code
faux123 - Some features, like Intelli-Plug, Intellidemand, Intelliactive
bigeyes0x0 - Trickster Mod App
Team Trickster - Great support and adding new features from my suggestions
Placca - Awesome kernel guide
RandomPooka - for special testing and support
- reserved -
Hey guys, welocme to JBX-Kernel for Targa! This is the first initial release and needs to be tested! Please give me some feedback if it boots and how it works for you. It comes with built-in OTA Updater and many extra stuff. Just check it out.
Keep in mind that this release will only work on 4.4 builds! Currently I don't have the time for others. Also you should use a newer build with Full HD Cam support! When using this kernel with older 4.4 builds your camera won't work.
Oh cool, i happy Someone help you with targa kernel ?
Maksim_ka said:
Oh cool, i happy Someone help you with targa kernel ?
Click to expand...
Click to collapse
Nope.. But it doesn't matter. Currently I have a problem with paying my server, and as long as I am able to build I wanted to release the Targa Kernel. The only difference seems to be in the CMD-line (Targa doesn't have a utags partition), so I just had to switch this line and build it with CM11 Targa sources to get the right ramdisk and modules. The whole source is the same like RAZR kernel.
I test it, and dont see weighty differences with RAZR kernel, have same bugs, display backlights don't turn on sometimes. I think you can talk with Hush about it, he can help.
Maksim_ka said:
I test it, and dont see weighty differences with RAZR kernel, have same bugs, display backlights don't turn on sometimes. I think you can talk with Hush about it, he can help.
Click to expand...
Click to collapse
You mean Hashcode? I am in static contact with him. But thx
What do you mean with "backlight doesn't turn on sometimes" ? I don't see this problem on RAZR... But sometimes you need to be a little patient when you want to wake it up. That's because of things like "DEEP IDLE" and others which keep the device in "deeper" sleep mode. It can take 1 or 2 seconds until you will see the lights - but it will turn on for sure. Maybe you're talking about something else? What bugs else exactly?
dtrail1 said:
You mean Hashcode? I am in static contact with him. But thx
What do you mean with "backlight doesn't turn on sometimes" ? I don't see this problem on RAZR... But sometimes you need to be a little patient when you want to wake it up. That's because of things like "DEEP IDLE" and others which keep the device in "deeper" sleep mode. It can take 1 or 2 seconds until you will see the lights - but it will turn on for sure. Maybe you're talking about something else? What bugs else exactly?
Click to expand...
Click to collapse
Yep, i mean Hashcode.
It will happened if use proximity sensor when calling, and sometimes when wake up phone. Backlight don't turn on generally, help only reboot. And it don't happened if change frequency to 300-1xxx. I think if you change minimal frequency to 300mhz it gone.
Maksim_ka said:
Yep, i mean Hashcode.
It will happened if use proximity sensor when calling, and sometimes when wake up phone. Backlight don't turn on generally, help only reboot. And it don't happened if change frequency to 300-1xxx. I think if you change minimal frequency to 300mhz it gone.
Click to expand...
Click to collapse
Well that's not an issue, but a well known phenomen. Some devices cannot handle 100 MHz (depends on silicon, each one is different). The min frequency is 300 by default, and the battery friend min frequency is 200 by default. Just check your settings in trickster mod.
Gesendet von meinem XT910 mit Tapatalk 4
I'm able to boot the kernel but cannot get radio. Any ideas?
Sent from my XT875 using Tapatalk
BZguy06 said:
I'm able to boot the kernel but cannot get radio. Any ideas?
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Not yet. I need more informations from other users. Any feedback here????
Just try the today's OTA (soon). I forgot to update device tree sources in yesterday's builds.
Because I had a weird drain myself on yesterday's RAZR kernel (not very much, but noticable)
EDIT: I got a workaround for the RADIO issue - if it's actually an issue Wait for the OTA.
I was only able to get radio working on your 1-08 build of the kernel for rzr. Ever since then I haven't been able to get it to come up.
Edit: I went ahead and installed your 1-21 update and its better. It eventually connects to LTE but only holds it for 30 secs and then drops with no radio. Thanks for the help in advance.
Sent from my XT875 using Tapatalk
BZguy06 said:
I was only able to get radio working on your 1-08 build of the kernel for rzr. Ever since then I haven't been able to get it to come up.
Edit: I went ahead and installed your 1-21 update and its better. It eventually connects to LTE but only holds it for 30 secs and then drops with no radio. Thanks for the help in advance.
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Please download the latest build from same links again (any mirror, I overwrote it). It should have fixed radio now. But you have to replace your build.prop with that one from your rom or open it and remove all additions made by JBX. The easiest way is to flash the rom again, then flash jbx.
I went ahead and redownloaded and reinstalled and I'm still getting the same thing. Attached is my "phone info" screen. And under "select preferred network" my only option is unknown
{
"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"
}
Sent from my XT875 using Tapatalk
Just flashed latest 1/21 JBX with cm 1/20. Have lte. Haven't played with settings yet. Need to read the faq first. Thanks void time buddy.
Sent from my XT875 using Tapatalk 2
BZguy06 said:
I went ahead and redownloaded and reinstalled and I'm still getting the same thing. Attached is my "phone info" screen. And under "select preferred network" my only option is unknownView attachment 2530635
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
So, have you reset your build.prop before as I said above?
Btw: just open it in a text editor (I.e. With root Explorer), scroll down until you see "dtrail - build.prop additions". Delete everything below that line. Now reboot and flash jbx (after downloaded again).
Gesendet von meinem XT910 mit Tapatalk 4
dtrail1 said:
So, have you reset your build.prop before as I said above?
Btw: just open it in a text editor (I.e. With root Explorer), scroll down until you see "dtrail - build.prop additions". Delete everything below that line. Now reboot and flash jbx (after downloaded again).
Gesendet von meinem XT910 mit Tapatalk 4
Click to expand...
Click to collapse
Yes. I went ahead and wiped system and data, installed cm11 1-20, and then installed the 1-21JBX targa kernel
Sent from my XT875 using Tapatalk
BZguy06 said:
Yes. I went ahead and wiped system and data, installed cm11 1-20, and then installed the 1-21JBX targa kernel
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Just flash the latest jb radio and don't change band in settings.
P.S. targa don't have BMM
Maksim_ka said:
Just flash the latest jb radio and don't change band in settings.
P.S. targa don't have BMM
Click to expand...
Click to collapse
I have the latest JB radio (CDMA_N_05.22.00R LTEDC_U_09.1D.00). My radio works fine using the stock CM11 kernel. I really wanna try out dtrails' work.

FPS & IPV4 & 6 build.prop tweaks

Here's my tweaks i have created and invented myself tweaks that are already out online will not be posted below
# Fps Properties
ro.fps_enable=1
ro.fps.capsmin=30fps
ro.fps.capsmax=60fps
Some of protocals for ipv4 and ipv6 are experimental but seems to work fine as time goes by the internet properties below will be revised. NOTE: feel free to modify the protocals, but not distribute them as your own, you must include me for full credit when releasing the modified properties, the only two protocals not owned by me is
persist.telephony.support.ipv6=1 persist.telephony.support.ipv4=1
Click to expand...
Click to collapse
And i do not know the creator who created them, the rest is mine as built thank you
# Internet Properties
persist.internet.support.ipv6=1 persist.internet.support.ipv4=1
persist.dns.support.ipv6=1
persist.dns.support.ipv4=1
persist.telephony.support.ipv6=1 persist.telephony.support.ipv4=1
persist.dhcp.support.ipv6=1
persist.dhcp.support.ipv4=1
persist.dnla.support.ipv6=1
persist.dnla.support.ipv4=1
persist.web.support.ipv6=1
persist.web.support.ipv4=1
persist.tcp.support.ipv6=1
persist.tcp.support.ipv4=1
persist.udp.support.ipv6=1
persist.udp.support.ipv4=1
persist.voip.support.ipv6=1
persist.voip.support.ipv4=1
persist.dns2.support.ipv6=1
persist.dns2.support.ipv4=1
Plwce this uner addtional build properties under tge dalvik heapsizemax line
What this does is helps the multithread line to tell the cpu to easily do more faster proccessing without overheating
persist.sys.dalvik.hyperthreading=true
Now we can we can focus on permently keep a certain fps speed to force the os to lock at that fps speed
BootAnimation build prop is like shown below:
# Bootanimation Properties
boot.fps=25 (value 25 is the default value for tge boot animation fps speed, the higher the value, tge faster tge fps will be permenetly until you chsnge the value if upping the value 30 is a great option to choose keeping system stability)
Now you want to keep your whole os at a top speed you want many devs havent invented this but until i did
Revision 1:
# System Properties
system.fps=30 (value 30 is tge default value but some devices cant handle it if they are high end devices 25 is a good value for low end devices but you csn keep 30 or upp the speed and this will lock the os to that desired fps, user can change this value if implemented in the roms build.prop if they desire)
Or
Revision 2
# System Properties
cpu.fps=30
gpu.fps=30
(The cpu and gpu lines allow you to decided what fps rate should each do for ex: say i want the gpu's fps rate to go a lil faster i change the default value 30 to 35 rasing the fps a bit higher, but say if i want to run both cpu and gpu fps run at the same rate i put both vslues the ssme number, remember chamging vslues beyond 30 is risky and can cause gpu or cpu stress and making them.not run together can cause instability but wont damage your cpu but could effect graphics speed and processing speed)
Revision 3:
# System Properties
cpu.fps=auto
gpu.fps=auto
(what the "auto" value tells the cpu and gpu to Automatically choose the best FPS Rate for the OS or every individual app or games you run as well and will give less stress on the cpu without losing the current top speed of your OS)
EX: say my os default runs at 25fps and i have the value above to auto the os will detect that the auro is on and will cap the cpu or gpu to any value like value 30 to ensur the best fps rate.
NOTE: some of these tweaks may vary of firmwares and devices
Hi, is anyone tried all the above tweak ?
Is there all really working ?
Thanks in advance.
This seems good to try. The IPv4/6, are they necessary? Doesn't Android automate that anyway in newer versions of Android DHCP?
Hi is anyone has tested all these tweaks ??
Is it working ?
Thanks in advance.
[null]
eladkarako said:
I prefer to disable IPv6 support,
to allow an easier ads-blocking using the HOSTS file.
Click to expand...
Click to collapse
Could you please tell me how you do that. I've found a shell command, which is working - until i get dis- and reconnected again. That's not really a permanent solution
ah! its 2021!
i hope the fps stuffs still works

[HMP/EAS] 8-12hr SOT Artisan governor tweaks

THIS GOVERNOR HAS STANDED THE TEST OF TIME
AND IS RELIABLE WITH SPEED AND BATTERY LIFE
SOT IS AROUND 8-12 HRS REGULARLY BUT RESULTS MAY VARY BASED ON USAGE AND USERSPACE
Edit-
In a short amount of time we accomplished a lot, 12hr to 14+ hr SOT runs without compromising performance thru being efficient (check OP and thread for screenshots).
For best results I encourage everyone who wants to use this mod to make sure you install these files in the correct path with permissions, and those paths changes depending upon if you have init.d support thru system/etc/init.d or thru su.d or thru magisk/.core/post-fs-data.d (note: for magisk install you can only find correct path thru enabling show hidden files in ESBowser)
Furthermore; I found that using Deeznuts with my modified init.sony.cpu_parameter.sh installed to be the best setup in terms of this mod but try it out and switch it up if need be, I appreciate everyone's time and gratitude.
Want to support my work? Please feel free to buy me a coffee
https://PayPal.me/smacsmack206
NEWEST DEVELOPMENT:
Working on a new DEEZNUTS that will work with EAS. I got a test version working with all the necessary coded trimmed
And all applicable values still within the script.
This is great for me, hope everyone is as excited as I am.
S/O to _LLJY for making EAS on the XZ, a first of many.
DISCLAIMER: (YOU CAN ONLY USE THESE ON A EAS ROM.
https://forum.xda-developers.com/xp...ect-energy-aware-scheduler-xperia-xz-t3639515)
Alright I got a special release for y'all
I updated DEEZNUTS9-EAS and releasing for the first time DEEZNUTS9-EAS_ULTRA.
And for the first time these are TWRP flashable!!
so no longer will you have to worry about install instructions, just flash and done.
DEEZNUTS9-EAS: Uses Energy aware scheduling SCHEDUTIL CPU governor with my custom algorithms, schedtune/Powerhal Vox configs, and applicable miscellaneous optimizations from DEEZNUTS9. Also contains special thermal config to increase stock throttling points for less throttling
DEEZNUTS9-EAS_ULTRA: Uses Energy aware scheduling PWRUTILX CPU governor with my custom algorithms, schedtune/Powerhal Vox configs, and applicable miscellaneous optimizations from DEEZNUTS9.
Also contains special thermal config to increase stock throttling points for less throttling
(NOTE: YOU CAN ONLY USE EAS_ULTRA IF THE YOU HAVE PWRUTILX AVAILABLE AS A GOVERNOR ALREADY ON EAS ROM, ONLY SOME VERSIONS HAVE THIS.)
Download:
DEEZNUTS9-EAS
https://drive.google.com/file/d/0B2bXgjj9jECcTEJYMkJMUi1fZzg/view?usp=drivesdk
DEEZNUTS9-EAS_ULTRA
https://drive.google.com/file/d/0B2bXgjj9jECcSGdGT1NtcUdtLXM/view?usp=drivesdk
*The Best Recommended EAS Version* = DEEZNUTS9-EAS_ULTRA
PORTS:
By request i have been expanding my script and changing it to work on other SOC's and Devices, i'm currently working on a few devices port so the thread lately has been flooded with back and forth regarding this. if you want me to make a version of DEEZNUTS for your device, let me know in the thread and ill let you know what i need to get started, however i do not own the devices you will inquire about so know it wont ever be as good as my 12hr SOT Xperia XZ version.
Going to start posting links to new threads I'll be creating for other devices here to the original, will work on creating more threads later on
Galaxy S5 DEEZNUTS Port thread :
https://forum.xda-developers.com/galaxy-s5/development/artisan-interactive-governor-port-t3624316
DEEZNUTS7-SE PERFORMANCE SCREENRECORD:
*The Best Recommended HMP Version* = DEEZNUTS8-SE
DEEZNUTS8-SE Changelog:
Added Wifi sleeper
Added Disable Fast dormancy
Re-Introduced LMK with new values
Added Kill GMS/Gapps
Added Kill Common Services
Added Network GMS Kill
Added DEEZNUTSSecretSauce
QuickBoot and changed Timer_rate
More but forgotten most the stuff I did in the last week
These screenshots are from my test group members
This is the best version of DEEZNUTS yet highly advised to update to latest Special Edition 8
DOWNLOAD:
https://github.com/Smacksmack206/Sony-Xperia-XZ/blob/master/DEEZNUTS8-SE
#Go_Team_Duality
SPECIAL THANKS TO @NYCHitman1 & @Alcolawl
As they are the original creators of Drunksauce Governor on the Nexus 5X and also helped me with getting a port established for our Sony Xperia XZ (depreciated gov use deeznuts now)
@_LLJY as he's my duality teamate, he's contributed lazyplug and adreno idler values
In DEEZNUTS3, and I been using them ever since,
He even baked an edit of DEEZNUTS in his rom :good:
And he just recently contributed Hi Performance Audio DAC custom voltages in DEEZNUTS8
DOWNLOAD:
Original DEEZNUTS w/ android version check included (depreciated)
https://github.com/Smacksmack206/Sony-Xperia-XZ/blob/readme-edits/Deeznuts
DEEZNUTS
-VERSION 2-
Deeznuts is now on Version 2, cleaned up code better battery and performance
-VERSION 3 CHANGELOG-
Recent update on DEEZNUTS a few weeks ago with the help of @_LLJY
Adreno idler
Lazyplug
Added Pdesire's kernel values
Added partial EAS Support
Removed Overclocking for EAS
Trimmed code improved execution speed by 50%
-DEEZNUTS (XZ version 4) CHANGELOG -
Reconfigured thermal settings to values I'm using currently on my device, I've noticed frequencies are more stable and heavy loads speeds have improved.
Also re-added GPU values and changed to simple_ondemand
And added lines of code to remove InputBoost
Coming in next update: I'll be re-adding Android version check to auto apply best settings like in original Deeznuts before version 3
-DEEZNUTS (XZ version 4.a) CHANGELOG -
Spent a couple hours while I had free time at work testing new target loads and above speed delays while using a frequency overlay opening apps and doing my usual task and executing my script thru EXKM to retest without rebooting to achieve a greater efficiency without compromising performance, Snapchat now opens and runs smoother than ever, idle is better than ever staying at 307mhz like how I wanted. Scrolling is at I would believe a more optimal freq but probably nominal. It's a great feeling having your phone run the way you want
-DEEZNUTS (XZ version 5) CHANGELOG -
Updated above speed delays
Most of the same settings I updated a few days ago from DEEZNUTS 4.D
Reintroduced Android Version Checker
Deeznuts 6 &-SE to Deeznuts7-SE major update Changelog:
Changed sampling time, timer rate, above speed delay, targetloads to have increased performance and responsiveness
All thermals disabled to fix charging stutters
Added GPU command for setting new max frequency
GPU running at 560 as of deeznuts7
Added Memory read ahead commands to 2048 kb
FS-Trim for data system and cache
G-Services fix
Licenced GNU GPL
Updated memory values added a few new ones
Disabled all system wakelocks
Added new HMP scheduler values while keeping code to send more jobs to big cluster
New ZRAM ramdisk config
Changed Go_hispeed_loads on big/litle cluster for better scaling
Uncapped all freqencies on big/little cluster for full power
Download:
https://github.com/Smacksmack206/Sony-Xperia-XZ/blob/master/DEEZNUTS7-SE
DEEZNUTS 7-SE TO DEEZNUTS8 CHANGELOG
*Lowered scaling while keeping performance from 7-SE*
*Entropy values added*
-write_wakeup_threshold
-Read_wakeup_threshold
*Disabled additional wakelock*
-pwr_dbg
*Low Power Modes for little/big
(cpu0-cpu3)*
lpm_levels/system/pwr/cpu0/fpc-def/idle_enabled
lpm_levels/parameters/sleep_disabled
lpm_levels/parameters/sleep_disabled
*Turn off L2 GDHS (LowPowerMode)*
gdhs/idle_enabled
*Enable dynamic memory bus latency
mem_latency = soc:qcom,memlat-cpu2/governor
soc:qcom,memlat-cpu2/polling_interval
Cpu-freq = soc:qcom,mincpubw/governor
* Enabled Hi performance audio thru DAC *
Added @_LLJY New voltage values for improving power consumption using high performance audio
DOWNLOAD:
https://github.com/Smacksmack206/Sony-Xperia-XZ/blob/master/DEEZNUTS8
Definitely worth the update is it better than your favorite Version of DEEZNUTS so far? You decide
DOWNLOAD FROM GITHUB TUTORIAL:
USING SAVE AS FROM RAW TAB, WHICH IS NEXT TO BLAME TAB AND HISTORY TAB
INSTALLATION FOR NOUGAT USERS / NON MAGISK USERS:
1. ENABLE INIT.D SUPPORT
(Thanks to @Ryuinferno work you can use this app to quickly enable init.d support for your phone with root.
PS: Visit his thread to download his app and leave a thanks if his work helped)
https://forum.xda-developers.com/showthread.php?t=1933849
2. NAVIGATE TO SYSTEM/ETC/INIT.D
PLACE DEEZNUTS SCRIPT IN FOLDER
***CHECK IF SCRIPT HAS A TXT FILE EXTENSION AND REMOVE .TXT BY RENAMING FILE***
3. SET PERMISSIONS TO 777 (RWX-RWX-RWX)
4. REBOOT and your done :good:
Well I'm sure this can go over the SOT I had in the title of this post, but here is some results I've collected over the weeks of testing and porting this Governor.
The best I got so far is around 12hrs SOT which isn't surprising given the fact OnePlus3/3T has a Governor said to hit up to 14 hrs and we use the same chipset SD820 as you know. And HTC 10 also has similar Governors getting great results as well.
Let me know if you tried this how it goes for you cuz I'm sure results will vary for everyone.
***EDIT***
I Will be working on making this more Streamlined so there's better results across the board. my next Commit ill be making over the next course of days will have a better version that will give you that same battery life with more performance. Stay Toned.:good:
Smacksmack206 said:
THIS GOVERNOR HAS STANDED THE TEST OF TIME
ADDITIONAL POTENTIAL BATTERY SAVINGS OPPERTUNITY:
Use a root explorer and go to system/ECT and find the init.qcom.post_boot.sh open file in text editor and scroll all the way to the bottom of the big file. And at theses lines
echo 'N' > /sys/module/msm_thermal/parameters/enabled echo '1' > /sys/module/msm_thermal/vdd_restriction/enabled echo '0' > /proc/sys/vm/laptop_mode echo '60' > /proc/sys/vm/overcommit_ratio echo '70' > /proc/sys/vm/vfs_cache_pressure echo '20' > /proc/sys/vm/dirty_ratio echo '10' > /proc/sys/vm/dirty_background_ratio echo '2000' > /proc/sys/vm/dirty_expire_centisecs echo '3000' > /proc/sys/vm/dirty_writeback_centisecs
.
Click to expand...
Click to collapse
What are we supposed to do with those lines? add them? it's hard to understand.
Rtester said:
What are we supposed to do with those lines? add them? it's hard to understand.
Click to expand...
Click to collapse
Yeah, those are additional and completely optional lines to add to the script. The formatting or line endings just got screwed up. Should read like this:
Code:
echo 'N' > /sys/module/msm_thermal/parameters/enabled
echo '1' > /sys/module/msm_thermal/vdd_restriction/enabled
echo '0' > /proc/sys/vm/laptop_mode
echo '60' > /proc/sys/vm/overcommit_ratio
echo '70' > /proc/sys/vm/vfs_cache_pressure
echo '20' > /proc/sys/vm/dirty_ratio
echo '10' > /proc/sys/vm/dirty_background_ratio
echo '2000' > /proc/sys/vm/dirty_expire_centisecs
echo '3000' > /proc/sys/vm/dirty_writeback_centisecs
Working but phone decrease in speed
Some lagg when sweetching between app
Alcolawl said:
Yeah, those are additional and completely optional lines to add to the script. The formatting or line endings just got screwed up. Should read like this:
Code:
echo 'N' > /sys/module/msm_thermal/parameters/enabled
echo '1' > /sys/module/msm_thermal/vdd_restriction/enabled
echo '0' > /proc/sys/vm/laptop_mode
echo '60' > /proc/sys/vm/overcommit_ratio
echo '70' > /proc/sys/vm/vfs_cache_pressure
echo '20' > /proc/sys/vm/dirty_ratio
echo '10' > /proc/sys/vm/dirty_background_ratio
echo '2000' > /proc/sys/vm/dirty_expire_centisecs
echo '3000' > /proc/sys/vm/dirty_writeback_centisecs
Click to expand...
Click to collapse
Thank you I totally didn't notice that lol I updated the OP. I appreciate you man
karrouma said:
Working but phone decrease in speed
Some lagg when sweetching between app
Click to expand...
Click to collapse
ill work on it to make it a little more streamlined. on my phone it hasn't reduced in speed but theres been something ive been wanting to incorporate into this script that will make it even more better on battery. ill start working on it tonight when I get home from work
Smacksmack206 said:
ill work on it to make it a little more streamlined. on my phone it hasn't reduced in speed but theres been something ive been wanting to incorporate into this script that will make it even more better on battery. ill start working on it tonight when I get home from work
Click to expand...
Click to collapse
Ok.
I have 1 hr increasing in SOT
For exemple album takes more time to load pictures or to open picture clearly. Chrome when adding some tabs also have some laggs. But overall it is working well and have more sot.
Thank you
Confirmed more than 5hrs sot with 60% display
Confirmed more than 5hrs sot with 60% display
Another usage example, i've been using Spotify all day with the screen on at work at 50% brightness also Spotify on extreme streaming quality uses a lot of LTE at the same time, gonna get well over 5hr SOT today. Also using an edited​ version of my port so this new update coming soon is gonna be snapper on performance without sacrificing battery. Stay tuned
karrouma said:
Confirmed more than 5hrs sot with 60% display
Click to expand...
Click to collapse
How did you make chrome take 60%...?
Rtester said:
How did you make chrome take 60%...?
Click to expand...
Click to collapse
All time browsing
karrouma said:
All time browsing
Click to expand...
Click to collapse
I'm browsing all time and I get scared if it gets over 15% after a long day.
Check out my new update its blazing fast and has way better SOT
https://github.com/Smacksmack206/Sony-Xperia-XZ/blob/readme-edits/deeznuts.txt
Remove the .Txt in the file name
Everything else is the same as far as installation goes in the OP
Smacksmack206 said:
Check out my new update its blazing fast and has way better SOT
https://github.com/Smacksmack206/Sony-Xperia-XZ/blob/readme-edits/deeznuts.txt
Remove the .Txt in the file name
Everything else is the same as far as installation goes in the OP
Click to expand...
Click to collapse
Renaming - editing deeznuts.txt to deeznuts
It works without laggs after deleting the 99governor file.
99gov do some laggs
karrouma said:
Renaming - editing deeznuts.txt to deeznuts
It works without laggs after deleting the 99governor file.
99gov do some laggs
Click to expand...
Click to collapse
That's correct, only use one script at a time. Ultimately Deeznuts is the one you want to be using. Because drunksauce was designed originally for the sd808/810 and those chipset were more exponential as clock speeds increase, but our sd820 is very different as clock speeds increases it's more liner, so Deeznuts is more optimized for our sd820 and more performance oriented while saving battery. #cheers
Smacksmack206 said:
That's correct, only use one script at a time. Ultimately Deeznuts is the one you want to be using. Because drunksauce was designed originally for the sd808/810 and those chipset were more exponential as clock speeds increase, but our sd820 is very different as clock speeds increases it's more liner, so Deeznuts is more optimized for our sd820 and more performance oriented while saving battery. #cheers
Click to expand...
Click to collapse
Yes
Now it is working fine
I'm glad it's working properly on your end as well. show me what your battery life is like now with all that added performance when you can. :good:
karrouma said:
Yes
Now it is working fine
Click to expand...
Click to collapse
If you're running my ROM please do not use this tweak, they will conflict, if u want i can make a special version for my ROM (for the people who want to use it) if the op allows
---------- Post added at 10:11 AM ---------- Previous post was at 10:09 AM ----------
Smacksmack206 said:
THIS
ADDITIONAL POTENTIAL BATTERY SAVINGS OPPERTUNITY:
Use a root explorer and go to system/ECT and find the init.qcom.post_boot.sh open file in text editor and scroll all the way to the bottom of the big file. And add theses lines to the file
echo 'N' > /sys/module/msm_thermal/parameters/enabled
echo '1' > /sys/module/msm_thermal/vdd_restriction/enabled
echo '0' > /proc/sys/vm/laptop_mode
echo '60' > /proc/sys/vm/overcommit_ratio
echo '70' > /proc/sys/vm/vfs_cache_pressure
echo '20' > /proc/sys/vm/dirty_ratio
echo '10' > /proc/sys/vm/dirty_background_ratio
echo '2000' > /proc/sys/vm/dirty_expire_centisecs
echo '3000' > /proc/sys/vm/dirty_writeback_centisecs
And reboot, it should help save you a ton of battery as Sony messed up the nougat update memory settings. This with the init scripts in this forum or other sd820 device's / greenify / herb optimizer / and nap time should do wonders for your battery .
Click to expand...
Click to collapse
echo '0' > /proc/sys/vm/laptop_mode
echo '60' > /proc/sys/vm/overcommit_ratio
echo '70' > /proc/sys/vm/vfs_cache_pressure
echo '20' > /proc/sys/vm/dirty_ratio
echo '10' > /proc/sys/vm/dirty_background_ratio
echo '2000' > /proc/sys/vm/dirty_expire_centisecs
echo '3000' > /proc/sys/vm/dirty_writeback_centisecs
Removed a couple of values, they cause CPU frequency to be unstable. Also, i have a ZHANA based governor, would you like to add it to your op?
_LLJY said:
If you're running my ROM please do not use this tweak, they will conflict, if u want i can make a special version for my ROM (for the people who want to use it) if the op allows
---------- Post added at 10:11 AM ---------- Previous post was at 10:09 AM ----------
echo '0' > /proc/sys/vm/laptop_mode
echo '60' > /proc/sys/vm/overcommit_ratio
echo '70' > /proc/sys/vm/vfs_cache_pressure
echo '20' > /proc/sys/vm/dirty_ratio
echo '10' > /proc/sys/vm/dirty_background_ratio
echo '2000' > /proc/sys/vm/dirty_expire_centisecs
echo '3000' > /proc/sys/vm/dirty_writeback_centisecs
Removed a couple of values, they cause CPU frequency to be unstable. Also, i have a ZHANA based governor, would you like to add it to your op?
Click to expand...
Click to collapse
I use the Deeznuts gov I created recently it's based of Xana extreme with my revisions I put I op already. Don't think our govs can be too much different, and probably won't make to much of a difference if people use it on your ROM or not. I would encourage users to test but keep a backup because who knows it's might be better using my governor with your ROM vs xlisten that I was just using. I havent tried your rom yet but I hear it's good I'm in the process of trying it out I'll let you know what I think, hopefully if I'm right than your ROM is a better base to apply my tweak to, so if I got 12hrs close to 13 on the other ROM, it could be more on yours IMO

Categories

Resources