Fixed SystemUI.apk for mik's CM7 - Optimus One, P500, V General

Hi,
Here's a SystemUI.apk which seems to fix the high cpu problem when charging on P500 CM7. Note: I only edited the graphical icon not the battery percentage.
How to install: remove SystemUI.apk and SystemUI.odex in /system/app/, push the new SystemUI.apk to /system/app/
Possible cause of the problem:
On receiving battery change intent, cmbatteryminiicon creates a handler which causes redraw on scheduled time, the problem is, it should only create the handler once, since the handler schedules itself for execution next time. Therefore, we got increased amount of handlers triggering redraw over time which causes the increased cpu usage over charging time.
Also attached is the edited CmBatteryMiniIcon.java
Note: a simple way to check your cpu load when charging is to install an app that shows your CPU load in the statusbar, e.g. SeePU. Charge your phone for 30 minutes and then check your CPU load. If your ROM has the bug, SeePU will continuously shows your CPU load as a 100% (full red color).
Note: requires mik_os' CM7 beta 6.5.1, wipe dalvik cache in recovery.
Note: added a new flashable zip: systemui-faster-animation for those who feel the new animation is too jumpy (aka slow) to test
28/05/2011 Anyone with empty battery could please test this new zip . I have change the animation timer based on current battery level but since my battery is still full I cannot see the animation from the beginning.

It should be made flashable.
Testing it now.
Nice work. Now go get you self 10 posts and post it in mik_os thread.
Sent from my LG-P500 using XDA Premium App with missing Thanks Button.

Please create flashable zip, there is another file CmBatteryMiniIcon.Java, do we need to push that files also.
Thanks.

It's quite simple without flashable zip:
1. reboot into recovery
2. connect phone to computer
3. adb shell
# cd /system/app
# rm SystemUI.*
# exit
4. adb push SystemUI.apk /system/app/
5. reboot phone
You only need to put the apk, the java file is only required if you want to compile android.

Yes, we need a flashable zip, plz create one soon, thanks!

Ok I already installed it but with root explorer but I don't recomend root explorer method.(Only for those who knows what they are doing)
Sent from my LG-P500 using XDA Premium App

eagledipesh said:
Please create flashable zip, there is another file CmBatteryMiniIcon.Java, do we need to push that files also.
Thanks.
Click to expand...
Click to collapse
No u don't its source code. For developers.
Sent from my LG-P500 using XDA Premium App

4silvertooth said:
No u don't its source code. For developers.
Sent from my LG-P500 using XDA Premium App
Click to expand...
Click to collapse
Ok thank you both

How do we know that currently we are having high CPU usage while charging?
Sent from my LG-P500 using Tapatalk

lekhwani said:
How do we know that currently we are having high CPU usage while charging?
Sent from my LG-P500 using Tapatalk
Click to expand...
Click to collapse
Use Watchdog Lite.
Go to CPU usage in the app and you can see status bar using more than 30% CPU while charging. Sometimes it takes more than 50% as well.

Will try it now. Btw I am charging now and opened setcpu. It is showing frequencies between 320 and 600 and I am not doing anything. Does this behavior also confirm this? I am on 245/729 ondemand.
Sent from my LG-P500 using Tapatalk

Seems to have solved the high cpu. The charging animation isn't smooth anymore though, and flashes between animation frames.
A small price to pay to have the status bar use less than 1% of the cpu instead of all of it.
Thanks for this fix!

The high cpu usage doesn't start immediately but after some time of charging you can also use mini info app to check CPU usage. Setcpu just shows the clock speed and not CPU usage.
Sent from my LG-P500 using XDA Premium App

lekhwani said:
Will try it now. Btw I am charging now and opened setcpu. It is showing frequencies between 320 and 600 and I am not doing anything. Does this behavior also confirm this? I am on 245/729 ondemand.
Sent from my LG-P500 using Tapatalk
Click to expand...
Click to collapse
Probably yes.i.would use android assistant though it gives a exact graph and it's easy to see what the usage is sometimes when I plug mine in it it will ride on 90% milk of aware of the bug have you told him about the fix will he be putting it in his next beta version???? if so I'll probably wait for the official fix
LG-P500 using XDA Premium App running CM7, ungaze data2sd, over clocked at 787 quadrant score 2100

nogav said:
Seems to have solved the high cpu. The charging animation isn't smooth anymore though, and flashes between animation frames.
Click to expand...
Click to collapse
In the original code, the charging animation frame is updated every 1 second, so I don't think it's supposed to be smooth.

Flashed the zip
Before flash:
After flash:
In short CPU usage reduced to 1% from 35-60%.
This is kind of a genius work.
But after rebooting my 3g is working but not showing the h sign.
Scrolling lag while charge also seems to be gone.
Will check further.
Sent from my LG-P500 using Tapatalk

lekhwani said:
How do we know that currently we are having high CPU usage while charging?
Click to expand...
Click to collapse
If you are running adb you could:
adb shell
vmstat
{ctrl-c to exit}
The id column is the one that shows idle percentage.
# vmstat
procs memory system cpu
r b free mapped anon slab in cs flt us ni sy id wa ir
0 0 210600 51504 112456 9272 100 228 0 1 0 2 97 0 0
0 0 210600 51504 112456 9272 138 217 0 0 0 1 99 0 0
0 0 210600 51504 112456 9272 110 214 0 3 0 2 96 0 0
0 0 210600 51504 112456 9272 136 208 0 0 0 2 98 0 0
^C
In this example my OptT shows 1-4% CPU use (ie, 96-99% idle). So the charging cpu bug was not in effect during this demonstration.
I've de-emphasised the first line because traditionally the first line of vmstat output shows since-boot average or something, and the subsequent lines are snapshots. Dunno if it's that way in this shell (busybox?) or not but thought I'd mention it.

so maybe i was not supposed to do this but i just flashed the zip (didnt do the other steps) and now my notification bar is gone???? but it did fix the charging bug ... how can i fix??????? i saw the posted steps but then i saw the sighed zip and figured you can just use that

dislplin01 said:
so maybe i was not supposed to do this but i just flashed the zip (didnt do the other steps) and now my notification bar is gone???? but it did fix the charging bug ... how can i fix
Click to expand...
Click to collapse
I didn't test the flashable zip, so I don't know if it works or not. If your statusbar is gone then android cannot run your com.android.systemui process. You can either flash your ROM again or use adb to replace the systemui.apk
Here's my updater-script:
Code:
mount("yaffs2", "MTD", "system", "/system");
delete("/system/app/SystemUI.odex");
package_extract_dir("system", "/system");
unmount("/system");

Hmm, is this apk tied to a special version of mik's CM7 build? I use Beta 6.5. Installed with adb shell (removed SystemUI.apk and SystemUI.odex and then copied new SystemUI.apk to /system/app). I get constantly get FCs.
Will try to wipe dalvik cache and reboot again...

Related

Droid Eris OS MacRom MR8 SR1 auto rotation not working

I updated my Droid Eris to the OS MacRom MR8 SR1. The auto-rotate feature was working fine, but then stopped working. I am using supercharger, set CPU, LauncherPro, Green Glass Keyboard, Muiu Camera, and Cache2Cache. I'm not sure if it is a problem with the Rom or an Application. I've tried rebooting and turning the auto rotation on/off. When off it goes to portrait, when on landscape. Mad props to Macrodroid for the update. 3G is superfast! Allows you to customize your launcher! Any help would be appreciated. I would like to not have to wipe and re-flash the Rom if possible as I have taken a lot of time setting it up with the apps I like.
Scoobyzsnax said:
I updated my Droid Eris to the OS MacRom MR8 SR1. The auto-rotate feature was working fine, but then stopped working. I am using supercharger, set CPU, LauncherPro, Green Glass Keyboard, Muiu Camera, and Cache2Cache. I'm not sure if it is a problem with the Rom or an Application. I've tried rebooting and turning the auto rotation on/off. When off it goes to portrait, when on landscape. Mad props to Macrodroid for the update. 3G is superfast! Allows you to customize your launcher! Any help would be appreciated. I would like to not have to wipe and re-flash the Rom if possible as I have taken a lot of time setting it up with the apps I like.
Click to expand...
Click to collapse
Not sure about the auto rotate but my first suggestion would be to get rid of set CPU. Cm has the CPU and governor adjustments built in under performance in cm settings and that long with set CPU will cause conflicts.
Sent from my ADR6300 using XDA App
Scoobyzsnax said:
I updated my Droid Eris to the OS MacRom MR8 SR1. The auto-rotate feature was working fine, but then stopped working. I am using supercharger, set CPU, LauncherPro, Green Glass Keyboard, Muiu Camera, and Cache2Cache. I'm not sure if it is a problem with the Rom or an Application. I've tried rebooting and turning the auto rotation on/off. When off it goes to portrait, when on landscape. Mad props to Macrodroid for the update. 3G is superfast! Allows you to customize your launcher! Any help would be appreciated. I would like to not have to wipe and re-flash the Rom if possible as I have taken a lot of time setting it up with the apps I like.
Click to expand...
Click to collapse
Get rid of Set CPU (use the built in CM) and kill the supercharger settings (might need to just wipe the dalvik and reflash the Rom, Launcher and KB - Your settings and such will still be in-tact). MR8 has the memory settings tied in already, so supercharger is probably hanging it up. If you want to use supercharger, you can remove the hard-coded settings from the build.prop. Shoot me a PM if you need it done, I'll make up a flash-fix for you...
If it still doesn't work, send me a Pm and let me know... I tried it on my phone and SuperCharger does cause some issues when I applied it...
wow how much ram do you have?
ro.FOREGROUND_APP_MEM=40960 = 160 mb
ro.VISIBLE_APP_MEM=40960 = 160 mb
ro.SECONDARY_SERVER_MEM=40960 = 160 mb
ro.BACKUP_APP_MEM=20480 = 80 mb
ro.HOME_APP_MEM=61440 = 240 mb
ro.HIDDEN_APP_MEM=16384 = 64 mb
ro.CONTENT_PROVIDER_MEM=61440 = 240 mb
ro.EMPTY_APP_MEM=81920 = 320 mb
Why would you want foreground apps killed with 160mb free ram?
However, I think you just have extra 0s in error
edit: To clean build.prop, you can type this command in terminal:
su
sed -i '/.*_MEM/d' /system/build.prop
Macrodroid said:
Get rid of Set CPU (use the built in CM) and kill the supercharger settings (might need to just wipe the dalvik and reflash the Rom, Launcher and KB - Your settings and such will still be in-tact). MR8 has the memory settings tied in already, so supercharger is probably hanging it up. If you want to use supercharger, you can remove the hard-coded settings from the build.prop. Shoot me a PM if you need it done, I'll make up a flash-fix for you...
If it still doesn't work, send me a Pm and let me know... I tried it on my phone and SuperCharger does cause some issues when I applied it...
Click to expand...
Click to collapse
I followed your suggestions on CPU and Supercharger and everything is running super smooth. Thanks a million!
Curious about next step?
zeppelinrox said:
wow how much ram do you have?
ro.FOREGROUND_APP_MEM=40960 = 160 mb
ro.VISIBLE_APP_MEM=40960 = 160 mb
ro.SECONDARY_SERVER_MEM=40960 = 160 mb
ro.BACKUP_APP_MEM=20480 = 80 mb
ro.HOME_APP_MEM=61440 = 240 mb
ro.HIDDEN_APP_MEM=16384 = 64 mb
ro.CONTENT_PROVIDER_MEM=61440 = 240 mb
ro.EMPTY_APP_MEM=81920 = 320 mb
Why would you want foreground apps killed with 160mb free ram?
However, I think you just have extra 0s in error
edit: To clean build.prop, you can type this command in terminal:
su
sed -i '/.*_MEM/d' /system/build.prop
Click to expand...
Click to collapse
I typed this into the emulator and a list of options came up. Was I supposed to do anything else??
Doh... forgot about mounting system as r/w
su
mount -o remount,rw /system
sed -i '/.*_MEM/d' /system/build.prop
mount -o remount,ro /system
Sent from my Milestone using Tapatalk
zeppelinrox said:
Doh... forgot about mounting system as r/w
su
mount -o remount,rw /system
sed -i '/.*_MEM/d' /system/build.prop
mount -o remount,ro /system
Sent from my Milestone using Tapatalk
Click to expand...
Click to collapse
I typed the above into my phone and nothing visibly happened. Was I supposed to see anything??
Thank you again for your help. About a month ago I asked my friend if he thought he could hit my droid eris with a shotgun blast. I was going to youtube it....I hated it....because of people like you, it has actually turned out to have been a good investment. I have been suffering with 2.1 for about 1 and 1/2 years before now.
Thanks
No error = good lol
But look in build.prop to see if you have any MEM entries.
After some serious downloading and reading....I now have android commander. I can now do some modding of my own I guess? Any how build.prop has no MEM entries. Was this the goal and should I install supercharger now?
yep... letter rip
For some reason the setting won't stick. I tried loading and running the supercharger99 as advised in the help file. I made sure all of the setting were correct. I even turned off the CPU settings at boot for CM7. Lock home in memory unchecked and Compcache was not used either. I really don't need it, but your thread on it is very compelling.

[TEAM XPOSED] [GUIDE] Dual Cores all the time for any kernel!

Hi everyone! We're back at it again with another DIY guide and this time it's everyone's favorite: Dual Cores.
This guide will assume you don't use any other software that will affect this, such as but not limited to: SetCPU, Virtuous OC.
I'm not sure how Virtuous OC works, as I've never used it, but I included in there just in case. SetCPU has been tested by me to render this useless, as it resets the permissions on the second core.
There are a number of ways to go about doing this:
ramdisk
init.d
init.post_boot.sh
But, the easiest fastest way to get this accomplished is to either upload and post your init.post_boot.sh file, which is located in /system/etc/, OR edit it manually yourself.
There are other ways but this file already exists, and has most of what you need in it and it gets executed at boot anyway.
Take note of the permissions set for this file, because they will need to be set back if you choose to edit outside of Android. You can also edit the file with Android's file editor if you use Root Explorer.
If you choose to edit it yourself and outside of Android, you will need to open the file with Notepad++ (Or whatever qualified editor you use) and add this in anywhere before the line "chown system /sys/devices/system/cpu/cpu0/online"
echo "1" > /sys/devices/system/cpu/cpu1/online
chmod 0444 /sys/devices/system/cpu/cpu1/online
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chmod 0644 /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
What this does is set the second core's online state to 1 (enabled) and the second line sets this value as read-only, so that the system can't disable its online state when it feels the second core is no longer needed. The third line sets the governor, and I assume you can use any governor that's available in the kernel. However, I'm not sure if both cores can have separate governors. Changing one may change the other. I haven't tested this myself, but sampling frequency and up-threshold works like this, so I assume governors may as well. The last line, if it has anything in common with the third, sets the governor so that you may infact change it with CPU Tuner (since it has the ability to control the second core as well as the first). This line may be obsolete and was only added in as a fail safe.
While you're in there, you can tune your cores even more (assuming you don't use anything like virtuous OC, CPU Tuner, ETC) and set the min and max values by adding this (there should already be something like this for the first core so you can go ahead and add this below that):
echo 192000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 192000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 594000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
As a way to conserve battery life, I set the second core to run at half its max (stock kernel), This works fantastically for CPU Master, which only controls the first core, as you can have all your profiles set, without messing with the second core. (I've found that you can run the first core at 192MHz with the screen off/low battery while still maintaining minimal lag by setting the second core's max to 594MHz!)
Once you've edited the file, you can go ahead and push it back to your device (assuming you've edited it outside of android) and set the permissions back to what they were and reboot.
As always, if any of this is overwhelming, I'll be happy to edit the file for you.
The other methods mentioned above work in pretty much the same fashion (adding those lines in), and if you prefer to use one of those methods, then that's fine as well.
To check whether or not your edits were successful, you can navigate with root explorer to /sys/devices/system/cpu1 and look for "online" which should have permissions of r--r--r-- You can view the file and see if "1" is in there, indicating that the second core is active. You can also use SystemPanel to check your CPU activity, which should show both cores active. As a legend, a grey pie chart means the second core isn't active, but they should both be green and actively being used.
Good luck!
Nice. What sort of difference in user experience have you noticed?
system panel shows second core 100% idle after editing file, also the /sys/devices/system/cpu/cpu1/online file show 0 in view as text instead of 1 any suggestions?
cabbieBot said:
Nice. What sort of difference in user experience have you noticed?
Click to expand...
Click to collapse
much smoother with no lag at all on my end.
rontonomo said:
system panel shows second core 100% idle after editing file, also the /sys/devices/system/cpu/cpu1/online file show 0 in view as text instead of 1 any suggestions?
Click to expand...
Click to collapse
did you reboot after editing? Did you verify that the online file's permissions are r--r--r--? And finally, are you using any cpu controlling software? Setcpu?
what do you recommend besides setcpu to overclock?
cabbieBot said:
what do you recommend besides setcpu to overclock?
Click to expand...
Click to collapse
cpu master or cpu tuner
got it to work by taking out the quotes around the 1
I'm using your latest modified stock kernel. Can you post an additive to add this?
Via My HTC Evo 3D On The Now Network From Sprint.
Rydah805 said:
I'm using your latest modified stock kernel. Can you post an additive to add this?
Via My HTC Evo 3D On The Now Network From Sprint.
Click to expand...
Click to collapse
if you're on the dual core version then this is identical to what's already there. No need to apply.
freeza said:
if you're on the dual core version then this is identical to what's already there. No need to apply.
Click to expand...
Click to collapse
Ahh, just saw it again, dual cores are alive.!!! LOL
Via My HTC Evo 3D On The Now Network From Sprint.
So in theory wouldn't this make ur phone faster? Because after doing some quad testing it seems that my phone is slower. It feels faster but at times the scrolling lags a bit. Anyway to fix the lag? That's if anyone else is having the issue. And I know quads don't mean sh*t but I was curious as to why they would drop.
Sent from my Beastly EVO.. And did I mention it has 3D?
What were the original permission for init.post_boot.sh. I think they were:
RW - R - R
Can someone please confirm?
ericwgarza1 said:
What were the original permission for init.post_boot.sh. I think they were:
RW - R - R
Can someone please confirm?
Click to expand...
Click to collapse
confirmed
youngpro83 said:
So in theory wouldn't this make ur phone faster? Because after doing some quad testing it seems that my phone is slower. It feels faster but at times the scrolling lags a bit. Anyway to fix the lag? That's if anyone else is having the issue. And I know quads don't mean sh*t but I was curious as to why they would drop.
Sent from my Beastly EVO.. And did I mention it has 3D?
Click to expand...
Click to collapse
the reason why there is lag is because your system switches the governor back to userspace after a while... don't know what triggers this, just know that it happens. i have performed this same modification on my phone numerous times and with no success. the phone is smoother managing itself.
i was actually going to ask freeza if he knows of a way to permanently set both cores to ondemand, and permanently have cpu1 online...
that would make it fast. it will stick momentarily, but as soon as that governor is switched back to userspace, you will see lag and a huge performance drop.
---------- Post added at 11:48 AM ---------- Previous post was at 11:36 AM ----------
or maybe i misunderstood the post... and maybe freeze can help me understand here...
so you are saying the lag comes from both cores running at high frequencies? and that if you throttle down the second core, but always have it running, it will improve performance without the lag?
hottubtimemachine said:
the reason why there is lag is because your system switches the governor back to userspace after a while... don't know what triggers this, just know that it happens. i have performed this same modification on my phone numerous times and with no success. the phone is smoother managing itself.
i was actually going to ask freeza if he knows of a way to permanently set both cores to ondemand, and permanently have cpu1 online...
that would make it fast. it will stick momentarily, but as soon as that governor is switched back to userspace, you will see lag and a huge performance drop.
---------- Post added at 11:48 AM ---------- Previous post was at 11:36 AM ----------
or maybe i misunderstood the post... and maybe freeze can help me understand here...
so you are saying the lag comes from both cores running at high frequencies? and that if you throttle down the second core, but always have it running, it will improve performance without the lag?
Click to expand...
Click to collapse
I've set my scaling_governor to read-only and so far "ondemand" has stuck since boot yesterday.
hmmm... i wonder what is causing it to switch back and forth me...
I keep triing this but its not working or maybe I'm doing it wrong, so if I post my file could someone edit it for me? THANKS
Sent from my PG86100 using Tapatalk
MPD CPU1 Governor Control
Treve's MPD CPU1 Governor Control
http://forum.xda-developers.com/showpost.php?p=17456447&postcount=7630
working well with this
Freeza, Good stuff man, thanks for posting this! We appreciate you sharing your knowledge!
kr1m3boss said:
I keep triing this but its not working or maybe I'm doing it wrong, so if I post my file could someone edit it for me? THANKS
Sent from my PG86100 using Tapatalk
Click to expand...
Click to collapse
Hi, sorry for the late response. Have been really busy the past few days.
Did you ever get this working?

[MOD][Updated 6.2.12]Dual Core Mod v2.1 - Screen Profiles, Auto Tweak, and more!

Hello everybody, here is a mod that should give you better performance by forcing cpu1 (second core) to run more, depending on the zip you flash below. The system will handle how it scales and the dcmhelper script will modify some parameters if you choose that zip. Some people on the EVO 3D felt that it gave them better battery life, some didn't. Some thought the performance was much better, some didn't. This is just something else for you guys to play with and see what works best for you Please note: If you are on viperROM, please choose one of the viperROM .zips! There are no memory optimization .zips for viperROM since that is already done in the ROM! Here are the details:
=============== How was this done? ===============​
It was pretty easy, instead of modifying the kernel itself, I just modified /system/etc/init.qcom.post_boot.sh. It already sets extra parameters for the CPU and system shortly after boot. Here are the lines that I added:
Code:
echo 1 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
What this does is it tells cpu1 to come online and then changes the permissions so user read-only so that it can't be overridden. This will be applied on every boot.
You can also verify this is working by any number of apps, but I find SystemPanel to be the best. They have a free lite version. Just download and tap on the top right where the CPU info is. You will the the CPUs changing, when it goes grey it's offline (which you won't see when using the Dual Core Mod).
aLogcat will also show you everything DCM is doing. Just apply a filter in aLogcat called DCM and it will tell you in detail what is going on.
If you want a little bit less info or want to use adb, just type su and then dcmlog and you will see what the 2nd core is doing exactly. This is updated every 1/4 second for extremely accurate results.
Click to expand...
Click to collapse
=============== Requirements ===============​
HTCdev Unlock (Choose "All Other Supported Models" and follow all the directions, including driver install)
Custom recovery - I would recommend TWRP since it doesn't have the /misc issue anymore
Click to expand...
Click to collapse
=============== How to Flash ===============​
Download the mod below and place on your internal_sdcard or sdcard (doesn't matter, just remember where you put it!)
Go into Settings > Power > Fast Boot and uncheck that.
Turn the phone off. Once off, press and hold the Volume Down + Power Button until you reach the white bootloader screen
Choose "RECOVERY" (volume down and up to move, power to select)
Choose "Install" and locate the mod wherever you put it. NOTE: If you don't see it, make sure that either internal_sdcard or sdcard is mounted. This can be done via the "Mount" button at the main menu of TWRP. Be sure that either internal_sdcard or sdcard is checked!
Wait until the install is finished and then tap "Reboot to System"
Click to expand...
Click to collapse
=============== Dual Core Mod v2.1 (flash over any existing version) ===============​Updated dcmhelper
Fixed issues with cpu1 turning off when screen on
Fixed issues with cpu1 turning on when screen off
Added double check for cpu1 off when screen off
Added logging to logcat
Updated init.qcomm.post_boot.sh
Set perms of 444 on hotplug file, regardless of dcmhelper present or not
Other
Added /system/bin/dcmlog (type su then dcmlog from terminal or adb) - Tells you current cpu1 status [0 = off, 1 = on]
=============== Dual Core Mod v2 (flash over v1) ===============​
MANY new options!
Added "Screen Profiles" and "Auto Tweak" script option (all located in one configurable file - /system/bin/dcmhelper) - see 2nd post for more info
Added "Memory Optimization" option - see 2nd post for more info
Support AT&T HTC One X
Support T-Mobile One S
"All-in-One" .zips - all devices supported via 1 .zip file (thanks to a very smart updater-script I wrote )
=============== Dual Core Mod v1 ===============​
Initial release
Click to expand...
Click to collapse
=============== Explanation of Mods===============
All DCMs have memory optimizations!​
Dual Core Mod - Full time cpu1 on
Dual Core Mod Plus - cpu1 on when screen on, cpu1 off when screen off
Dual Core Mod Ultimate - Same as Plus but governor is tweaked for more performance when screen on, more battery life when screen off.
Click to expand...
Click to collapse
=============== Downloads ===============
Dual Core Mod v2.1
Dual Core Mod v2.1 Plus
Dual Core Mod v2.1 Ultimate
Dual Core Mod Back to Stock
=======================================
Dual Core Mod v2.1 for viperROM
Dual Core Mod v2.1 Plus for viperROM
Dual Core Mod v2.1 Ultimate for viperROM
Dual Core Mod Back to Stock viperROM​
Click to expand...
Click to collapse
=============== Credits ===============​
Freeza for doing this on the EVO 3D where I got the idea from
rohandhruva, remedy1419, and ewalk4866 for EXTENSIVE testing to fix issues and make DCM better
Click to expand...
Click to collapse
It has been asked to make it easier to donate for people using Tapatalk, so here are the links...
Donate to -viperboy-
http://bit.ly/n7sB9g​
More Info​
=============== How are all supported phones in 1 zip per file? ===============​I wrote a custom updater-script that will identify your device and automatically give you the right file needed. Just like magic
Click to expand...
Click to collapse
=============== How can I monitor the 2nd core? ===============​You can also verify this is working by any number of apps, but I find SystemPanel to be the best. They have a free lite version. Just download and tap on the top right where the CPU info is. You will the the CPUs changing, when it goes grey it's offline (which you won't see when using the Dual Core Mod).
aLogcat will also show you everything DCM is doing. Just apply a filter in aLogcat called DCM and it will tell you in detail what is going on.
If you want a little bit less info or want to use adb, just type su and then dcmlog and you will see what the 2nd core is doing exactly. This is updated every 1/4 second for extremely accurate results.
Click to expand...
Click to collapse
=============== What are the "Memory Optimizations?" ===============​The optimizations I made are the same that I have made in viperROM. They are as follows:
echo "0,4,6,8,14,15" > /sys/module/lowmemorykiller/parameters/adj
echo "2560,4096,6144,7680,8704,10240" > /sys/module/lowmemorykiller/parameters/minfree
Click to expand...
Click to collapse
This will allow better multitasking and should eliminate any issues with apps being killed off very easily.
Click to expand...
Click to collapse
=============== What are the "Screen Profiles?" ===============​The screen profiles are part of a custom script, located in /system/bin/dcmhelper. Once flashed, this .zip runs in the background to monitor screen state (uses hardly any power). When you choose a .zip with this in it, the phone won't just leave the second core always running - it will turn it off when the screen is off and on when the screen is on. This is done via this code here:
while : ; do
awake=`cat /sys/power/wait_for_fb_wake`
if [ $awake = "awake" ]; then
echo 1 > /sys/devices/system/cpu/cpu1/online
awake=
fi
sleep=`cat /sys/power/wait_for_fb_wake`
if [ $sleep= "sleeping" ]; then
echo 0 > /sys/devices/system/cpu/cpu1/online
sleep=
fi
Click to expand...
Click to collapse
Pretty simple and straightforward
Click to expand...
Click to collapse
=============== What is the "Auto Tweaking Script?" ===============​The auto tweaking script is the second part of a /system/bin/dcmhelper. This part of the script will set certain governor settings based on the screen being off or on. In the viperROM version, the screen on settings are the same as in the ROM. In the other versions, the screen on settings are more set for performance. I intentionally kept the same settings in the viperROM version to make sure you get as close to the same battery life as unmodified viperROM. Here is a code snipit (from the non-viperROM version) that shows what the settings are:
ondemand_sampling_rate_awake=40000
ondemand_up_threshold_awake=80
ondemand_down_differential_awake=12
ondemand_sampling_down_factor_awake=3
ondemand_sampling_rate_sleep=80000
ondemand_up_threshold_sleep=95
ondemand_down_differential_sleep=5
ondemand_sampling_down_factor_sleep=1
Click to expand...
Click to collapse
Long story short, when awake, it will check if the CPU needs to increase speed faster and in bigger steps. When asleep, it will wait longer before polling the CPU to scale up and it will take a more gradual approach to scaling up. However, you shouldn't experience any lockscreen lag.
Click to expand...
Click to collapse
=============== Long Term Goals for Dual Core Mod ===============​
Config file and script for users to set their own settings
Profiles for battery
Set max freq when screen off (will affect virtuous_oc daemon in viperROM, still working on that)
Click to expand...
Click to collapse
you rocking man
gonna give it a guinea pig test
Thinning this now. Seems pretty smooth. Played a couple games real quick and everything worked well. I'll report on battery life.
Tapatalked from my shiny new HTC Evo LTE
Trying it out now. It sounds like a good idea, so I figure why not?
+1, flashing now. Time to start seeing what these can do.
Swyped from my eVo
Can you guys do this, and run quadrant I remember the evo3d would go from 2700 --> 3100 just from doing this mod.
supers2k said:
Can you guys do this, and run quadrant I remember the evo3d would go from 2700 --> 3100 just from doing this mod.
Click to expand...
Click to collapse
If someone posts Quadrant (or other benchmarks) before and afters, I will post them up here, even though I don't believe in benchmarks...
-viperboy- said:
If someone posts Quadrant (or other benchmarks) before and afters, I will post them up here, even though I don't believe in benchmarks...
Click to expand...
Click to collapse
I will hold on
Edit- yay not worth posting, only a 100 better
My quadrants were not dramatically different but the performance increase is insane. Dont see how this won't drain battery thought
Sent from my EVO using Tapatalk 2
my quadrant was lower
lets see if it actually saves battery
Mine was just about the same
Sent from my EVO using xda premium
one thing i notice so far is the phone sleeps phenomenally well
1hr and 45minutes off the charger with little to no use
and the battery is still at 100 ^_^
edit:
i got a 1% drop in 2 hours and 8 minutes of very light usage
not bad at all
Nor really sure how to take this. Quadrants are 5200, roughly the same, but some 3d is smoother. I not sure yet whether to keep DC or not, but this will really make more of a difference when heavily o/c'd. Can't wait to push this to hopefully 2GHz.
Swyped from my eVo
will this affect battery life, both how long the charge lasts, as well as the physical life of the battery?
Does the phone get any hotter since both cores are running?
If this enables the second core to be run but scales its use, how is this different than the stock way? Does the stock way not scale the use of the second core as well? or is the second core completely disabled?
94tbird said:
will this affect battery life, both how long the charge lasts, as well as the physical life of the battery?
Does the phone get any hotter since both cores are running?
If this enables the second core to be run but scales its use, how is this different than the stock way? Does the stock way not scale the use of the second core as well? or is the second core completely disabled?
Click to expand...
Click to collapse
I've seen maybe a slight increase in drain when the screen is on however this mod caused zero extra heat for me. I'm keeping it for now
Sent from my EVO using Tapatalk 2
Kidromulous said:
I've seen maybe a slight increase in drain when the screen is on however this mod caused zero extra heat for me. I'm keeping it for now
Sent from my EVO using Tapatalk 2
Click to expand...
Click to collapse
It hasnt been out long enough for the LTE folks really to make an actual difference. I was hoping to hear from maybe Evo 3d people who switched to lte and see their thoughts on it if they used it on the 3d.
94tbird said:
It hasnt been out long enough for the LTE folks really to make an actual difference. I was hoping to hear from maybe Evo 3d people who switched to lte and see their thoughts on it if they used it on the 3d.
Click to expand...
Click to collapse
I am one of the people who used it on the 3d. It doesn't cause the phone to heat up i put the phone through its paces etc. The performance increase was almost immediately noticeable for me just like with the 3d.
Sent from my EVO using Tapatalk 2
So awesome to see Viperboy has the EVO LTE. Happily running Redline on my 3vo, can't wait to see what he churns out on the LTE.
If I wanted to do this to my One X, can I just add those two lines in manually? Does anything need to be removed from the script? Is there a specific location that I need to add them or can I just toss them in as the last lines in the file? TIA.

[WIP]Liberator....

Liberator is an OC/UC daemon similar to, and based on virtuous.
It's a native app, which runs via an init.d script on startup.
It has 4 profiles, which can be set up to change the governor, scheduler, and min/max freqs.
Profiles:
Normal - The default profile.
Sleep - Kicks in when the screen turns off.
Charging - Kicks in when the screen is on, and the phone is charging.
Low Battery - Kicks in while the screen is on, not charging, and the battery percentage falls below the defined level.
Source & Readme - https://github.com/chris41g/android_external_liberator
Download Link - http://chris41g.devphone.org/index.php?dir=Liberator/
I suggest uninstalling any utilities that set the CPU freqs or governor.
I wrote this to work with any ROM, or device.. but things don't always work out the way they are intended to.
If you have any problems, Iet me know so I can get this thing done!
My explanation from irc:
Code:
<chris41g> ok let me explain it
<chris41g> do you underclock or overclock? and do you change governors or scheduler?
<chris41g> its basically a C daemon that replace Setcpu, CPU tweaker, CPU Master etc
<chris41g> way faster since its written in native C, uses less resources and battery
<chris41g> it has 4 profiles.. Normal, Charging, Screen Off, Low Battery
<chris41g> and you can set min/max freq, sched, and governor for each profile...
<chris41g> by setting text files in /system/etc/Liberator
Deleted
Is this set up with default values so I can just flash and use?
NVM I viewed them , and they are. The default "normal" governor is set to ondemand and the scheduler is set to noop, are these the most battery efficient choices?
NVM Found this thread explaining governors http://forum.xda-developers.com/showthread.php?t=1369817
I normally use setcpu, but since you have a 3511 thanks and counting and you say this "uses less resources & battery" then Ill use this. Thx
So does phase support Liberator (from the Original development thread)? Has anybody used it.? For me, it caused a bootloop...
Sent from my SAMSUNG-SGH-I717 using xda app-developers app
bmunday said:
So does phase support Liberator (from the Original development thread)? Has anybody used it.? For me, it caused a bootloop...
Sent from my SAMSUNG-SGH-I717 using xda app-developers app
Click to expand...
Click to collapse
Be sure you uninstall all apps to overclock
$ø|\/|£ťhïñğ ¢ű$ț¤|\/| ⁴.².²
Working extremely well here so far. Thanks Chris!
Sent from my SAMSUNG-SGH-I717 using Tapatalk 2
bmunday said:
So does phase support Liberator (from the Original development thread)? Has anybody used it.? For me, it caused a bootloop...
Sent from my SAMSUNG-SGH-I717 using xda app-developers app
Click to expand...
Click to collapse
Liberator v1.4 bootloops on Padawan JB
v1.3 boots fine
Sent from my SAMSUNG-SGH-I717 using xda premium
The download link isn't working for me, any mirrors ?
GPFerror said:
The download link isn't working for me, any mirrors ?
Click to expand...
Click to collapse
Ok, I guess no one had a copy. So I built it from source, did have a question on if I built it right.
I was getting missing cutils/socket.h, so I grabbed that folder from android_system_core-cm-10.1 github and copied into my android-ndk-r9\platforms\android-14\arch-arm\usr\include and had to add a define to the android.mk file
LOCAL_CFLAGS := -DHAVE_SYS_UIO_H or I got a error.
so I grabbed the binary copied it to my phone created all of the *_scheduler files, not sure how to do the init.d yet, is there a special script that was included that is not in the source?
Thanks.
GPFerror said:
Ok, I guess no one had a copy. So I built it from source, did have a question on if I built it right.
I was getting missing cutils/socket.h, so I grabbed that folder from android_system_core-cm-10.1 github and copied into my android-ndk-r9\platforms\android-14\arch-arm\usr\include and had to add a define to the android.mk file
LOCAL_CFLAGS := -DHAVE_SYS_UIO_H or I got a error.
so I grabbed the binary copied it to my phone created all of the *_scheduler files, not sure how to do the init.d yet, is there a special script that was included that is not in the source?
Thanks.
Click to expand...
Click to collapse
its built inside the CM10 tree... and you can either add a script to init.d or just run it from a terminal

Setup to have your LG G6 a way faster in all way (heavy game and smooth scrolling)

Hello people i' m editing for now a thread to make your g6 really faster in all way for rooted user
Requirement :
* having a rooted device
* using mk2000 kernel( thanks to the developer)
I also created by myself a different thermal-engine-8996.conf file
First thing :
With a root file explorer go to system/etc and replace the thermal-engine-8996.conf by mine : extract the file and after you have replace the file in system/etc folder just give the good permission to the file rw-r--r--
I have change cpu and gpu freq in this file cause the throttling was too hard
For exemple the max cpu freq allowed go to 2000mhz to 1000mhz only with 2°C more so i changed it
Second thing :
My parameters with ex kernel manager screenshots to show my settings...in construction
Cpu setting in secong post
Gpu setting in third post
Results : i don't see overheating problem since i use those tweak and i could feel it really smoother on apps scrolling
I also can say that on heavy game frame drops are gone and game are always fluid
Please give me you feedback
Thanks to mk2000 kernel developer and others related to twrp and rooting method
Cpu screenshot
For governor setting put same values on big and little core
Gpu screenshots
The reason why i recommand Mk2000 kernel is because you can use adreno boost
3A charging with screen max brightness on stock rom....with a 3m cord. Madness...
Sam.1211 said:
3A charging with screen max brightness on stock rom....with a 3m cord. Madness...
Click to expand...
Click to collapse
What do you mean?
moomoon03 said:
What do you mean?
Click to expand...
Click to collapse
Charging is limited to about 1A usually on my phone. I'm not sarcastic, quick charge does not normally function when screen is on.
Sam.1211 said:
Charging is limited to about 1A usually on my phone. I'm not sarcastic, quick charge does not normally function when screen is on.
Click to expand...
Click to collapse
Yeah you said that about my screenshots?don't worry all my temp were good about 31 for battery and 32°C for cpu
Anyway did you try it?
moomoon03 said:
Yeah you said that about my screenshots?don't worry all my temp were good about 31 for battery and 32°C for cpu
Anyway did you try it?
Click to expand...
Click to collapse
Temps went up to 45° but it's hot in here . And then it throttles (performance drop+1 amp charging). Didn't install a kernel manager, I'll do that later.
Sam.1211 said:
Temps went up to 45° but it's hot in here . And then it throttles (performance drop+1 amp charging). Didn't install a kernel manager, I'll do that later.
Click to expand...
Click to collapse
45°C on cpu during usage?
moomoon03 said:
45°C on cpu during usage?
Click to expand...
Click to collapse
No, battery temp. I don't even monitor cpu temp, I don't treat my phone like my computer tbh. It shoult be fine as long as voltages are the same.
Sam.1211 said:
No, battery temp. I don't even monitor cpu temp, I don't treat my phone like my computer tbh. It shoult be fine as long as voltages are the same.
Click to expand...
Click to collapse
Yeah mine during charging time now
what software, app whatever you used to edit thermal-engine?! i need to modify mine at my taste but i see its ecrypted now...
sun_is_shinning said:
what software, app whatever you used to edit thermal-engine?! i need to modify mine at my taste but i see its ecrypted now...
Click to expand...
Click to collapse
You need to be root and use a file manager like root explorer or es file manager, after that you could access to the file to replace it and change autorisation
moomoon03 said:
You need to be root and use a file manager like root explorer or es file manager, after that you could access to the file to replace it and change autorisation
Click to expand...
Click to collapse
i know i can acess it via root explorer, but even with root explorer opening with text editor the file shows as ecrypted and no text was showed, just random characters, i need a way to proper edit the values myself. but i dont know how to.
sun_is_shinning said:
i know i can acess it via root explorer, but even with root explorer opening with text editor the file shows as ecrypted and no text was showed, just random characters, i need a way to proper edit the values myself. but i dont know how to.
Click to expand...
Click to collapse
Just replace the file cause on oreo i had the same issue
Great config.
Quick question: Will the thermal config work fine with the oreo builds?
Does this work with the stock kernel?
DJPRMF said:
Great config.
Quick question: Will the thermal config work fine with the oreo builds?
Click to expand...
Click to collapse
Yes of course
Arak0n said:
Does this work with the stock kernel?
Click to expand...
Click to collapse
Yes it's working
Fantastic work. Zero lag and overheating.

Categories

Resources