[PnP Tweak][13.01.][Android N]Custom Interactive Gov. Profiles [Battery/Performance] - HTC 10 ROMs, Kernels, Recoveries, & Other Developm

Hey to all,
im proud to present you now the first pnp tweak that is modded accordingly to the butterfly and ghostpepper mods over from the nexus 5x and 6p forums. And now also to hawktail and glassfish. I tried to find the settings that are working best for our beloved HTC 10. Basically, these are governor profiles, which are trying to always bring the best possible smoothness based on the load, while conserving your precious battery. Consider these an evolution to my previous script method.
So additionally to the tweaked interactive governor what will I get?
- no 50fps lock when not touching the Screen
- more Performance than stock
- less throttling (hopefully)
- better battery life, but as we all know this might depend on the user.
my advice is to try all profiles and choose what suits you best.
Descriptions of the different profiles:
Butterfly
A culmination of all strategies, provides smoothest performance of all currently published settings, though battery savings are a little more modest. Excellent for light and moderate users; heavy/marathon users might want to check out a different setting profile as it gets battery intense with heavy usage.
Ghostpepper
Uses a quantized, frequency-aligned parametric curve to influence low core clock rates while providing extremely smooth transitions from each clock rate and exceptional battery life. Good for light to medium usage and multitasking.
http://forum.xda-developers.com/nexus-5x/general/guide-advanced-interactive-governor-t3269557
Hawktail
A short Explanation of HawkTail. This is the most balanced Profile of all. CPU goes back to idle very fast while still being aggressive enough to not cause stutters.
Glassfish
Description of GlassFish. Because the Approach is universal and the Profile has a relatively Long Input boost it might not be as advanced as the other profiles.
I�´d highly recommend to try these values as it gave me a significant boost in battery life. here are screenshots:
https://drive.google.com/file/d/0BxbxiBXaZVu-N1lsRTMyZ2hsY1k/view?usp=sharing
https://drive.google.com/file/d/0BxbxiBXaZVu-N1MzamRvM2FVZlk/view?usp=sharing
Announcement
I´d highly recommend to try the new profiles with raised minimum frequencies. I did test it and it doesn´t seem to effect battery life in an unacceptable way. So for me the gains outweigh the little bit of extra power cost.
FAQ:
Q: Is this the same as the previous scripts?
A: @ivicask was so kind to tweak the pnp binary for me and integrate my scripts into it. So now there is no need to disable pnp any longer via scripts and it allows me to integrate the values deeper in the system. I tested both, ghostpepper and butterfly, extensively for over a week and they work splendid for me!
Q: Does this work together with other pnp tweaks like @ivicask ´s?
A: No. There is only one pnp binary and when flashing one you will loose the other.
Q: @ivicask ´s mod also has modded thermal config file. i want to use your mod but also use @ivicask ´s thermal config file?
A: Flash @ivicask ´s mod first and flash mine afterwards.
Q: What base is this mod for?
A: This mod will work on base 1.50 and higher.
Q: Can I use the EX Kernel Manager Scripts that are linked in the explanation?
A: No these are for nexus phones with different socs (hexa/quadcore)
Q: What value should I set for the min Performance Level?
A: You can let it at the Default 60. However if you like to have more Performance 80 is still okay if your device does not overheat.
Instructions:
Just flash the attached zip and enjoy your phone.
If you want to go back to stock you also have an option inside the aroma installer.
If you are not sure whether the mod is applied or not sent me a screenshot from the governor tunables from your kernel app.
let me know if it brings a little battery boost for you. you may also let me know if you face performance issues or better if it improves your performance.
Thank you and have fun testing it.
Nougat Download is in the second post!!!
Downloads
https://www.androidfilehost.com/?w=files&flid=144458
Changelog PNP Aroma Versions:
Butterfly
v1: Initital Release
Ghostpepper
v1 - Initial Release
v1_raisedmin - Initital Release with raised minimum frequencies for both clusters
v2 - tweaked target loads to make it even more battery friendly
- performance should stay the same
v3 - raised min frequencies for both Clusters like it is intended on the original Profile
- tuned a few Things here and there
- better Video Playback for YouTube and Google Videos
Hawktail
v1 - Initial release
v1_raisedmin - Initial release with Minium frequencie for big cores raised like on the original profile
v2 - made the governor a little bit more aggressive to counter some stutters, increased overall smoothness
v2_raisedmin - also made the governor a little bit more aggressive, increased overall smoothness
Glassfish
v1 - Initial release
credits:
thanks to @Alcolawl for the script template
also thanks to @soniCron for the original thread
a huge thanks to @ivicask for putting and editing all my values and governor tweaks into the binary and the constant effort from him.

Android N:
Disclaimer: HTC changed pnpmgr on Android N and now some governor tunables amongst other things will not get applied correctly. Due to this we have now two seperate files.
First one is the pnp.xml
You have to copy it to System/etc and set permissions to 644 (rw-r--r--)
Second file is a script, which contains the governor configuration and various other tweaks.
This one, after downloading and unzipping, you have to copy either to system/etc/init.d or system/su.d or su/su.d and set permissions to 755 (rwxr-xr-x)
Afterwards do a reboot and wait 2 minutes until everything gets applied correctly. The script has a sleep timer set of about 1 Minute.
I edited the pnpmgr with the tweaks we had before Android N. So I removed various 50 and 30 fps caps. Various other Performance limitations. And probably I lot more i can´t remember right now.
The script is something new, partly based on alcolawls work and partly some ideas I had in the last few weeks.
The Download is here:
https://www.androidfilehost.com/?w=files&flid=144457
It would be great if I get Feedback here. My time atm is limited and I´d be glad if we all work together.

Glad to see these tweaks and this discussion flourish on other device forums. I'll try to keep an eye on this thread, as I plan on my next phone having a Snapdragon 820 in it. If someone can somehow dig up a general voltage table for this chipset (I realize these chips have dynamic voltage, but there must be a range), this would really help out. Especially if you want to make some truly device specific profiles.

Alcolawl said:
Glad to see these tweaks and this discussion flourish on other device forums. I'll try to keep an eye on this thread, as I plan on my next phone having a Snapdragon 820 in it. If someone can somehow dig up a general voltage table for this chipset (I realize these chips have dynamic voltage, but there must be a range), this would really help out. Especially if you want to make some truly device specific profiles.
Click to expand...
Click to collapse
Something like this?
http://dl-1.va.us.xda-developers.co....png?key=Z4VTpZHNi-6qO9fDM7ncGg&ts=1470149810
If you want we can work together. Just pm me.

Alcolawl said:
Glad to see these tweaks and this discussion flourish on other device forums. I'll try to keep an eye on this thread, as I plan on my next phone having a Snapdragon 820 in it. If someone can somehow dig up a general voltage table for this chipset (I realize these chips have dynamic voltage, but there must be a range), this would really help out. Especially if you want to make some truly device specific profiles.
Click to expand...
Click to collapse
Getting to profiles is easy, tweaking them, not so much, an dev would need to implement this in custom kernel, also as each CPU is different i doubt an general profile would be possible, each user would need to fine tune it for their OWN cpu per every big or little core, and its questionable what are benefits of undervolting..
For example form my phone
Code:
/sys/devices/system/cpu/cpu0/opp_table
Code:
307200000 625000
422400000 630000
480000000 640000
556800000 650000
652800000 660000
729600000 670000
844800000 680000
960000000 705000
1036800000 725000
1113600000 740000
1190400000 755000
1228800000 765000
1324800000 810000
1401600000 845000
1478400000 885000
1593600000 935000

ivicask said:
Getting to profiles is easy, tweaking them, not so much, an dev would need to implement this in custom kernel, also as each CPU is different i doubt an general profile would be possible, each user would need to fine tune it for their OWN cpu per every big or little core, and its questionable what are benefits of undervolting..
For example form my phone
Click to expand...
Click to collapse
The two little and big cores share the same table.
For the two little cores I have this:
307200000 625000
422400000 625000
480000000 625000
556800000 635000
652800000 655000
729600000 665000
844800000 680000
960000000 700000
1036800000 715000
1113600000 725000
1190400000 740000
1228800000 745000
1324800000 785000
1401600000 820000
1478400000 855000
1593600000 905000
1728000000 905000
For the big ones I have this:
307200000 625000
403200000 625000
480000000 625000
556800000 625000
652800000 625000
729600000 635000
806400000 640000
883200000 650000
940800000 650000
1036800000 665000
1113600000 675000
1190400000 685000
1248000000 690000
1324800000 715000
1401600000 740000
1478400000 770000
1555200000 795000
1632000000 820000
1708800000 845000
1785600000 870000
1824000000 885000
1920000000 920000
1996800000 945000
2073600000 970000
2150400000 995000
2265600000 995000
so there still may be a general scheme where you may base the values on.

Freak07 said:
The two little and big cores share the same table.
For the two little cores I have this:
307200000 625000
422400000 625000
480000000 625000
556800000 635000
652800000 655000
729600000 665000
844800000 680000
960000000 700000
1036800000 715000
1113600000 725000
1190400000 740000
1228800000 745000
1324800000 785000
1401600000 820000
1478400000 855000
1593600000 905000
1728000000 905000
For the big ones I have this:
307200000 625000
403200000 625000
480000000 625000
556800000 625000
652800000 625000
729600000 635000
806400000 640000
883200000 650000
940800000 650000
1036800000 665000
1113600000 675000
1190400000 685000
1248000000 690000
1324800000 715000
1401600000 740000
1478400000 770000
1555200000 795000
1632000000 820000
1708800000 845000
1785600000 870000
1824000000 885000
1920000000 920000
1996800000 945000
2073600000 970000
2150400000 995000
2265600000 995000
so there still may be a general scheme where you may base the values on.
Click to expand...
Click to collapse
Yea i ment you need to tune big and small core, and each CPU is different, some values may crash for users with lower quality cut CPU, or whats called..

ivicask said:
Yea i ment you need to tune big and small core, and each CPU is different, some values may crash for users with lower quality cut CPU, or whats called..
Click to expand...
Click to collapse
i think there is a misunderstanding. there won´t be any crashing because what @Alcolawl and me have in mind affects only the interactive governor. there will be no undervolting or anything that will cause instability from the kernel side.
the values from the interactive governor should just find the right frequency for each task based on the load. and the voltage from the frequency is also important because there are some frequencies that are more efficient than others. so we should try to find the most efficient frequencies. and the not so efficient ones will be not used much.

Freak07 said:
i think there is a misunderstanding. there won´t be any crashing because what @Alcolawl and me have in mind affects only the interactive governor. there will be no undervolting or anything that will cause instability from the kernel side.
the values from the interactive governor should just find the right frequency for each task based on the load. and the voltage from the frequency is also important because there are some frequencies that are more efficient than others. so we should try to find the most efficient frequencies. and the not so efficient ones will be not used much.
Click to expand...
Click to collapse
Correct. Undervolting these newer big.LITTLE CPUs is a no-no. Additionally, the amount of data you have for the SD 820's voltage usage should be sufficient enough to put together a sheet for an average voltage for each frequency thus making your decision to either skip or utilize a frequency much easier.

Tried the ghostpepper PnP. I've noticed improvements in transition smoothness. I'll monitor battery life.

jjt15 said:
Tried the ghostpepper PnP. I've noticed improvements in transition smoothness. I'll monitor battery life.
Click to expand...
Click to collapse
Good news. Be sure to report back

Glad to see this revised thanks and I am going to flash the ghost pepper
Sent from my HTC 10 using Tapatalk

Alcolawl said:
Correct. Undervolting these newer big.LITTLE CPUs is a no-no. Additionally, the amount of data you have for the SD 820's voltage usage should be sufficient enough to put together a sheet for an average voltage for each frequency thus making your decision to either skip or utilize a frequency much easier.
Click to expand...
Click to collapse
You might want to take a look at this thread
HD2Owner said:
collected all values here and manually typed them into a sheet. also added mine.
if someone can find all the values in the kernel source, i'd make a proper sheet.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
I've tried some performance/Efficienty tests here and there.
Using Trepn Profiler in Flight Mode with WiFi off to get a stable output of Powerdrain (because QC for some reason decided to prevent realtime reading and limited it to once every 30sec......) Running StabilityTest App to get a constant maximum Load on all active cores and with PnPMGR disabled (and Task migration fixed on 100) I've got some Usage Values here:
https://docs.google.com/spreadsheets/d/1eVeWSd22SV5QXf3ATUxjTCFUH9v8VsI4t-1vcig4A68/edit#gid=0 (Sheet "StabilityTest" Row E and L)
But yeah..... no guarantee on accuracy... i don't have a Monsoon

Getting quite good battery life with butterfly inspired profile

BTW....
You don't have 1324mhz max frequency for certain apps in this build?
And it has stock HTC Task migration right?

Haldi4803 said:
BTW....
You don't have 1324mhz max frequency for certain apps in this build?
And it has stock HTC Task migration right?
Click to expand...
Click to collapse
I remember seeing 1,3 GHz as Max Freq for Google Maps. Didn't change this until now.
Task Migration isn't changed in pnp binary. But I set Mine to 75 via exkm.

Amazing battery life...Super thanks..flashed ghost pepper above @ivicask thermal tweaks....

Freak07 said:
Task Migration isn't changed in pnp binary. But I set Mine to 75 via exkm.
Click to expand...
Click to collapse
Hööö?
Okay, you're right EX Kernel has modified Task Migration without touching PnP files.
But yet I have to deactivate PnPmgr if I want Task Migration to be stuck when the phone gets too hot....
WTF?
Settings are in Kernel but activation is done via PnPmgr?

Haldi4803 said:
Hööö?
Okay, you're right EX Kernel has modified Task Migration without touching PnP files.
But yet I have to deactivate PnPmgr if I want Task Migration to be stuck when the phone gets too hot....
WTF?
Settings are in Kernel but activation is done via PnPmgr?
Click to expand...
Click to collapse
No. I think when the phone runs under normal temperature the exkm task migration is used. When phone reaches a certain temperature pnp and thermal config is triggered anyway and may override the standard profile and its settings.
But you may have to ask @flar2 or @ivicask for this. Maybe they can explain it with greater accuracy.

Update
new ghostpepper version uploaded.
Changelog:
Ghostpepper V2
- tweaked target loads to make it even more battery friendly
- performance should stay the same

Related

Update! [Kernel] [2.6.29] [Updated: 22/12/2010] RaKern-113 for GSM Hero

Please take the time to read all the description. It is important!
What's new in RaKern-113?
I tweaked things here and there. It is now better to work with and much more stable. I've also discovered what was causing wlan not to work, and it is fixed. To be more specific:
- I've gone again a little bit into the scheduler and made some changes
- tweaked lowmemorykiller
- reduced the maximum frequency to 652MHz(from 691MHz), hopefully this will make the kernel compatible with more Heros
- patched smd_rpcrouter(see here why: http://forum.xda-developers.com/showthread.php?t=878268 )
- created update.zip for any rom available
Why should you choose RaKern?(long story, good to read)
After some debates about the perfect cpu frequency governor for a battery powered device like ours(thank erasmux for that), I've decided to tune what I already have and go for the elegant way. That means using a tuned version of the ondemand governor while the screen is on, and then use the conservative governor when the screen is off. Here's the story:
The only major difference between the conservative and ondemand governor is that the ondemand governor switches to the highest frequency available when the cpu load is higher than the threshold set. Same thing when the load is lower than the min_threshold. The conservative governor takes all the available frequencies in the table and switches between them until the load is lower than the threshold. I've been thinking about it for quite a while and on our CPU I don't think this behavior is the best we can get.
Why? Well let's say we have 650MHz in our table as the maximum frequency. Staying on the same PLL, we would get something like: 176->352->518->537->556->576->595->614->633->652. Let's consider that the phone, while the screen is off, stays at 176 because there is no process that could put load on the cpu, which usually is true, depending on the user setup. When you unlock the screen, you might need a bit of power if you have an animated widget on the main screen. Let's consider that it also uses the internet to update its data and the cpu would be loaded under 80% only @576. In this case, the conservative governor will go from 176 to 576 like: 176-352-518-537-556-576. Remember that on each frequency the kernel will wait for a few us to check the load and then decide whether it needs to raise the frequency again or not, so it would take some time until the CPU can provide the power necessary to have a responsive phone. On the other hand, the ondemand governor would go straight to 652MHz(I forgot to mention that from 518MHz, all frequencies use the same voltage). But here comes the nice part(quote taken from the Ondemand governor data sheet):
the ondemand algorithm frequency down-scaling was changed to jump directly to the lowest frequency that can keep the CPU ~80% busy. This saves more power and enables the algorithm to go to right frequency in one hop
Click to expand...
Click to collapse
So after jumping straight to 652MHz, it will go directly to 576. So instead of 5 steps, the ondemand governor only does two. Of course, in theory, the ondemand governor would be inferior in battery consumption, but in real life it is not so bad, and from my calculations it can even be better. Keep in mind that the latencies are pretty much the same on both governors. The conservative governor is just a modified ondemand.
The conservative governor would be excellent on a Snapdragon device(or any other cpu >1GHz), which can provide good performance at lower speeds, so you'd not have to jump to the highest frequency available. But on our Hero, the difference between 514 and 534 for example is unsignificant if the load is intense, so this basically causes latency.
On small loads, the power consumption with the conservative governor is much better than using the ondemand governor.
How is the governor changing done?
SetCPU. You need to create a SCREEN OFF PROFILE - 19MHz-352MHz with the CONSERVATIVE Governor. Here's how it should look like:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Here is the frequency table the kernel is using in its default setting:
{ 0, 19200 },
{ 1, 176000 },
{ 2, 352000 },
{ 3, 518400 },
{ 4, 556000 },
{ 5, 576000 },
{ 6, 614400 },
{ 7, 652800 },
{ 8, CPUFREQ_TABLE_END },
Click to expand...
Click to collapse
As you have probably figured out, in screen-off mode the cpu can only go between 19-176-352. With the screen on, it has a wider choice, 352-518-556-576-614-652. I added more entries to the table(even though I always said this is not good) because I'm not using the default ondemand governor anymore. Now, if the load is >60%, it goes up. If the load is <70%, it goes down. IF the load is >90%, it goes to MAX and if the load is <20% it goes to MIN. This is very efficient and battery-friendly. It also changes very fast between steps, as I've done some other tweaks to improve latency.
Instructions:
Download the ZIP and flash it. Then, install SetCPU(if you don't have it already) and configure a profile as you've seen in the screenshot above. After that, you're good to go .
The most important features are:
- Ondemand CPU governor improved for efficient frequency jumps and usage optimization
- dual-CPU governor based on screen state
- kernel level touch input filtering(Ninpo)
- EXT2/3/4 and FAT support
- IPv6 support, including GRE and IP multicasting(see more info below)... Mobile IPv6 should also work in a proper enviroment not anymore in 109 and 113, I will bring it back in the next version
- dalvik and swap optimizations
- battery life enhancements
- Fair scheduler tweaked for better performance
Message for users: RaKern-113 works brilliantly with ChocolateEclair 2.0.
IPv6 info(good to read, but not available in the current version):
I do not own an IPv6 capable router, so I can not say exactly how it works, but I can tell you how it should behave. From what I could see, in this configuration, the IPv6 implementation is similar to the one in Windows Vista/7. IPv4 and IPv6 work together, but IPv6 is preferred. If it can obtain a global unicast address, it will attept to communicate via IPv6. Also, support for IPSec and 6-to-4 tunneling is enabled.
Until a get a dual-stack router, I can only help you with theoretical information. Maybe fellows in Japan can give me a bit of help with this?
Filesystem info:
I've added support for EXT3/4 because I know some people might find using those FSs useful. But for the avreage user, I suggest sticking with EXT2 as its successors use more cpu juice.
Feel free to include this kernel in your ROM. All that I require is that you do not change the kernel name/version, and post a link to this thread in your ROM description. Other than that, it would also be good for the community if you'd share your changes here. Whichever leads to improvement is appreciated.
So... To the important part:
RaKern-113 for ALL ROMS
MD5 sum: 3a1d07e6a2bcbdcb39330477e877ac81
SOURCES
If you appreciate my work, please consider helping Santa buy some presents
​
Reserved for future use.
Thanks RaduG,
Will definitely try this out on ChocolateEclair 2.0; you've done some amazing work on that ROM as it is.
Thanks. Please let me know how it works.
Any chance of you sharing the tweaks you found usefull?
github is the ideal platform for this, but you need to use it properly. If you just push "first commit" then it really does not help the development community....
In any case, good luck with your kernel, and hopefully soon, your ROM.
Well, it is the first commit, what should I say other than first commit... I will mark the further updates. Also, the main changes have been mentioned in the first post.
Thanks, good luck to you too
It is now hard to view the changes you made, and now we will have to diff it manually
Just for the next time, maybe you should first upload where you got it from (or fork?) then commit the changes.
Anyway.... good to have another kernel for the hero. Variation is good for the quality
ps. care to look at the .34 port of Elemag and see what is wrong?
It does not work on my Hero with Froyo (Elelinux - http://forum.xda-developers.com/showthread.php?t=767886) - force closes... well, everything on boot and reboots itself (boot-loop).
I don't know where I got it from, because I applied changes to the sources that I already had been working on before I left. I will have a look at Elemag's port after I finnish my next ROM.
@pushaty
Try to wipe dalvik-cache/cache, as I said in the first post.
RaduG said:
Try to wipe dalvik-cache/cache, as I said in the first post.
Click to expand...
Click to collapse
That's what I did, just after flashing Your ROM (before first boot). I've even wiped it again after first fail but 'no go'.
Edit
FYI (maybe this will be helpful), Flykernel is 'doing it's job' for me. Even 12pre2 (experimental) is running just fine.
Same here. Everything force closes on boot after a full wipe and a clean install of ChocolateEclair + this kernel.
I've flashed the exact same package and it works just fine. :-?
It does not work on my Hero with : CyanogenMod-6.1 for HTC Hero V6.1.0 .
I wiped dalvik-cache/cache, but not boot.
Just reinstalled everything without the kernel and going to see what happens when I flash it past the 'android.setup' process which is what prevented the phone from functioning last time.
RaduG said:
I've flashed the exact same package and it works just fine. :-?
Click to expand...
Click to collapse
Are You running Froyo or Eclair?
RaduG said:
Well, it is the first commit, what should I say other than first commit... I will mark the further updates. Also, the main changes have been mentioned in the first post.
Thanks, good luck to you too
Click to expand...
Click to collapse
Lets pretend, that I am a kernel developer and I want to learn/check/admire/criticize/improve/port/etc. your tweaks and developments. How am suppose to do this? The normal way is to check the commits in the github and their diffs, unfortunately in this kernels case, there are no commits for the tweaks. Look at almost any other kernel on github to see what I mean (mine, ninpo's, cyanogen's, Decad3nce's, etc.).
For example, in the case of this kernel and version, I would be very interested to know what are the code changes you did for these two items:
RaduG said:
- dalvik and swap optimizations
- battery life enhancements
Click to expand...
Click to collapse
Especially in the case of these two, having only the "first commit" in your github doesn't really tell me anything. I can download all your sources and do a full diff against mine, but I hope its clear why thats just crazy....
If you prefer to share your changes in some other way it will be very welcome. Of course if you choose to keep it only in this inconvenient way (which at least satisfies GPL I believe) its your right.
This will be my last post on the subject. I am sure that if you choose to share your knowledge, by github or otherwise, it will be beneficial to the entire community.
Doesn't work here either, running Cronos ROM Froyo.
logcat: http://pastebin.com/ag96BF2W
There is really something going on when Dexopting apps.apks.
I've got it to work now, but you have to boot at least once before flashing the kernel as it causes the 'android.setup' process to crash (at least with ChocolateEclair).
beachdemon said:
I've got it to work now, but you have to boot at least once before flashing the kernel as it causes the 'android.setup' process to crash (at least with ChocolateEclair).
Click to expand...
Click to collapse
IMO, that means something is wrong and it should be fixed asap.
I'll have a look at it. Thanks for reporting.

[KERNEL] Bullet v2.9b [11/30/2011][OC,UV,BLN,OTG][FauxClock v0.9][Team Kang]

Team Kang Presents​
Bullet​
Standard Disclaimer - We are in no way responsible for what you do to your phone. If you destroy your $500 device and try and blame us we will laugh at you. Always read and ensure you know what you are doing before attempting anything***​
Features
OC up to 1.83GHz
BLN
Lagfree
OTG USB Support
OC 2d and 3d
BFQ
UV
init.d support
much more inside
Change Log
v2.9b
Ported JRCU (Joe's RCU)
Patched up to 2.6.35.14 from kernel.org
More general code updates and clean up
v2.7b
Back ported CFS Autogroup v2 (Thanks to faux123 for the help when I had a duh moment)
Removed CIQ
A few bug fixes and code updates
Clock speed and governor defaults are 384-1.67 lagfree and screen off 384-540
v2.2b
Added some UV across the entire Freq range
Tuned lagfree a little more for better battery life screen on and off
Tuned ondemand governor for better battery life screen on and off
NOTE
Please see the second post for a new Fauxclock built for Team Kang kernels. It's the only currently supported CPU settings app for this kernel.​
Voltage Control
You can control it via shell/init.d scripts as follows
[ to over volt ALL frequencies by 25000 uv (microvolts) ]
Code:
echo "+25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
[ to under volt ALL frequencies by 25000 uv (microvolts) ]
Code:
echo "-25000" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
[ to set a specific frequency (ie 1.18 GHz) with a specific voltage (ie 1.0875 volts) ]
Code:
echo "1188000 1087500" > /sys/devices/system/cpu/cpufreq/vdd_table/vdd_levels
Clock Control
Just about any OC app will work just fine(except system tuner). By default, the kernel sets the max frequency to the highest frequency available. You can change this by adding a few lines to an init.d script (or run commands in a shell).
For instance, setting stock freqs would look like this
Code:
(su if in shell)
echo 1836000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Info
This kernel will boot to 1.67GHz with lagfree governor enabled. While there is the ability to run up to 1.83GHz in my opinion it's really not needed. With the changes made this kernel is smooth and fast. Battery life has proven to very close to stock with my usage time in the 20+ hour range. I hope you enjoy it!!
Thanks
These are great folks who work hard to better the Android experience!!
romanbb
Whitehawkx
faux123
morfic
Download
Download, Flash, and have fun!!
Bullet 1.8Ghz v2.9b
Bullet 1.8Ghz v2.7b
Bullet 1.8Ghz v2.2b
FauxClock v0.9
Thanks to romanbb for creating this great app!​
Now we can have out cake and eat it too. This app let's you set clock speed and overall VDD voltages. The really cool part is that the processor now works like it's supposed too. You'll notice in FauxClock that the second processor says offline. Well it's supposed to. Now the second cpu only gets powered on when load is high. Once load has stabilized the second cpu goes back offline. Now we can have speed and decent battery life. You'll notice that some bench mark apps will be lower ie CF-Bench. That's because it runs that benchmark with only one core active. Who really cares when your phone is smooth, fast, and lasts all day on a charge!
Download
FauxClock v0.9
System Tuner FAQ​I've been meaning to put this up but haven't had a chance. This FAQ should hold true for any kernel compiled for our phones and the Skyrocket.
When using System Tuner the first thing to do is make sure you can see all running processes in it's task manager. See image below:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Now you're ready to start tweaking the kernel. You see anytime you make a change to the clock speed or governor that both core's come online and stay online. Go back to System Tuner's task manager and select "mpdecision" and kill it. See images below:
Now the second core should be offline and only come back online when needed. Using this method insures that both cores receive the changes you made. Now you won't have one core running lagfree and the other ondemand or a mix match of clock speeds. This really helps the stability of the kernel.
Also note that when you set anything in init.d or at boot to make changes to the kernel settings (ie. voltage, clock speed, or governor) you will have to open System Tuner and kill "mpdecision" to offline the second core.
Voltages​Thought I would post the current voltages that I'm running on my phone. These may not work for you so don't set them at boot until you're sure your phone is stable.
Code:
192000: 812500
310500: 825000
384000: 825000
432000: 850000
486000: 875000
540000: 875000
594000: 875000
648000: 900000
702000: 900000
756000: 950000
810000: 950000
864000: 975000
918000: 975000
972000: 975000
1026000: 1000000
1080000: 1000000
1134000: 1025000
1188000: 1025000
1242000: 1050000
1296000: 1075000
1350000: 1100000
1404000: 1100000
1458000: 1100000
1512000: 1150000
1566000: 1175000
1620000: 1200000
1674000: 1200000
1728000: 1225000
1782000: 1250000
1836000: 1300000
This is where it's at!
Thank you for 2d and 3d overclock
Sent from my SGH-T989 using xda premium
The beast is here.
Killbynature said:
Thank you for 2d and 3d overclock
Sent from my SGH-T989 using xda premium
Click to expand...
Click to collapse
Too bad it's still hardware locked at 60fps though. It does however seem to smooth out the UI.
You just made my day...Thank you
Sent from my SGH-T989 using XDA App
Wowwwwww yes
sent from my real Gs move in silence like lasagna
Is there a reason this is a separate kernel instead of Jugs 0.4?
Ok im still noob status with kernals. Im on Juggernaut 2.6 now. No mods. May I kindly ask where do I start? I wanna break the ice and try this. Do i just download and flash? Sorry i havent read every kernal thread as i never wanted to dive in yet. But I wanna give this a go. I want 20hrs of batt life too. Lol. Thanks ahead of time for any assistance.
Edit- Got assistance.. Thanks Jangst123
Sent from my SGH-T989 using xda premium
Woot woot!!!
Sent from my HercuBEASTLY Thingy!!!
atrade said:
Is there a reason this is a separate kernel instead of Jugs 0.4?
Click to expand...
Click to collapse
Because it's not my kernel? This is cmenard's baby. He's 1000x better at kernels than I am
Romanbb said:
Because it's not my kernel? This is cmenard's baby. He's 1000x better at kernels than I am
Click to expand...
Click to collapse
Haha okay my bad! The real question will be if it can beat the battery life on yours... It is just incredible jugs + juggernaut rom.
atrade said:
Haha okay my bad! The real question will be if it can beat the battery life on yours... It is just incredible jugs + juggernaut rom.
Click to expand...
Click to collapse
Only one way to find out!
Smooth on lagfree..
Can we only UV via adb? Voltages don't come up in setcpu
Also is bfq or cfq recommended
sent from my real Gs move in silence like lasagna
Romanbb said:
Only one way to find out!
Click to expand...
Click to collapse
That must be why I just booted out of recovery...
Downloading now. This is getting better and better
Sent from my SGH-T989 using XDA App
Ty team kang this thing flies
Sent from my HercuBEASTLY Thingy!!!
is it safe to just slap this kernel on top of Synergy?
or do i have to flash back to Jugger 2.6, before flashing Bullet?
saweet !! DL now

[KERNEL] {ADA} *4.1/4.2* ZenSERIES vX *ZenX Walking Tall*

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Introducing
ZenSERIES Kernel
*ZenX Walking Tall*
Fast, Smooth & Battery Friendly
Unified Kernel for Toro/Toroplus/Maguro
The All New OP's will be maintained by ADA's Kernel Dev bbedward.!!!
To better serve you;
This here as a placeholder for your device redirecting to the main kernel support thread.
Find ZenSERIES Kernel Thread here!!!
Thank you and Enjoy!
Android Developer Alliance
Reserved
FAQ - Will be updated as needed.
Q: CPU Frequency Governor, I/O schedulers, what?
A: Here's a good resource that explains a lot about the topic in general and schedulers: http://forum.xda-developers.com/showthread.php?t=1369817
Q: I want different colors, how do I do it?
A: You can use an app such as Trickster MOD, Trinity, Franco, or Glados Control to change these. I prefer to keep them default on my builds because preference varies. (For reference, trinity's default colors are R: 135 G: 135 B: 214, Gamma offset 0/0/0 (I think)
Q: Kernel is randomly rebooting, how can I help?
A: After a reboot, pull /proc/last_kmsg from the device and send it my way.
Q: What I/O scheduler should I use?
A: I haven't really found any real-world difference between any of them. I personally prefer the simpler algorithms of Zen/SIO.
Q: What CPU frequency governor should I use?
A: Entirely up to you. I tend to favor interactive because it's google's governor.
Q: Do all these extra I/O schedulers and cpu frequency governors impact performance or stability?
A: No. I like to keep as many as people will use. If 1 person prefers the conservative governor it'll stay in. There is minimal->no overhead from including extra I/O and/or cpu frequency governors. Therefore, performance+stability will not be affected in the slightest. Choose the one you like, if not sure the default settings are a safe bet.
Q: Why did you create ZenSERIES?
A: It's pretty fun to do, and it's going to make a great pairing with AffinitySERIES, and hopefully several other roms as well.
Q: Do you support any other devices?
A: Working on several others.
Q: What is this "Zen Info" sysfs interface?
A: Probably nothing you care about unless you're a developer looking to do something special with zen. Otherwise, it doesn't affect you and it's for me.
Q: What is this Aaron Carol stuff you added (V(r ), no-op changes, fifo (I wrote a detailed answer already, so wanted to include it in FAQ)
A:
1.) V(R ) is similar to deadline (uses deadlines for fairness). Basically, requests are based on on the distance from the last request/I.E: the next closest request comes first (with penalty of rev_penalty). Naturally, we don't care about the distance from the last request because we're using flash memory (in our case, handling the closest request is nothing but overhead since there is no travel delay) so it doesn't matter where the next request is. I'd say in a nutshell it would be a higher thoroughput/higher latency version of deadline in a typical desktop environment. On our phones, not sure where it would fall. (I removed some unnecessary parts of the algorithm, like choosing closest request/changing head direction, etc.) You may say "Oh, why would you add an I/O scheduler that handles requests like that?" Well, it's not the only one. Deadline/CFQ/BFQ will all sort requests. But the difference between them, in my experience, is usually negligible for real-world tests.
2.) FIFO: Ok, so no-op stands for "no operation". Essentially that means handle requests in order, don't sort them, don't merge them, don't do anything except handle the next request in line. In reality, it actually does some sorting (sorts dispatches, and some requests i think). FIFO is a true "no-op" scheduler. Doesn't do anything, strictly FCFS.
* e.g. We could have 3 requests in the queue. the first one could be very small, second one could be astronomically large, third one can be extremely small. Some schedulers may say, lets do #3 before #2 because it is right next to where we're at and it's very short. Some schedulers may say, lets combine #3 and #2 to make it 1 large request. Fifo doesn't do any of that, it goes in order. Literally first in , first out.
3.) No-op: No-op already exists in the kernel obviously, now it does a bit more stuff. Like I said above, no-op isn't entirely no-op. I have a patch from AC that makes no-op do full merging and sorting. Meaning, it actually will merge some requests if applicable and sort them based on things like priority, size, distance, etc. Other change to no-op is that dispatches are all back-inserted. Meaning added to the back of a stack. Normally no-op sorts dispatches.
Q: What is the zen I/O scheduler?
A: Well, the question that was asked above led me to an analysis of V(R ), deadline, and some others. I already knew, but realized "this is the main feature of V(R), but wait it has no benefit to us smartphone users." So I thought about adjusting the way V(R ) handled requests and how it dispatched them (I chose V(R ) because i'd rather not tinker with a scheduler thats official and widely supported). Then I was looking over it, and realized I might as well just write a new one I don't need any of this stuff. So I came up with something awfully similar to SIO, although its a bit simpler than SIO (closer to no-op) and works just slightly different.
- It's an FCFS (First come, first serve) based algorithm. It's not strictly FIFO. It does not do any sorting. It uses deadlines for fairness, and treats synchronous requests with priority over asynchronous ones. Other than that, pretty much the same as no-op.
Reserved
Awesome!!!
grtz from holland

			
				
thanks.downloading
thnx a lot.
good
Very good work .... I'm happy that you have implemented Intellidemand. :good:
Nice addition. Thanks
Hmmh, gonna try this now, the 'Zen' part pulling me da attraction.
Download now.......
depuis mon Nexus Prime
my first experiences are far more fluid enough.
Consumer need to see how it goes
thanks for great job
Hi, just to let you know that, although I guess this was meant for Galaxy Nexus only, I installed it on my Nexus S with latest PA (2.22.1) and I have not experienced any issues so far...
Sent from my Nexus 7 using Tapatalk 2
Very great feedback so far, thank you all.!! One thing I can assure you is that it is cutting edge of technology & built to withstand it!!! We anticipate all of your feedback to come and thank you for using ZenSERIES
Purian23
Won't boot on my gnexus with cna 3.8 :/
Flashed the Kernel a few hours ago. Performance is great but i already had 3 random reboots so far.
Did a clean install with PA 2.51 Rom.
Kernelsettings were 192-1230 interactivex.
Ohh no ;( Did you wipe cache and dalvik cache? That should help you to get going. Please let us know if that works!
anoraknophobia said:
Flashed the Kernel a few hours ago. Performance is great but i already had 3 random reboots so far.
Did a clean install with PA 2.51 Rom.
Kernelsettings were 192-1230 interactivex.
Click to expand...
Click to collapse
Very odd, should be really stable at those settings, if you could move up to 384/1230 and see if it still happens. Thank you for reporting first, we appreciate it!
If anyone wants to join a nexus what's app group ping me your numbers.
Thanks :thumbup:
Sent from my Galaxy Nexus using xda premium

[KERNEL][MM] BlueMoon r1.0 [25/10]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
BlueMoon Kernel​"... And the moon started to shine in blue again..."​
About:
So, i was inactive in Optimus G forums for quite a long time, since i broke my glass on that phone and changed to Nexus 5. But when i found out that our E975 got Marshmallow port, i had to return here. So, i charged this phone and make it even more sweet with latest Android. The problem was, that this phone doesn't have any Marshmallow custom kernels. I used to be a kernel dev in this forum, but i moved on, and i kinda know how failed up my previous projects on this phone were. But now i have a lots of knowledge i didn't have before. So i made another BlueMoon for this device, and i am sharing it now.
Features:
Linux Kernel Version 3.4.0
Based on kernel 3.4.0
CPU Overclock
Added overclock to 1,7 GHz
Frequency range: 94, 189, 243, 384, 486, 594, 702, 810, 918, 1026, 1134, 1242, 1350, 1458, 1512, 1620, 1728 MHz
MSM Limiter
Added ability to set governor and min/max frequency for each CPU core specifically
Added option to set max frequency in suspend state and manage some other parameters of that state
Power-efficient Workqueues
Added option to unbound scheduled work to save load on sibling CPU cores amd queuing work on CPU0, for a cost of slight performance decrease
CPU Governors
ondemand
performance
powersave
userspace
interactive
conservative
smartassV2
ondemandplus
intelliactive
yankdemand
optimax
pegasusq
HYPER
alucard
darkness
nightmare
smartmax
intelliminmax
abyssplug
abyssplug2
CPU Voltage Control
Added ability to change CPU voltage for each frequency specifically
CPU Hotplug Drivers
IntelliPlug
Mako Hotplug
MPDecision Hotplug
Alucard Hotplug
Zen Decision
AutoSMP
GPU Overclock
Overclocked GPU to 450 MHz
Frequency range: 27, 128, 200, 320, 450 MHz
GPU Governors
simple
ondemand
Gamma Control
Added option to control Gamma screen presets
FauxSound
I think we all know this one, the best sound manager in kernel
USB Fast Charge
Disables MTP while connected to PC, so we can charge phone faster
BLX
Added BatteryLifeExtender, to keep phone's battery health
I/O Schedulers
bfq
noop
deadline
row
cfq
fiops
sio
sioplus
zen
fifo
tripndroid
And even more stuff, a lot more, check my GitHub history
How to install:
Just flash on Marshmallow ROM in TWRP recovery. If you came to this point of installing Marshmallow, i suppose you know how to flash the kernel.
Credits:
I was thinking, and there is too many people to thank. A lot of people motivated me and helped me. The first one was @dadi11 who taught me basics of Android development, so i would like to specially thank him. And to guys who made a kernel this work is based on. And i would like to thank everyone in my commit history, because without those guys, there would be no this kernel today.
Download:
HERE
XDA:DevDB Information
BlueMoon, Kernel for the LG Optimus G
Contributors
Matthew_333
Source Code: https://github.com/Matthew-333/BlueMoon-GEEHRC
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: r1.0
Stable Release Date: 2015-10-25
Created 2015-10-25
Last Updated 2015-10-25
Thank u so. Im on android 4.4 now but i will try it on someday android 6.0 is almost stable.
Damn.
No geehrc lollipop to test out?
Excessive consumption battery....Very slow
Let it run through a few battery cycle before commenting on battery life
Dear @Mathew_333 please implement the otg hack. like lollipop bluemoon.
It worked great on lollipop.
& If you were in dormitory with no pc you could find out how useful it can be!
The kernel is working very well, the battery consumption is very good too.
The only "problem" encountered it is that even using Kernel Auditor App, the maximum frequencies do not save, they continue reaching 1728mhz even after i set in 1512mhz.
Until now is the only observation I can do, great job!
(Sorry for the bad inglesh).
Sent from my Optimus G using XDA Free mobile app
btotta said:
The only "problem" encountered it is that even using Kernel Auditor App, the maximum frequencies do not save, they continue reaching 1728mhz even after i set in 1512mhz.
Click to expand...
Click to collapse
I have the same problem.
M.M.K said:
Dear @Mathew_333 please implement the otg hack. like lollipop bluemoon.
It worked great on lollipop.
& If you were in dormitory with no pc you could find out how useful it can be!
Click to expand...
Click to collapse
Well, i guess i can tell you - i know how useful it is, i am in dormitary with no pc, i just have vecation this week The problem is that i moved to Nexus 5 and there this support is already implemented without any kernel hacks.. I have really a lot of work and i have to oupdate this BlueMoon and the one for Nexus 5, i can promise you update, as soon as i will be able to - And i understand you how you feel without pc haha
@btotta @st4ik The thing with frequency will be fixed in r1.1, stock frequency will be set to 1,5GHz too, so overclock will be optional
Matthew_333 said:
Well, i guess i can tell you - i know how useful it is, i am in dormitary with no pc, i just have vecation this week The problem is that i moved to Nexus 5 and there this support is already implemented without any kernel hacks.. I have really a lot of work and i have to oupdate this BlueMoon and the one for Nexus 5, i can promise you update, as soon as i will be able to - And i understand you how you feel without pc haha
Click to expand...
Click to collapse
thanks for understanding ^_^ implement it only if you have the time...
Matthew_333 said:
@btotta @st4ik The thing with frequency will be fixed in r1.1, stock frequency will be set to 1,5GHz too, so overclock will be optional
Click to expand...
Click to collapse
In the beginning of the time of my phone, when it wasn't rooted, I was really interested in overclocking!
But now I'm mostly interested in thermal! there's a huge problem of battery & overheating bro!
Just suggesting! but maybe you can make the kernel more classic with 1.5 ghz max.
Later make marshmallow radioactive with 1.9 ghz overclock for bitting the competitors
Thank you for your time build whenever you had the time. patiently & perfectly
@Matthew_333 What have you done what have you got the kernel won't compile!? Not compiled not linaro, arm eabi...
Here, look at this, maybe that is not so...
https://github.com/nitrogen-devs/BlueMoon-GEEHRC
@Mr.MEX, with my script it should work. Try with bluemoon_defconfig, maybe your gee_defcondig has some compactibility issues with my changes to kernel source.. And which Linaro you use? 4.9.4? It works for me..
Matthew_333 said:
@Mr.MEX, with my script it should work. Try with bluemoon_defconfig, maybe your gee_defcondig has some compactibility issues with my changes to kernel source.. And which Linaro you use? 4.9.4? It works for me..
Click to expand...
Click to collapse
https://github.com/Matthew-333/BlueMoon-GEEHRC/tree/master/arch/arm/configs - 404
@Mr.MEX what the hell? I didn't though my source is broken, anyway, i am working on rebased kernel now, so, r2.x. And as we talked about updating to latest linux version, i found where trouble is.. We could upgrade without any bigger issues, but the problem is that commit "M for Mako" edited file "fs/dcache.c" in some vfs lines, and lglock, and i tryed all combinations but i get build errors. Do you have any idea how we could be able to fix this?
Matthew_333 said:
@Mr.MEX what the hell? I didn't though my source is broken, anyway, i am working on rebased kernel now, so, r2.x. And as we talked about updating to latest linux version, i found where trouble is.. We could upgrade without any bigger issues, but the problem is that commit "M for Mako" edited file "fs/dcache.c" in some vfs lines, and lglock, and i tryed all combinations but i get build errors. Do you have any idea how we could be able to fix this?
Click to expand...
Click to collapse
@Matthew_333 Revert all to hell, commits to lollipop... added Abhinav to run M on our device. To patch the kernel to 3.4.110 and then to do everything to M.
Option so-so or am I crazy?
And please tell me which commit last r1.0? So I can compile a kernel fine...
P.S. There are hangouts?
@Mr.MEX add me on hangouts, [email protected] we will talk there tomorrow. Your advice seems quite good tbh, i wikk try this thing with reverting to lollippp tomorrow in afternoon
no more releases?
dt2w ??

[KERNEL][CM13][3.18.43] mKernel R1 made by msdx321

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Changelog:
R1-HOTFIX:
- Fix speakers problem
Click to expand...
Click to collapse
Intro:
Brings useful features in and focus on optimation
Click to expand...
Click to collapse
Disclaimer
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
Click to expand...
Click to collapse
Feature:
- Add elementx gov
- Add zen, fiops and sio gov
- Add KCAL control
- Add Fsync switch
- Enable all TCP algorithms
- Use -Ofast instead -O2 for compile
- Use Linaro's toolchain
- Latest linux branch fully merged 3.18.43
- OC the freq from 1.3/1.8 to 1.6/2.15 for standard edition, GPU as well
- Disable Software CRC
- Use LZ4 for zswap and zram
Click to expand...
Click to collapse
Bugs:
- All bugs offical CM has
Click to expand...
Click to collapse
TODO:
- Fully merge Linaro's branch ( might not)
- OC CPU and GPU by using freq & volt tables from Snapdragon 821 ( depend on yours opinions)
- More useful CPU govs such as nightmare
- Adreno boost
Click to expand...
Click to collapse
Source Codes:
https://github.com/msdx321/android_kernel_xiaomi_msm8996
Download Link:
https://drive.google.com/open?id=0B4WteYtIGVuCNHQ5bEFhcEN2cDQ
Credits:
- Cherry picked most things from the OP3's elementalx kernel
Click to expand...
Click to collapse
Oh Thank You
Perfect!!
Hey i'm. Trying your kernel out but please address battery's drain and I can't seem to set the clock speed in kernel auditor it always reverts back
gowtham300 said:
Hey i'm. Trying your kernel out but please address battery's drain and I can't seem to set the clock speed in kernel auditor it always reverts back
Click to expand...
Click to collapse
About battery's drain...Since I haven't modify the code too much, I should be almost the same as the stock kernel.
About freq reverting, seems like there is something locked your freq. For example, have you opened the power saving feature or something like that?
coderstory said:
About battery's drain...Since I haven't modify the code too much, I should be almost the same as the stock kernel.
About freq reverting, seems like there is something locked your freq. For example, have you opened the power saving feature or something like that?
Click to expand...
Click to collapse
No this issue is also prevalent in 32gb mi5 on the other 2 kernels also
coderstory said:
About battery's drain...Since I haven't modify the code too much, I should be almost the same as the stock kernel.
About freq reverting, seems like there is something locked your freq. For example, have you opened the power saving feature or something like that?
Click to expand...
Click to collapse
I found ElementalX governor had/caused problems when I used it on my Kernel. The root of the issue causing speeds to revert was the CPU tables starting at line #46 weren't quite right.
Harrynowl said:
I found ElementalX governor had/caused problems when I used it on my Kernel. The root of the issue causing speeds to revert was the CPU tables starting at line #46 weren't quite right.
Click to expand...
Click to collapse
Thx, dude. Can't fully test the kernel since I don't have a actual phone and some one ask me to do this kernel. By the way, your way to overclock the kernel is quite unstable. No not just cherry-pick the commit from flar2 or use freq & volt table from snapdragon 821
Harrynowl said:
I found ElementalX governor had/caused problems when I used it on my Kernel. The root of the issue causing speeds to revert was the CPU tables starting at line #46 weren't quite right.
Click to expand...
Click to collapse
Well, the freq in freq table acts as CPUFREQ_RELATION_H. So I don't think there is a serious problem in ElementalX governor
When will we get 821 speeds @Codestory
Is possible that WiFi strength crabs m became better with custom kernel? Or the mi5 really have WiFi hardware issues?
Thanks for your share m8. this aims to be good!!
Sent from my MI 5 using Tapatalk
Is there will be development going? Im searching kernel for my clean Cm install I really want OC thanks
fuxmen said:
Is there will be development going? Im searching kernel for my clean Cm install I really want OC thanks
Click to expand...
Click to collapse
Yeah
"- OC CPU and GPU by using freq & volt tables from Snapdragon 821 ( depend on yours opinions)"
So, except for gpu and cpu OC, the only difference with snap821 are the volt tables? Could you explain more @coderstory ? Thank you
Any way tô build a Kernel for MIUI base?
Does this works on latest cm13 nightly?
dkmsn8 said:
Does this works on latest cm13 nightly?
Click to expand...
Click to collapse
I think he stopped doing the development of the kernel, nothing new at all... Better wait for harry or simply use the original kernel in CM13
otonieru said:
I think he stopped doing the development of the kernel, nothing new at all... Better wait for harry or simply use the original kernel in CM13
Click to expand...
Click to collapse
Yeah I'll wait

Categories

Resources