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
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
NOTICE: This is COMPATIBLE with ALL Google Rooted Stock and Custom ROMs based on JellyBean 4.2!
Just a statement regarding kernel source: The Kernel Source is of course covered under GPL version 2. Free software does NOT mean no work or time was spent working on it. I have donated a large sum of my free time to hack this kernel. If you use my modified kernel source in parts or in its entirety, I kindly ask you mention its origins and to send me a github pull request or PM whenever you find bugs or think you can help improve my kernel hack further. This way the entire community will truly benefit from the spirit of open source. Thank you ![/b][/center]
Hi XDA members and fellow Nexus users:
This is my twenty-third kernel hack. I want to thank T0dbld, Turl and rest of my teammates, and several others I cannot recall for inspiring me to venture into this unfamiliar territory for me.
What is a Kernel? The Kernel is the Foundation in which everything else builds upon in any software system.
[Car Analogy]: Kernel is like the Engine, Electrical system and the Transmission to a car. The Library, Framework and the Apps [AKA ROM] are the body frame and the rest of the Car.
THIS KERNEL is BASED ON Google Source Code. So it is COMPATIBLE WITH ALL AOSP JB 4.2 Builds.
DO NOT use any task killers, they DO NOT improve performance nor battery life. They INTERFERE with your phone's stability (more crashes) and App compatibility (Forced Close).
Kernel Features:
So what type of kernel is this? Well, this kernel is based on Linux 3.4.y (says so from the version string)
Features in Magenta are identical as the latest Linux 3.4+
Memory Management subsystem:
Init:
Core Kernel:
*** RCU:
*** Scheduler:
Power Management:
File System:
Block I/O:
Kernel Features:
Device Drivers:
Library Support:
Installation Instructions:
Change Log => Change Log
Beta 4.4 Kernel => Beta kernel
Mainline 4.4 Kernel => mako kernel <== (Stock CPU frequencies, Stock GPU frequencies 400MHz)
Ultimate 4.4 Kernel => mako kernel <== (CPU frequencies up to 1.8 GHz, GPU frequencies up to 450 MHz)
Deprecated JELLYBEAN kernels:
Stock Plus Change Log => Change Log
JWR Stock Plus Kernel => http://faux.romhost.me/mako/sp/mako-SP-JB43-JWR_r2.zip
JSS Stock Plus Kernel => http://faux.romhost.me/mako/sp/mako-SP-JB43-JSS_r2.zip
Mirrors http://androidhosting.org/Devs/Faux/
Here's a step by step instruction to install this kernel:
1. download the above file (via phone directly or to a PC)
2. copy the downloaded zip file to /sdcard/download/
3. Open ROM Manager and select "Reboot into Recovery" and select "OK"
4. Once in recovery, select "wipe cache partition", select "Yes", then select "advanced", then select "Wipe Dalvik Cache", then select "Yes" again. Once finished, click the back button to go back to the main recovery menu. On that menu, select "Install Zip From SDCad", then select "Choose zip from SDCard", then go to /sdcard/download and select the downloaded zip file and let it run its script.
5. Once the script is done, select "reboot system now"
Note: After FLASHING, the first reboot may take longer than usual, please be patient... After the first reboot, it may lag during initial load (let everything finish loading). Once everything is loaded and phone is ready for use, reboot the phone a 2nd time and the lag will be gone and everything should be silky smooth...
[ Advanced Users: ]
[ Optional: ]
If you encountered any funny / weird / strange issues coming from other than 100% pure stock ROMs or my kernels, the following "Reset Kernel" will restore the kernel to its Original Stock Settings.
After applying the reset kernel, then load my latest kernel again.
*** JellyBean -- RESET KERNEL (FOR STOCK BASED ROM ONLY. FORC CM SIMPLY REFLASH THE LATEST NIGHTLY, then FLASH my KERNEL AFTERWARDS) ***
JellyBean 4.2.x Reset kernel for STOCK ROMs ONLY (Cyanogenmod, simply reflash nightly again to reset)
*** 4.2.2 ***
http://faux.romhost.me/mako/mako_422_reset_kernel.zip
*** 4.2.1 ***
http://faux.romhost.me/mako/mako_421_reset_kernel.zip
Tmobile LTE Hybrid Modem hack:
http://forum.xda-developers.com/showpost.php?p=43926154&postcount=12988
[ For Kernel Devlopers ONLY: ]
NEWS BULLETIN:
Version 029 is OUT!
(lurking, no more open betas )!
Please don't hesitate to talk among yourselves and help each other out... The XDA community is what inspired me to hack kernels for everyone since everyone here is nice and helpful to each other... Keep helping each other.... Famous proverb: It's better to give than to receive...
BUGS:
Not All CHIPS ARE CREATED EQUAL
TO DO:
version 0.x.x -- more to come...
History:
See Post below...
Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this kernel!!!
My github Complying with GPL and XDA rulez
Follow me on
:
If you find this Kernel useful, feel free to hit the [Thanks] button below
FauxClock App recommended Settings"
CPU Control
Max clock - GHz 1.512 GHz for performance, 1.242 GHz for battery
Min clock - MHz 384 MHz for both
CPU Governor - Intellidemand for performance AND battery
mpdecision - Off
Snake Charmer - OFF for performance, On for Battery
Eco Mode - Off for performance, On for battery
Set On Boot - On
SOC Control
Set On Boot - On
C0 - On
C1 - On
C3 - On (Note: N4 AP modem is very sensitive to some of the deeper sleep states, if you experienced Green/Yellow AP Modem Watchdog Bark screens, I recommend disabling C2/C3 states).
Voltage Control
Set On Boot -
Global CPU Voltage - mV
intellidemand gov control
Up Threshold - 95 for both
Up Threshold Any CPU Load - 85 for both
Up Threshold Multi Core - 75 for both
Boost Frequency - 1026000 for both
Two Phase Freq - 1134000 for both
Optimal Freq - 1242000 for both
Synchro Freq - 756000 for both
Set On Boot - On
GPU Control
GPU Governor - Simple for both
GPU Clock - 400 MHz for performance and 320 MHz for battery
GPU Vsync Toggle - On for both
Set On Boot - On for both
I/O Scheduler Control
I/O Scheduler (eMMC) - FIOPS for both
Readhead Size (eMMC) - 2048 for both
Set On Boot - On for both
Misc Control
Dynamic File Sync - On for both
TCP Congestion Control - Westwood for both
Vibration Control
Set On Boot - On for both
Vibration Control - 70 for both
Screen Color
Set On Boot - On for both
Factory Presets - LG Presets
Color Adjustments - R, G, B 255, 250, 245
Gamma Amp Adjust 0 - R, G, B 13, 20, 22
Gamma Amp Adjust 1 - R, G, B 0, 2, 3
Z-Control
Set On Boot - On for both
ZRAM Disk size - 150~200 Megabytes (or 50 MB when disabled)
ZRAM Enable/Disable - Enable if you mult-task often
Clear VFS Cache After Boot - On
Auto FS Writeback Delay Mode - On
Swappiness - 100% if ZRAM enabled, 0% if disabled
VFS Cache Pressure - 100% if ZRAM enabled, 150% if disabled
Dirty Ratio - 20% for both
Dirty Background Ratio - 5% for both
Above is what I use personally. MAY NOT be optimal for all :fingers-crossed:
Updated on September 6, 2013
DUE TO MY EXTREMELY BUSY SCHEDULE BOTH @ WORK AND @ HOME, I WILL ONLY MAKE MAJOR ANNOUNCEMENTS ONCE PER WEEK
Open Beta may not be stable and may cause issues with your phone!
By loading open beta you have agreed to:
1. To report all random reboots with associated /proc/last_kmsg
2. To provide feedback on errors or bugs with detail phone information such as ROM, kernel version, and apps
3. Participate in Forum discussions for the beta software with others without FLAMING each other or post useless information such as:
a) Phone doesn't boot (without providing any additional information, ROM versions etc)
B) phone is too hot (without providing any additional information, ie OC freq, UV etc)
The Open Beta system is designed to have the community help each other and the developers. This way, all potential bugs are flushed out so the final released version will be stable and error free. The more actively you participate in Beta Testing the better the final product will be (you are really helping yourself to create a better community software).
If you do NOT agree with the statements above, DO NOT load my Open Beta software.
Kernel 00x Open Beta 0x is now CLOSED!
FAQ:
1. Why don't my settings "stick" when using FauxClock App?
#1 issue with settings NOT sticking is superuser Switch to SuperSU should solve 95% of issues
https://play.google.com/store/apps/...51bGwsMSwxLDEsImV1LmNoYWluZmlyZS5zdXBlcnN1Il0.
UPDATE: Koush's new Superuser is also compatible with my apps!
2. Why doesn't my Max frequency settings NOT "stick" when using intellidemand governor with FauxClock App?
Intellidemand will AUTOMATICALLY UNDERCLOCK when there's a CONSTANT load for greater than 3 minutes. (Load spikes will NOT trigger the auto underclock, only CONSTANT loads). After the load is gone, it will restore back to original Max Clock. Constant load will drain the battery quite quickly, intellidemand governor will detect this behavior and automatically underclock to save more battery without ANY user intervention at all!
3. Why does the CPU freq slider move when I touch the screen?
Qualcomm's closed source mpdecision is the culprit. mpdecision raise the minimum CPU frequency to 1.026 GHz to "cheat" or increase UI smoothness. While this is a good idea, it is too aggressive and overkill causing unnecessary battery drains. And because it is closed sourced, it is NOT POSSIBLE to tweak its behaviors. I highly recommend turning off mpdecision when using my kernels in combination with intellidemand/intelli_plug
4. What is Intelli_plug? How do I use it?
Intelli_plug is my open source solution to Qualcomm's closed source mpdecision. Intelli_plug is enabled automatically upon boot, so NO need to turn on or off. However, it conflicts with mpdecsion, so I HIGHLY recommend turning off mpdecision when using my kernels! To turn off mpdecision, either use fauxclock app under CPU page or use terminal / init.d script and write "stop mpdecsion"
5. What is Eco Mode in FauxClock App?
Eco Mode is a special power savings mode part of the intelli_plug where the kernel automatically reconfigures its decisions in real time and optimizes to use only 2 out of 4 cores. Cores 3 and 4 are turned off completely.
6. My Gamma/Color settings do NOT stick when I removed FauxClock App from memory!
FauxClock app MUST be running to retain the colors. This is a limitation of the stock kernel and FauxClock app was designed to overcome this issue, so therefore it has to be running and be in memory (Avoid all Task Killers!!!)
7. If FauxClock has to be running all the time, does it CAUSE MORE DRAIN?
NO, FauxClock is a normal behaving app which does NOT HOLD or request ANY wakelocks from Android system. Therefore it does NOT cause any drain at all while running (matter of fact, it's suspended most of the time until it's needed)
8. What is "SnakeCharmer" ?
SnakeCharmer is an extension that I created to tame the Qualcomm Krait CPUs. Due to asynchronous SMP cpu design, each CPU can have its own independent min/max frequencies. SnakeCharmer allows you to set a specific max cpu frequency to all cores at the same time, so if you want to UNDERCLOCK your CPUs to a specific frequency, you should enable it under FauxClock.
9. I enabled "SnakeCharmer" but I occasionally see it still goes to max 1.512 GHz, why?
SnakeCharmer works flawlessly. FauxClock app is a Java app which runs on top of Linux. Sometimes it gets out of sync with the kernel, so it will display a frequency that's higher than the maximum "SnakeCharmer" frequency. This is a PURE DISPLAY issue with FauxClock App. SnakeCharmer works advertised! (Confirmed using CPUSpy by multiple users).
10. I have BOTH FauxClock and FauxDisplay apps but I seemed to lost the Screen Adjustment Tab under FauxClock? (Nexus 4 Only)
FauxDisplay (aka Advanced Gamma Control has full 27 controls unlocked, it supersedes the basic controls provided by FauxClock
11. What is Turbo Boost and how do I enable it? (Nexus 4 ONLY)
Turbo Boost is similar to Intel's Turbo Boost for the x86 CPUs. It increase the clock frequencies when 2 or less cores are active. (TB-U allows up to 1.9.44 GHz, TB-M allows up to 1.836 GHz). To enable turbo boost, simply slide the CPU max frequency slider all the way to the right!
12. Why can't I Undervolt below 600mv?
Ever since I created the UV interface for Qualcomm phones on 2010, 600mv minimum voltage has been chosen for a reason. There are typically 2~4 different "binnnings" for the same CPU chip (each binning has their own voltage tables) and therefore NOT ALL CHIPS are created equal. The 600mv limit was put through many different tests and was found to be stable ACROSS many many different chips/binnings combinations (No crash or sleep-of-death aka SOD) and it has been proven time and time again to be a good value for minimum voltage value.
SOC Sleep States demystified! (Corrected for incorrect information thanks for G+ comments!)
Often times users using many apps like CPU Spy will say post how much time their phone spent in "deep sleep" and thinking that "deep sleep" is only 1 state, unfortunately, it is WRONG. For many modern CPUs there are several C-States (sleep states), and the term "deep sleep" does NOT correctly describe them all.
Just like in real life, there are several stages of "sleep", the shallowest sleep is C0 State. As in real life, C0 state is very easy to wake up from with almost NO latency at all (real life will be like grogginess, so C0 is just like when you first doze off but any little distraction will instantly wake you up). The deeper the sleep, the harder it is to wake up from. It takes longer for CPU to re-initialize itself to a waking state (just like real life where once you enter REM sleep, it's very hard to wake up from it).
For most processors, C3 is the Deepest sleep state. C3 state is ALMOST like turning it off using the absolutely minimum power.
C0 - Shallowest sleep (dozing off) with instant wake up
C1 - slightly deeper sleep with slight latency when waking up
C2 - deeper sleep with longer latency when waking up
C3 - really deep sleep (like REM sleep in real life) with longest latency when waking up
My pyramid (Sensation 4G) kernel has Intellidemand Governor 2.0 (Grand daddy of the Mako's Intellidemand governor) where I disabled ALL hotplugging when screen is on (ie, both cores stays ON the WHOLE TIME) but I enabled C2 state for both processors, so even though at first you think it may draw more battery than hotplugging (turning off the core when not using), many of my users have experienced better battery life than with hotplugging (Hotplugging is VERY expensive, the act of turning cores on/off drains battery as well).
On Nexus 4 (Mako), for some reason, Qualcomm has decided to only allow for C0 state (the shallowest sleep) and so the "deep sleep" isn't really that deep. With my FauxClock app + my kernel, I give you all the "deeper" sleep states so when idling, you phone can experience deeper sleep. There's a hardware bug for Krait processors where the secondary cores, 1~3, cannot achieve deeper sleep state independently, so hotplugging is still necessary to save power for cores 1~3 but for core 0 (and core 0 is the master CPU and it's NEVER hotplugged) being able to go into deeper sleep state will help to conserve more power.
FauxClock is designed with forward compatibility. With the newer Qualcomm Krait 600/800 series, they have fixed a few of the hardware bugs from the Krait processors, and so for those newer SOCs, you can go into deeper sleep with all cores like the like older 8x60 SOCs.
Yea! Glad to see you came with me from the Amaze forums! Can't wait to flash soon!
I remember you from the hercules forums. Nice to see you here! Looking forward to using your kernels.
Well well well... Look who's here. Nice to see you working on This beast man. I'm excited to see what you have in store for us.
Oh and where are my manners... Happy Thanksgiving man.
Sent from the Nexus 4 Drinking Club...
"It's not drinking alone if you are with people on an internet forum"
Oh **** faux is here, now it's a party
Sent from my Nexus 4 using xda app-developers app
STFU! Faux!? Oh, it's ON now baby!!!
Sent from my Nexus 4 using xda premium
Holy crap! I'm gonna cry! First kernel I ever flashed was a Faux123. My phone needs to get here....
Source?
doesnt boot
edit:
well, boots, but not into your kernel.
using fastboot flash causes no boot.
edit the edit:
wtf. works now. right on man.
randomblame said:
Source?
Click to expand...
Click to collapse
You can find it on his profile, as per usual
https://github.com/faux123/mako
EDIT: actually, it doesn't seem to be updated. But anyway, I'm sure faux will update it when he finishes recovering from post-turkey stress
r2DoesInc said:
doesnt boot
edit:
well, boots, but not into your kernel.
using fastboot flash causes no boot.
Click to expand...
Click to collapse
exaclty what i was going to say...tried boot, but no go, simply boots without changing kernel ; and flash doesn't work.
Also, doesnt run @ 1.8. Itll reboot and then hang till you reflash the kernel.
Pesonally I'd suggest staying away from this until it was a bit more tested.
Oh man.
Now the situation has gotten real. Nice one faux.
r2DoesInc said:
Also, doesnt run @ 1.8. Itll reboot and then hang till you reflash the kernel.
Pesonally I'd suggest staying away from this until it was a bit more tested.
Click to expand...
Click to collapse
you do realize that not every CPU is going to be able to oc that high? Some won't oc at all. Some will go higher. Just saying......
Damn faux anyway way we can get a flash able after u get some time? Not near a comp right and want to try this bad boy! Thanks
wont boot...
got a lockup at 1.7 and reboot loop after till i flashed the kernel again
---------- Post added at 03:13 PM ---------- Previous post was at 03:13 PM ----------
tweaked said:
you do realize that not every CPU is going to be able to oc that high? Some won't oc at all. Some will go higher. Just saying......
Click to expand...
Click to collapse
...yes
derp
hello to all, i noticed that my redmi note 3 pro KATE ( i am on globerom 8.1.1.0 stable) has the minimum clock for big cluster, setted at 883mhz , and little cluster 691mhz BUT i can select on kernel adiutor the min freq of 400/ 400 mhz.
QUESTION 1 about freqNow i am with L speed app , and applied battery profile, but i don't understand why it does not automatically set the value to the MINIMUM POSSIBLE. Is there a reason?
Is there any CON to set the minimum cloto to cpu at 400mhz? i don't understand why xiaomi.eu and globerom modders did not set this freq to lowest possible, is it maube harmfull for the device?
should i have to set it by myself in kernel adiutor app? please help me to use this app, i just suppose i must apply 400mh setting, THEN choose to apply to boot ( there is a toggle).
What if i set at 400 and NOT toggle it?
QUESTION 2 about differences L speed and gov tuner flashable zip.I am sorry to admit that i'm not such skilled into android development and i have difficulties to understand terms like init.d or script meanings.....
For what i know i found pre installedon globerom the gov-tuner project zip file, then i discovered that that optimizations to the GOVERNOR, are also incorporated in another app called L speed. so i uninstalled gov tuner in this way:
1) entered into console, and entered the letter to disable gov tuner. ok,
2)then rebooted into recovery and flashed the zip for uninstaller.
DELETED! and i can say with that mod my battery life was really good almost perfect.
then i installed L speed, but still being a nice app with lots of features and explanatiions for EACH of them, i just setted overall provile to BATTERY, and cheched some other tweaks....EXCLUDING THE ONES that are described as battery wasting.
Then i asked to officiial thread if i have to reboot to apply, they said no... but it's PREFERABLE. OK I REBOOT.
by now i have worse battery life ( much worse) and i can't understand why.
I tested with console if gov tuner is still present, but NO. so there shoudn't be any conflict at all
sorry....if this 2nd question is THE BIGGEST ONE, but i really need to read someone suggestion and a simple explanation to understand if it's better l speed or gov tuner to me.
L speed seems very much powerful and can mod much more things... but is it safe? maybe there are so much options and i choosed 1 or 2 too much, and now i see bad battery life. but it's nearly impossible what is the option that causes me this.
And last important thing.... is it the same thing to implement these script or optimizations at the boot (i think gov tuner do it so) or after the boot like do L speed? ( i noticed into app a setting to choose 10 seconds after boot to apply scripts, in fact i see after each boot a notification about these applied scritps)
Hello,
sorry I can only answer question 1 since I dont use Lspeed.
Set it to 400MhZ Dude!
Doesnt harm your device, its still not laggy or anything.
Set apply on boot option and you`ll be golden.
RN3 has awesome battery life just stock. If you want more, install skynet. (was on xda, moved to google+)
There is even a guide somewhere out there for setting it to 400Mhz.
Cheers mate