Hi All,
I like to know what my CPU's/Cores are doing, and not only knowing, but controlling.
So i created this little deamon to control my cores and frequencies/governor. It waits for screen on/off events and then sets the Cores online/offline as to your config and then locks them in place so the system can't offline/online them as it wants. So you can have full duel core in screen on and force 1 core offline during sleep.
I would like to start by thanking and giving full props to the Virtuous team. They wrote the first daemon of this type and for making it open source. I got a lot of inspiration from their code. Here is my Github link.
Features:
Full duel core and single core support, probably more, but i only have those devices to test
4 Profiles (Wake(Screen on)/Sleep(Screen off)/Charge/LowBattery)
Core online/offline with lock-in so system can't change it.
Here is my settings and also the default when you install.
Wake
Gov = ondemand
Min = 192000 Mhz
Max = 1512000 Mhz (YIPPY, we have some new kernels)
Cores = 2
Sleep
Gov = conservative
Min = 192000 Mhz
Max = 648000 Mhz
Cores = 1 (only need 1 and other core gets off-lined)
Charge
Gov = ondemand
Min = 192000 Mhz
Max = 1188000 Mhz
Cores = 2
LowBattery
Gov = ondemand
Min = 192000 Mhz
Max = 1188000 Mhz
Cores = 1
Level = 15%
So what do you need to test/run.
* Custom recovery (Any should do, but i tested in 4Ext)
* Root access
* init.d support for autostart
* A little know-how.
* Android 4.0 (IceCreamSandwich) (Haven't tested on anything lower, but it was compile with ICS headers)
How to install.
Flash via recovery.
Change log.
RC1 (2012-06-21)
- Initial release.
RC2 (2012-06-27)
- Increased code efficiency.
- Debug stripped. (Profile change now happens in under 15ms)
- Ability to load config from sdcard (/mnt/sdcard/corecontrol/) with priority over system (/system/etc/corecontrol/)
- CLI arguments (-stop, -restart, -find, -version)
- Bug fix. (Profile change was to fast and cpu didn't have time to online. Only happened every 0.1%)
RC3 (2012-07-31)
- Added a wait for SDcard to be mounted to check for personal settings.
And how can you test if it is working? Well, find a cli app or log on with "adb shell" and execute the following commands.
"/system/xbin/CoreControl -find" - Will return running daemon PID.
"logcat | grep CoreControl" - Will see profiles changing and when the app start it will give configuration.
"cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_[mg]*" - Will show you the current online cpus and what they set to.
To change any of the default config. Just edit the files in /system/etc/corecontrol/ or edit/create files in /mnt/sdcard/corecontrol/ and restart the phone or daemon.
Will probably write a App to make the config easier to change, but i'm also open to anybody helping with this.
Reserved 10char
Reserved2 10char
This looks amazing. Keep up the good work of making our devices even better!
Thanks
Sent from my HTC EVO 3D X515m using Tapatalk 2
Thanks, downloading now!!!
Sent from my HTC EVO 3D X515m
With this Mod we don't need to other app such as System tuner pro or any patch such as XxXPachaXxX ?
@cjoliver
Still haven't found time to test it, I'm too busy with my app, sorry
Btw
Kernel on most of the ics roms for evo doesn't support oc (max is 1180000) yet so option for max wake frequency is wrong(1500000)
Sent from my HTC EVO 3D X515m using Tapatalk 2
No problem.
I'm just future-proofing it for when we finally have OC , but if you go and have a look at how the kernel treats the value, it will use all frequencies upto and including this value, even if the closes freq step is only 1180000.(Come on htc, source, source, source, source. Come on everybody, source, source, source.)
pedja1 said:
@cjoliver
Still haven't found time to test it, I'm too busy with my app, sorry
Btw
Kernel on most of the ics roms for evo doesn't support oc (max is 1180000) yet so option for max wake frequency is wrong(1500000)
Sent from my HTC EVO 3D X515m using Tapatalk 2
Click to expand...
Click to collapse
hi mate, is it possible when the e3d screen on, with low process work, only activate 1core (as default)
There is quite a bit more functionality in System tuner, but i don't believe you will need XxXPachaXxX's core mod, they will work toghether, but CoreControl will force the core offline if setup that way.
ardanai said:
With this Mod we don't need to other app such as System tuner pro or any patch such as XxXPachaXxX ?
Click to expand...
Click to collapse
Not at the moment, this daemon will set specific values and activate cores as per the setup of the config files. I would like to say that is a future option, but that kind of defeats the purpose of the daemon. And by default (without CoreControl) the kernel will only activate the 2'nd core when needed. I just like the fact that the core is already running to processes request even before it is needed. So you don't have to worry about the core still coming online, and there are report of users where the second core takes very long to online and start processing.
ilovemeow said:
hi mate, is it possible when the e3d screen on, with low process work, only activate 1core (as default)
Click to expand...
Click to collapse
Just tried it and it works fine
Although I don't like that its impossible to use default CPU settings(second core turns on when needed), CPU1 is completely disabled if I set it to use one core
Sent from my HTC EVO 3D X515m using Tapatalk 2
nice
Maybe conservative daemon and lower CPU speed for the low battery?
Will think about it for a while. Maybe we can work something out. Or maybe I can make the lock part optional.
pedja1 said:
Just tried it and it works fine
Although I don't like that its impossible to use default CPU settings(second core turns on when needed), CPU1 is completely disabled if I set it to use one core
Sent from my HTC EVO 3D X515m using Tapatalk 2
Click to expand...
Click to collapse
Sent from my HTC EVO 3D X515m using Tapatalk 2
Feel free to change it. Just edit the config files. They in /system/etc/corecontrol/, and let me know if you not sure which files do what. And restart. Done
Benik3 said:
nice
Maybe conservative daemon and lower CPU speed for the low battery?
Click to expand...
Click to collapse
Sent from my HTC EVO 3D X515m using Tapatalk 2
cjoliver said:
Not at the moment, this daemon will set specific values and activate cores as per the setup of the config files. I would like to say that is a future option, but that kind of defeats the purpose of the daemon. And by default (without CoreControl) the kernel will only activate the 2'nd core when needed. I just like the fact that the core is already running to processes request even before it is needed. So you don't have to worry about the core still coming online, and there are report of users where the second core takes very long to online and start processing.
Click to expand...
Click to collapse
it's true it take long time to activate the 2nd core,
but is this gonna be save power than 2cores always be activate in screen on mode?
Use "CoreControl restart" in terminal instead of reboot to apply, its quicker
Sent from my HTC EVO 3D X515m using Tapatalk 2
ardanai said:
With this Mod we don't need to other app such as System tuner pro or any patch such as XxXPachaXxX ?
Click to expand...
Click to collapse
We will, when (if) we get HTC source ,lol unless, he writes custom uv settings too
---------- Post added at 06:50 PM ---------- Previous post was at 06:46 PM ----------
Will this mod interfere with my v6 supercharger script, ? And if so will a change from init.d fix it ,
gav-collins1983 said:
We will, when (if) we get HTC source ,lol unless, he writes custom uv settings too
---------- Post added at 06:50 PM ---------- Previous post was at 06:46 PM ----------
Will this mod interfere with my v6 supercharger script, ? And if so will a change from init.d fix it ,
Click to expand...
Click to collapse
Im not 100% on v6, but ifi understand it correctly, it just sets memory setting. And maybe the speed before a cpu ramps up.
So they should run good toghether, CoreControl only sets the gov, min, max and wakes the cores. Then it makes sure the cpu cant offline.
Sent from my GT-P7500 using Tapatalk 2
cjoliver said:
Im not 100% on v6, but ifi understand it correctly, it just sets memory setting. And maybe the speed before a cpu ramps up.
So they should run good toghether, CoreControl only sets the gov, min, max and wakes the cores. Then it makes sure the cpu cant offline.
Sent from my GT-P7500 using Tapatalk 2
Click to expand...
Click to collapse
I run a patch after flashing Roms, which enables me to choose different governors for different cores and different min/max for each, aswell as forced dual core, I was just makin fire (EDIT-should be -sure- ) as I'm gonna try this, against the patch I have already on a fresh re install , for performance, battery life doesnt concern me as I have an extended battery
, thanks
Another flash to keep us happy/busy/ anti-sg3 lol
Related
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?
Well, as title says i want to know how to force the 2nd core to be online, i'm on CM9 and in system tuner all time(95%) 2nd core says offline, Quadrant only recognizes 1 core, so, is there a way to force to work?
What kernel are you running ??
Root-Hack_Mod*Always\
luis4ever said:
Well, as title says i want to know how to force the 2nd core to be online, i'm on CM9 and in system tuner all time(95%) 2nd core says offline, Quadrant only recognizes 1 core, so, is there a way to force to work?
Click to expand...
Click to collapse
There is an option in system tuner's CPU settings to force the 2nd core online.
mnomaanw said:
There is an option in system tuner's CPU settings to force the 2nd core online.
Click to expand...
Click to collapse
It's on Grey.. Can't be forced.. Do I need to buy a full version for that?
Sent from my HTC EVO 3D X515m using XDA
laie1472 said:
What kernel are you running ??
Root-Hack_Mod*Always\
Click to expand...
Click to collapse
Stock for CM9 or ICS from chad.
In system tuner goto CPU ---> Boot Settings ---> Force all CPU's online ---> On boot completed.
And it should work. I don't really know why you would want them both active because it uses a lot of power and heats up very quickly.
lhayati said:
In system tuner goto CPU ---> Boot Settings ---> Force all CPU's online ---> On boot completed.
And it should work. I don't really know why you would want them both active because it uses a lot of power and heats up very quickly.
Click to expand...
Click to collapse
I just want to know why quadrant and Antutu only recognizes 1core.
luis4ever said:
I just want to know why quadrant and Antutu only recognizes 1core.
Click to expand...
Click to collapse
Its because the developer made it like that.
and How do you know that those apps recognize 1 core only?
The new quadrant is optimized for dual/multi core devices.
mnomaanw said:
Its because the developer made it like that.
and How do you know that those apps recognize 1 core only?
The new quadrant is optimized for dual/multi core devices.
Click to expand...
Click to collapse
If you go to Quadrant advanced and select custom benchmark you can change some options. If you select the grey arrow on CPU it asks if you want to test 1 or 2 cores, and you can only select 1 core while in others roms you can select 2.
they are correct. download the system tuner app from market. honestly if you have root its an awesome tool. battery and cpu tweaks, all kinds of great stuff.
you need the pro version if you want to force it online. But isnt the dual core designed that the second core will step in when needed?
lhayati said:
And it should work. I don't really know why you would want them both active because it uses a lot of power and heats up very quickly.
Click to expand...
Click to collapse
why then buy a dual core phone when a single core one costs half?
not sure if the cm9 file system has post boot scripts, init.d, whatever.... just not familiar with it...
but if you can add scripts to post boot manually with root ex, or some other root browser app... add this.
chmod 666 /sys/devices/system/cpu/cpu1/online
echo 1 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
add that to a post boot script or init.d and your second core will remain online... if you want to change the governors, add this after it...
chmod 666 /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
cpu1 represents your second core. making changes to the first core is done by duplicating the line of code and changing it to cpu0.
basically what you are doing is calling out a command/setting, whatever, and the long line of text is the directory path that the setting is to be applied to. so you are saying, apply this setting, to this location, and lock it into place.
same thing can be done with things like upthreshold, sampling rate, etc...
except with parameters of operation for a specified governor, you don't need to specify the cpu0 or cpu1 path... you can go straight to the governor settings in system, and it will apply it to both cores... so for ondemand...
echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
and it will apply the upthreshold value of 90 to the ondemand scaling governor of both cores if they are both set to ondemand.
hope that helps. good luck.
NixZero said:
why then buy a dual core phone when a single core one costs half?
Click to expand...
Click to collapse
Because you have no idea how dual-core CPU works.
Odoslané z môjho HTC EVO 3D X515m cez Tapatalk
Terepin said:
Because you have no idea how dual-core CPU works.
Odoslané z môjho HTC EVO 3D X515m cez Tapatalk
Click to expand...
Click to collapse
lol....
the main reason these devices are set up to have one dormant and on call is to save power. you won't see performance increase by having one on at all times. the device is good at knowing just the right time to click the second core on to keep things speedy. power management folks.....
infEcted
the regular version can do it also can do it too under boot setting. i have it on my phone. cpu2 is a support under high usage, however if you force it online and clock down the governor to say... 1ghz it is still much faster than 1.58ghz. it does take a slight toll one your battery though
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.
as subject says. Has anyone tried this http://forum.xda-developers.com/showthread.php?t=1584508
Works pretty good for me
Note . Root needed i.e. for unlocked bl only
Sent from my Dell Streak using xda app-developers app
jitin02 said:
as subject says. Has anyone tried this http://forum.xda-developers.com/showthread.php?t=1584508
Works pretty good for me
Note . Root needed i.e. for unlocked bl only
Sent from my Dell Streak using xda app-developers app
Click to expand...
Click to collapse
here's the whole thread, note I have nothing related to Dev/team I am just reposting it to benefit xperia u,p,a,sola,go users
_______________________________________________________________
smokin1337 said:
CPU Editor
This mod allows you to easily change cpu settings on the fly, and supports dual core devices. Easier and cheaper $$ than available apps that do the same thing !!
Will work on most devices, it edits linux files so device manufacturer makes no difference.
Features:
Change CPU Governor
Change CPU Min/Max Frequencies
Apply Settings on Boot - Sticky Mode
Set Dual Core CPU's Independently - Governor and Frequencies
Force Dual Core - Second Core Online ALL The Time
Seperate Menus For Single and Dual Core Devices - Auto Selects
View Current Settings For Everything
Sticky Mode
OnDemand Profiling
Now uses config file to store values
Usage:
Open terminal
Type "su" without the quotes
Type "cpu" without the quotes
Make your selections
Notes:
An error appears sometimes when enabling or disabling force dual core, it's ok the settings still get applied.
Settings get applied immediately
Cores can be set independently, you can make the governors and frequencies different on each core. Could be a great battery saver by limiting the second cores resources.
Force Dual Core will make the second core stay online all the time
Some kernels do not have a available_scaling_freq so the available frequencies will not be displayed, look up the settings your kernel has either in your rom thread or kernel thread.
Sticky Mode will apply the settings you have made on reboot (requires init.d support- which most roms and most devices have)
OnDemand Profiling allows you to set profiles for ondemand governor, the settings possible are performance, performance and battery, and battery saver. Setting will only apply to ondemand govenor !! I will add more when i get some kernels for my one x.
The battery saver profile is ridiculous, my One X battery lasts a loooooong time with it on. I was at 19 hrs on battery and still at 71%. Try and see for yourself. Here is a screenshot: http://forum.xda-developers.com/showpost.php?p=27125704&postcount=3
Please report any bugs you may find here, this was tested on an evo 3d, one x, one s and a mytouch 4g.
Thanks to Orical for beta testing !!
Download:
http://goo.im/devs/smokin1337/Mods/CPU_Editor_RLS_4.zip
Click to expand...
Click to collapse
First of all, Thanks to @dtrail1 for the amazing kernel and all his hard work for the Razr community. If it was not for him, most of us would've moved on to some other phones.
What is this Thread for.?
This thread is for sharing/discussing your JBX settings/configuration you are running or played with. The only purpose is to have a better idea about the settings and help new users get a hold of it.
The original JBX thread is one of the most replied in the forums and its difficult to keep track of settings related questions, so I felt a need for this.
What its not.!
This is only for settings related questions or discussion. Not about other issues or problems. For those, refer to the original JBX Thread.. It has almost all questions covered and an awesome FAQ/Usage Guide.
When posting your settings.
Mention your ROM.
Mention the JBX build/version.
If possible include screenshots (like battery usage).
Links.
[KERNEL][3.0.31][FULL HD][HDMI][GUIDE 1.7]JBX-Kernel Hybrid [1,5ghz]
Kernel Guide 1.7 PDF
Kernel Guide 1.7 CHM
Detailed Installation GuideRecommended:Read this before installation.
CLICK here for a detailed Installation Guide
If you like JBX kernel please support the developer and DONATE TO dtrail1
Here are mine. Haven't changed much.
ROM: SlimKat 4.2
Build: 4/16
TCP Congestion Control : Cubic
Read Ahead Buffer : 2048
Scheduler : vr
Freq Lock : ON
Min: 200000
Max: 1000000
Max scr off: 600000
Min scr on: 200000
Governor : ktoonservative.
Intelli-plug : ON
Multicore power saving: 0
Dynamic FSYNC: OFF (guess it is enabled cause of Battery friend)
Generic Hotplug: OFF
GPU Governor: on3demand
GPU Max freq: 384
Battery Friend: ON
Voltages And others are untouched. HDMI OFF by default.
RESULT:
Battery life is really good.
Performance too. No Issues as of now.
Thank you for opening this thread.
One note about Dynamic Fsync (taken from features list):
* 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.
Click to expand...
Click to collapse
Mine,cannot say much about battery atm, as I went through rsd to get a complete fresh install tonight, but after first charge it seems a lot better!
Running pac 15.04 build and will not update the next week to get true results in battery.
This is my setup as I'm using it usually.
Edit : battery friend disabled and enabled ril build.prob tweaks, also net security and net speed tweaks from aroma installer installed.
Tapped from another Dimension
Originally Posted by soundgirl101 View Post
The followin' settin's work well for "daily" use!!
General:
TCP Congestion Control "cubic"
Read Ahead Buffer Size "2048"
Scheduler "vr"
Frequency Lock "on" (I have "Donate" version so I rename "unnamed" Frequency Profile to "Smooth Kat")
Governor "ktoonservative"
Specific:
Intelli-Plug "on"
Multicore Power Saving "0"
FSYNC "off"
Generic Hotplug "off"
Core OC "100"
GPU Governor "on3demand"
GPU Max Frequency "384"
IVA OC "off"
MPU OC "100"
ZRAM "off"
Battery Friend "on"
Screen:
Color Profile "Easy Eyes Kat" (renamed "Donate" version)
Gamma Adjustment "6"
Front Buffer Delay "25"
Hope this helps, I'm hard on device, and these settin's make device feel snappy, smooth, no fc's or random reboots, plus I leave HDMI "enabled"!!
Medicus curat, natura sanat
Tolle Arbeit dtrail1 :highfive::good:
:highfive: SUPPORT our awesome "dev" dtrail1 https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=472G8WRLUD7PJ
JBX FTW!!!!!!!!!!!:highfive::good:
soundgirl101 said:
Originally Posted by soundgirl101 View Post
The followin' settin's work well for "daily" use!!
General:
TCP Congestion Control "cubic"
Read Ahead Buffer Size "2048"
Scheduler "vr"
Frequency Lock "on" (I have "Donate" version so I rename "unnamed" Frequency Profile to "Smooth Kat")
Governor "ktoonservative"
Specific:
Intelli-Plug "on"
Multicore Power Saving "0"
FSYNC "off"
Generic Hotplug "off"
Core OC "100"
GPU Governor "on3demand"
GPU Max Frequency "384"
IVA OC "off"
MPU OC "100"
ZRAM "off"
Battery Friend "on"
Screen:
Color Profile "Easy Eyes Kat" (renamed "Donate" version)
Gamma Adjustment "6"
Front Buffer Delay "25"
Hope this helps, I'm hard on device, and these settin's make device feel snappy, smooth, no fc's or random reboots, plus I leave HDMI "enabled"!!
Medicus curat, natura sanat
Tolle Arbeit dtrail1 :highfive::good:
:highfive: SUPPORT our awesome "dev" dtrail1 https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=472G8WRLUD7PJ
JBX FTW!!!!!!!!!!!:highfive::good:
Click to expand...
Click to collapse
what do you have your frequency lock set to? like all the min and max values?
com.android.phone has stopped
ROM: CM11
Build: 4/5
XT912(RAZR CDMA)
RESULT:
The JBX 4/16 be flashed.but,com.android.phone has stopped.
I want to use it!!! Very much. Thank for your good work.
chanxindiaolong said:
ROM: CM11
Build: 4/5
XT912(RAZR CDMA)
RESULT:
The JBX 4/16 be flashed.but,com.android.phone has stopped.
I want to use it!!! Very much. Thank for your good work.
Click to expand...
Click to collapse
Untick 10% battery in aroma installer
Tapped from another Dimension
DumbleCore said:
Untick 10% battery in aroma installer
Tapped from another Dimension
Click to expand...
Click to collapse
Thank you, I try.
chanxindiaolong said:
Thank you, I try.
Click to expand...
Click to collapse
U have to flash rom again before, then jbx and untick this option
Tapped from another Dimension
I guess I should include a restore option for the 10% battery. Until next update you can just replace the Ramdisk.img located in /system/etc/kexec with that one located in your rom zip.
Tapped from my RAZR BLADE
What about ktoonservative governor setting? why screen off sampling rate is higher than screen on? is lower sampling rate saves juice?
Sent from my XT912 using Tapatalk 2
Running dynamic fsync since tonight,everything is good
Anyone else got random reboot and freeze with vr scheduler? Never had this before...
Tapped from another Dimension
DumbleCore said:
Running dynamic fsync since tonight,everything is good
Anyone else got random reboot and freeze with vr scheduler? Never had this before...
Tapped from another Dimension
Click to expand...
Click to collapse
I'm not sure if I changed VR according to overall block changes. ROW is default again. After changes ROW is now the fastest one. (tested in system tuner Filesystem benchmark)
Tapped from my RAZR BLADE
dtrail1 said:
I'm not sure if I changed VR according to overall block changes. ROW is default again. After changes ROW is now the fastest one. (tested in system tuner Filesystem benchmark)
Tapped from my RAZR BLADE
Click to expand...
Click to collapse
I have tested most configurations but ROW and KTOONSERVATIVE work the best.
Wakelocks still here
This thread is my chance to gather over 10 messages for joining to JBX kernel discussion in the development section.
I'm testing 16/04 JBX jointly with SlimKat 4.4 on my XT912 MAXX.
In my case ALL 3.0.31 JBX take wakelock incidentally and as result the device does not sleep. It only dozes on minimal frequency according to current settings.Doesn't matter what minimal frequency is used 100 or 300 MHz, hotplugging enabled or disabled, HDMI on or off. It happens. I'm using Trickster MOD to check deep sleep availability. I tick Warp Counters on Information tab then I push Power button and wait for 10-20 seconds. After that I power up my phone and refresh used states - Deep sleep remains within not used states. Only reboot helps.
Neither Wakelock detector nor BetterBatteryStats do not clear up who took a wakelock. Only the Battery statistic shows that Android OS keep the CPU awake.
For example if we look at screenshots from this post we will see that 300 MHz time is greater than Display time at least twice! I think it is abnormal.
Not very impressive, I think I S have to switch rom again, but I'll wait a few days more
Also 44 mins of calls and data on all time, 30 mins on 3g...
Tapped from another Dimension
DumbleCore said:
Not very impressive, I think I S have to switch rom again, but I'll wait a few days more
Also 44 mins of calls and data on all time, 30 mins on 3g...
Tapped from another Dimension
Click to expand...
Click to collapse
Please attach Trickster MOD Info tab screenshot.
eugene_fish said:
Please attach Trickster MOD Info tab screenshot.
Click to expand...
Click to collapse
There ya go
Tapped from another Dimension
eugene_fish said:
This thread is my chance to gather over 10 messages for joining to JBX kernel discussion in the development section.
I'm testing 16/04 JBX jointly with SlimKat 4.4 on my XT912 MAXX.
In my case ALL 3.0.31 JBX take wakelock incidentally and as result the device does not sleep. It only dozes on minimal frequency according to current settings.Doesn't matter what minimal frequency is used 100 or 300 MHz, hotplugging enabled or disabled, HDMI on or off. It happens. I'm using Trickster MOD to check deep sleep availability. I tick Warp Counters on Information tab then I push Power button and wait for 10-20 seconds. After that I power up my phone and refresh used states - Deep sleep remains within not used states. Only reboot helps.
Neither Wakelock detector nor BetterBatteryStats do not clear up who took a wakelock. Only the Battery statistic shows that Android OS keep the CPU awake.
For example if we look at screenshots from this post we will see that 300 MHz time is greater than Display time at least twice! I think it is abnormal.
Click to expand...
Click to collapse
Just reboot, that should do the job.
---------- Post added at 04:14 PM ---------- Previous post was at 04:14 PM ----------
DumbleCore said:
Not very impressive, I think I S have to switch rom again, but I'll wait a few days more
Also 44 mins of calls and data on all time, 30 mins on 3g...
Tapped from another Dimension
Click to expand...
Click to collapse
What rom?