Related
FlyKernel is an overclockable kernel for the Hero GSM, aimed to improve stability, battery life and performance (generally in that order).
The Hero GSM now also has a newer .35 kernel "Las Venturas" you should also check that one out. At the time of writing these lines, the newest version of Las Venturax is found on the second post of the above thread (my post ) - you should check which post is more up-to-date on that thread.
Download and instructions are on this post.
FAQ and advanced subjects are on the second post.
Change log and previous versions are on the third post.
WARNING: Please make sure to have an up-to-date backup before you flash this kernel!
FlyKernel-13 (#253)
FlyKernel 13 - Desean
FlyKernel 13 - Mediafire
FlyKernel 13 - Multiupload
This is a post-LasVenturas update for FlyKernel, after quite some time without any updates.
Although I currently have a bit of a personal preference for Las Venturas, I believe that it is even better to have two excellent kernels for the hero (internally totally different ), so that the users can choose whichever works best for them. Possibly, on some of the older ROMs this kernel might work better. This should also help isolate kernel issues vs. ROM issues.
SmartassV2 (informal description and comparison with the first smartass)
SmartassV2 is a governor (controls the frequency of the CPU at each give moment) which like the first smartass is generally based on the implementation of interactive with some major changes and the addition of a built in sleep profile (behaves a bit differently when screen is off vs. on).
The smartassV2 improves the very naive scheme which the first smartass had: The first smartass (with the values I set for the hero), would cap the max frequency at 352Mhz for sleep and when screen is on, would do the opposite and keep the frequency at 518Mhz or above. For sleep this was very effective but a bit crude and unclean, and there could be some cases where you would need processing power even when screen is off (something is updating and music is playing and etc.). For screen on, smartass1 was too quick to jump to the max available frequency and again would never go below the 518Mhz, so in a nutshell its was using "too high" frequencies.
SmartassV2, introduce (internally) an "ideal" frequency which is the frequency we are "aiming" for, in some sense. The way I see it is that the "ideal" frequency is a hint to the governor what is a good balance between performance and battery life. Now when screen is on, I set (on the hero) the ideal frequency to 518Mhz which will ensure nice responsiveness but limit unnecessary use of higher frequencies when they are not needed. When screen is off, I set the ideal frequency to 352Mhz (0 will disable the screen state tracking all together). From my testing this will "convince" the governor to spend most of the its time during sleep at the lowest available frequencies. Note, that both during sleep and when awake the entire frequency range (as defined by the "user" - i.e. selected with SetCPU) is used by smartassV2. For example, when the CPU is loaded heavily, the highest available frequency will be used regardless if screen is on or off.
Boot OC and optional tweaks
Optionally, you can rename the update file before you flash to change bootup frequencies and other options.
If you don't rename the file and flash "FlyKernel-13.zip" you will get the default tweaks and the min/max frequencies will remain as they where before.
For example, to set the max/min frequencies on boot to 614/176, rename "FlyKernel-13.zip" to "FlyKernel-13-M614-m176.zip".
Supported "flags" are:
Notice, all flags are case sensitive.
-MXXX - set max frequency to XXX
-mYYY - set min frequency to YYY
Supported max frequencies:
518 576 614 633 652 672 691 710 729 748
Supported min frequencies:
19 176 264 352 518 576 614 633 652 672 691 710 729 748
Default behavior, if these flags aren't given, is not to change your current settings.
For frequency recommendations and more info see FAQ #5.
Technical details: max/min frequencies are set in the kernel's ramdisk init.hero.rc file. Previous settings will be replaced. Furthermore, if one of your init.d script sets the max/min frequencies, these lines will be removed.
If you have SetCPU or other program changing the speed at boot, their change will take effect and overwrite this setting as soon as the ROM completes to boot.
-nologo - Don't show boot animation.
-logo - Show boot animation.
Default behaviour, if no flag is given, is not to change your current settings.
-noatime - Mount all partitions with -noatime to improve IO.
-atime - Mount no partition with -noatime.
Assuming, your ROM did not mount any partition with noatime, then the -atime option should undo the -noatime option perfectly. Unfortunately, it seems some ROMs (i.e. VR12) mount only some of the partitions with -noatime. It seems that in some cases, changing the noatime configuration causes boot problems.
Therefore, I highly recommend you make a backup before trying the -noatime flag - this is the only full proof way to go back if it messes something up.
Notice, this does not effect the ext partition as it is not mounted in the ramdisk init.rc. As far as I know, all ROMs mount the ext partition with noatime.
-notweak
By default, the updater will remove scheduler tweaks which exists in the ramdisk init.rc script, in order for the scheduler default compiled into the kernel to apply. This flag will disable this behavior.
More techinical information for developers about the smart update package has been updated in my github wiki.
Limitations and known bugs:
- This kernel will not make you coffee (I hope)!
Integrating kernel in a custom ROM (for ROM developers)
You can use my from above:
http://floyo.desean.net/FlyKernel-13-Floyo.zip
This file has a regular boot.img with a ramdisk compatible with Floyo 1.4, boots at 576/352 (smartassV2) and has all the kernel modules unpacked.
If you need to edit the ramdisk, you can either unpack the above boot.img as explained here. Or you can get the kernel binary file from my smart update package, under tmp/flykernel/kernel. The kernel modules are package in the smart update package under tmp/flykernel/syslibs.tar.
Kernel Sources
My sources with all my updates and changes are found on github:
http://github.com/erasmux/hero-2.6.29-flykernel
Use hero_defconfig for the regular version and hero-bfs_defconfig for the BFS version.
See the wiki for more information about building the kernel and more.
Please feel free to contact me regarding my sources and kernel development.
Using my Kernel Sources
Feel free to use my kernel sources, fully or partially in any (legal) way you see fit.
If you modify the sources, I urge you to share your changes with the community (as GPL obliges you to do), preferably using github. You can fork my sources on github, and this will make it easier for you to grab new changes from me and also allow you to fill pull requests so I can pull your changes back to my kernel.
GPL
Yes I am GPL complaint, all is included inside the sources, including the GPL license itself.
Thanks
Huge thanks to Desean for giving me file hosting that makes my life easier
Many thanks to all the Kernel/ROM developers here, especially those with open source kernels on github - LoxK, Cyanogen, Ninpo, Radu and especially Decad3nce.
Big thanks to all those who helped test the pre versions and reported bugs, specifically also to my long time testers (moonshield and floomat)
Donations are always welcome and accepted but are in no way required.
FAQ and Advanced Subjects
FAQ
0. When reporting a problem, do I need to include the ROM and exact kernel version I am using?
YES!
1. How do I flash the kernel update file?
You flash it from recovery, like any other custom ROM. If you are not familiar with recovery and/or haven't rooted your phone, start here.
2. Do I need to wipe anything when installing the kernel?
No you don't need to do any wipes. Just install the kernel through recovery and reboot
3. The update from recovery failed with errors/warning?
Please, in the same recovery session which you tried to apply the update and failed, select the "Move recovery.log to SD" from the "Other" menu and post in this thread with the recovery.log attached (for example in a .zip file).
4. After flashing the kernel my ROM does not boot
A logcat of the boot process might help me understand the problem. Using adb you can generate one with the following command and attach it to your report:
Code:
adb logcat > logcat.txt
You need to run this command relatively close to the start of the boot. Close the window after the phone is stuck for few minutes (say 2 mins with no change should do). You can start by running "adb logcat" and seeing if you get any output at all. If so, reboot once more and run the above command from the start of the boot (approximately).
Please also clearly state which ROM you are using and which kernel did work for you (which one did you use before).
To recover from such a scenario, boot into recovery and restore a backup of your working state. If you do not have a backup, and its the kernel fault, flashing your old kernel should solve the problem.
5. What min/max frequencies should I choose?
The short answer: min 176, max 614, if you have wake up issues up the min speed to 264 and then to 352.
To play with the speeds I suggest you install SetCPU (or similar app), so you can view and change your settings interactively. To change it permanently from the bootup see instructions on first post. You also use options like "Set on boot" in SetCPU if you prefer that.
The long answer:
The max frequency will effect the speed and responsiveness of your phone when screen is on. Note, that any speed above 528Mhz is above the specification of the manufacturer, hence is overclocking and could, in theory, shorten the life of your device. At high enough frequencies all devices will stop functioning, the exact threshold depends on your luck with your specific device. From my experience and knowledge, running at stable frequencies (or say one or two steps down to be on the safe side), should not harm your device - of course all overclocking is done at your sole responsibility.
As far as I know, almost all device can handle 652Mhz, most can reach the 691/710 area and some can even reach higher than the 748Mhz cap of this kernel. To find out which speed your phone supports, use SetCPU (or similar app), start from 614 for example and up the speed one tick a time. Don't select "Set on boot". At each step play with the phone a minute or two. If the phone gets stuck, reboot it (take out battery if necessary) and go one tick down.
Additionally, note the higher your max frequency the higher the battery drain will be when the screen is on. It is true that the display, data, wifi, gps, etc. should drain much more than the cpu. Still, I recommend staying in the sane frequencies range, no more than say 691Mhz (even if you phone can handle it).
Finally the min speed will effect standby battery life (when screen is off). From my experience there is a difference in battery life between 19Mhz and 352Mhz min frequencies but it is relatively small (much less than I expected). 19Mhz is not stable for me, almost stable, but over a period of weeks you will probably experience weird and possibly very rare instabilities. For me this was the when playing music with screen off the phone got stuck at 19Mhz (very hard to find this out), and became totally unresponsive until I rebooted it. Therefore, I recommend starting from 176Mhz, and if you have wakeup issues to bring it up. With 352Mhz you should have no wake up issues at all.
6. I am having wakeup issues (such as unresponsiveness to wakeup, weird coloring after wakeup, screen inversion, caller id not working on wakeup)
Up the min speed to 264 and then to 352. With a min frequency of 352 you should not have any wake issues.
See the FAQ #5 above for more information.
7. I am experiencing bad battery life with FlyKernel
First, please make sure to reboot the ROM at least one time after you flash the kernel. There have been reports that ROM/kernels behave badly on the first boot.
Personally, I do not do battery calibration, but if it makes you happy go for it. I do recommend at least charging the battery overnight, or a couple of hours after it has reached 100% to be sure it is full. Then use it, your regular usage for a few days and only then judge the battery life.
The battery percent indicator, over short periods of time seems extremely inaccurate and its very hard to reach any correct conclusions based on it.
If you do want to report bad battery life, please state your settings (kernel version, min/max speeds, governor, etc.), over which period you have been testing the battery, under what usage, what is the battery life you are used to having with which kernel and what is the battery life you are experiencing now.
Note, that roughly speaking, I lose less than 1%/hour when screen is off (wifi, data, gps, etc. also off), and about 10%/hours when just screen is on but phone does nothing at all (again wifi, gps, etc. off). About 20%+/hour when stressing my phone (although I have no data plan so can't test that). I am using the latest FlyKernel @ smartass 614/176.
8. What size should I give the swap partition?
short answer: 0.
long answer: I do not recommend using swap on the hero, hence 0. If you have a very fast SD card, and want to try it, give it say 64Mb. Note that I know of no ROM for the hero which activates swap automatically - you'll need to add a init.d script or something to activate it (see a bit more info here). Let me know if you find a scenario where the swap gives substantial improvement over no swap.
Finally note that FlyKernel versions before 12 do not support swap.
9. Should I use ext2, ext3 or ext4 for my ext partition?
Short answer: ext4. Note that FlyKernel versions before 12 did not support ext4, ext3 is supported since version 10.
Long answer:
Previously, I was under the impression that a journaling file system is a very bad idea for flashable storage. I still think its not ideal but better than the other alternative:
I have been using dual booting, placing an entire development ROM on an ext2/4 partition and using it for development. And when using ext2 it would get errors almost every boot and every couple of days get corrupted to the point I needed to manually restore damaged files to get it working....
It seems that if you only use it for app2sd, there are very infrequent changes to this volume (only when you install a new app), hence it does not get corrupted. But this also means that ext4, in this scenario, will not pay much overhead because there are very few changes. And in the case there are many changes, if I have to choose between a slightly shorter SD life with ext4 (and then I can finally get a faster one ) or risking my data getting corrupted on a daily basis with ext2 - I prefer the first (ext4).
Questions 10-13 are now obsolete with smartassV2 - see the first post for details about it
10. Do I need a SetCPU (or similar) screen off profile with smartass?
No, smartass automatically limits the screen on frequency to >= 518Mhz to ensure responsiveness, and screen off frequency to <= 352Mhz to keep standby battery life under control. Much like HTC's perfllock, it does this at the kernel level so it is much better than app level screen off profiles.
11. Using smartass the CPU frequency does not drop below 518Mhz (with screen on)
Intentional to ensure responsiveness. From my testing, when screen is on battery drain difference of speeds < 518Mhz is not significant relative to the drain by the screen itself.
12. Using smartass the CPU frequency does go above 352Mhz (with screen off)
Intentional to keep standby battery life under control.
13. Using smartass the CPU frequency is always at its max (or always at 352Mhz when screen is off)
See "Monitoring the CPU frequency" in the "Advanced subjects".
14. I am experiencing spontaneous reboots
Please post, in this thread, with as much detail as possible about the problem.
Please also attach the last_kmsg, which you can get from example using:
Code:
adb pull /proc/last_kmsg
15. What happend to the BFS version?
With the FlyKernel-12 scheduler tweaks (CFS scheduler), it surpasses the BFS version in every way. I tried to compile a BFS from the FlyKernel-12 code but even in neocore, in which the BFS was always much better, the new tweaked CFS leaves the BFS in the dust. Hence, I see no reason to continue and build/support a BFS version. The hero-bfs_defconfig is still up to date in my sources if anyone wants to build it themselves.
*. I am experiencing an issue not covered in the FAQ which I believe is kernel related
Please post, in this thread, with as much detail as possible about the problem.
Please also detail why you believe this kernel related. The best "proof" that it is the kernel's fault, is to flash back your old kernel and verify the problem is solved, then reflash the new kernel and verify the problem reappears. In any case please detail the kernel and version(s) on which your are experiencing the problem and those on which you do not.
Advanced Subjects
* Monitoring the CPU frequency
Will rewrite this more clearly. In the meantime:
http://forum.xda-developers.com/showpost.php?p=9925116&postcount=903
http://forum.xda-developers.com/showpost.php?p=9929325&postcount=919 <-- Mainly this one!!!
http://forum.xda-developers.com/showpost.php?p=9989996&postcount=970
http://forum.xda-developers.com/showpost.php?p=10010110&postcount=990
Change log and previous versions
FlyKernel-13
- Scheduler tweaks: use the scheduler settings that worked well on flykernel-11c and 12pre6 (tweaked them very very little), responsiveness should now be better than on the FlyKernel-12 release
- Backported the new smartassV2 - now the default
- Added interactiveX governor also
- A few config changes and compiler optimizations
FlyKernel 12a (mediafire)
- Fix wake up issues with new scheduler tweaks
- Smart update script: make noatime tweak option to (hopefully) solve boot problems
FlyKernel 12
- Smart update script
- Optimized scheduler parameters
- Fix Usb mass storage after usb tethering (at least on CM ROMs)
FlyKernel-12pre6
- Align ext2/3/4 config options
- Merge small fixes to lowmemorykiller module.
FlyKernel-12pre5
- Backport of smd rpcrouter to avs333 request.
FlyKernel-12pre4
- Partial fix for the lockscreen flickering when locked/unlocked rapidly (with smartass).
- Very small tweak to other smartass parameters.
FlyKernel-12pre3
- Fixed frequency table according to Radu's comments. Frequencies which are not on PLL2 have been removed!
- Tweaked smartass to spend more time at the lower frequencies to improve battery life. Also smartass's allergy to 19Mhz has been cured!
- Some configuration tweaks, mostly sleep related.
- 528Mhz frequency does not work well with OC, so it has been replaced with 518Mhz which does work fine.
FlyKernel-12pre2
FlyKernel-12pre2 optimized for CM based ROMs (default speed 576/352)
- Added compcache support
- Added 19Mhz and 264Mhz frequencies
FlyKernel-12pre1
- Lower voltages of high frequencies (>= 528Mhz)
- Added ext4 support (I currently use it for dual booting)
- Interactive updated (does anyone find it better than smartass? in what scenario?)
- Smartass fixes and optimizations - should be more responsive now and battery life should (hopefully) still be excellent.
- Camera backport from .32 (12pre1-cam32)
FlyKernel-11c
FlyKernel-11c #66 (Generic)
FlyKernel-11c-BFS #67 (Generic)
- Smartass: now wakeups up from sleep first at 528Mhz (no OC), to hopefully help with wake up issues.
- Bunch of fixes/optimization from CM espresso kernel and from Decad3nce (see github)
- BFS version
"Optimized Kernel Packages" (only for CM6 based ROMs: Floyo, Elelinux, Froyd):
Find the appropriate kernel for you by its name in the FlyKernel-11c directory
The naming conversion is:
flykernel-11c-CM-<min>-<max>.zip (with boot animation)
flykernel-11c-CM-<min>-<max>-nologo.zip (no boot animation)
flykernel-11c-BFS-... (BFS version)
FlyKernel-11
- New smartass governor (see technical detail below). Previous governors still supported.
- Added IPv6 (only for Google Googles?!)
- Fixes camera freezing CM6-based ROMs (thanks Ninpo for a "code cleanup" which fixed this )
- Fixes detection of USB connection during boot on CM6-based ROMs.
- Various squash-sets imported (see github)
- NORMALIZED_SLEEPER disabled.
FlyKernel-10a (rapidshare megaupload)
- Optimize some sleep/idle code (thanks to ninpo)
- Add module for IP header compression - hopefully this helps google apps (inspired by ninpo).
FlyKernel-10a-BFS (rapidshare megaupload)
- BFS version of 10a.
- Whats is BFS? see wikipedia and more details here.
FlyKernel-10
- Fixes for Froyo ROMs (FroydVillain and Elelinux)
- Added some more modules inside the kernel (notably using VPN should now work). I am now more aligned with the modules included in other kernels (well mainly ninpo's kernels), so hopefully you should not run into any missing modules.
I even added support for ext3.
- Generic update for all ROMs.
Flykernel-09:
FlyKernel-09 for VR12,RCMix,ChoclateEclair,Modaco and SuperHero
FlyKernel-09 for Kimera and Sensehero
FlyKernel-09 for MMod 1.2.3
FlyKernel-09 for FroydVillain and elelinux - Beware there are problems with 09 and Froyo ROMs.
FlyKernel-09 for CM6
- Added the excellent minmax governor.
- Removed interactive as it does not behave well at all - just use minmax
- added version which supports the 288M data partition - removed now since MAX appears to be fading out - just use dalvik2SD instead.
FlyKernel-08
FlyKernel-08 for Froyo and ASOP
Added Mike Chan's interactive governor, adaptation to Hero by Nadlabak and Ninpo. Added some tweaks of my own - now works well also with big frequency table.
Tweaked conservative governor for better performance.
Fixed/cleaned kernel co/nfig and modules - among other things iptables should work fine now.
Bigger frequency table.
FlyKernel-05 (BFS)
BFS version of the FlyKernel-04
FlyKernel-04
Based on HTC 2.6.29 official kernel source.
Includes patchset 2.6.29.6 and various fixes
Boot OC - Only for Sense based ROMs (The smart update script added in FlyKernel-12 provides a cleaner and better solution for all ROMs)
Boots very quickly by setting the OC speed right from the start. Also sets the original HTC boot animation which is quicker for most ROMs. Finally, replaces the 09zipalign with 09betterzipalign (again thanks ninpo).
Please have a backup before you try this, as there is no other easy way to undo this.
Select the update file according to the speed your phone can handle:
boot @ 653/160: http://www.multiupload.com/5RAXNJ7AWY (rapidshare megaupload)
boot @ 672/160: http://www.multiupload.com/RRQ0HYI8O8 (rapidshare megaupload)
boot @ 691/160: http://www.multiupload.com/20AJV7FLQI (rapidshare megaupload)
boot @ 710/160: http://www.multiupload.com/WHROUYNGQ6 (rapidshare megaupload)
Theoretically, this should now work on any ROM and any OC kernel. I have tested the 691 update on VR12 and Froyd 1.4 with my kernel and it works fine. Above files (now with "_" at end of name) updated to also work on ChocolateEclair and hopefully other ROMs on 31/8.
Note that in my recent kernel versions the lowest frequency is 176, so it will boot with a min frequency of 176.
cool.. will try. like the idea of overclocking before boot
can you post a diff file of what you modified?
diffs of which change?
there are a lot of changes and fixes, which range from fixes by me in the source code, to just copying/applying files from others.
I think it would be better to keep this thread open for issues and questions about the usage of these fixes. Still I will be more than happy to share anything I have done - please contact me with the exact change you are interested, either by PM or open a new thread if you think it is of general interest for developers.
There are literaly dozens of different kernels floating arround, all of which are always "brand new super fast ultra optimized". From a user perspective it's hard to tell which one is the best. I think this community needs more openness in the developpement. I think it would be a good habit if developpers posted their diff files (of everything) instead of just saying that they made "optimizations".
thanks for your work
zorxd said:
There are literaly dozens of different kernels floating arround, all of which are always "brand new super fast ultra optimized". From a user perspective it's hard to tell which one is the best. I think this community needs more openness in the developpement. I think it would be a good habit if developpers posted their diff files (of everything) instead of just saying that they made "optimizations".
thanks for your work
Click to expand...
Click to collapse
Trying it out might help in deciding which is the best for you. There is no such thing as an absolute best, sorry. To each his needs and his preferences. I also included a convenient undo update script which restores the original kernel.
Personally, I am not aware of any other kernels for the VillainROM (except the original one by ninpo) and for me my kernel works better. Additionally, I have gotten very good feedbacks for my kernel and fixes on iandroid (using HebVillain which is very tightly based on VR12). So I thought others here might want to try it and maybe would also like it. Please also feel free to bash it, but please try it first and then reply with comments which I can relate too.
Finally, I am all for complete openness: If you are really interested in the kernel sources, you can find them along with all my changes here which could be of great to help to you especially if you want to compile the hero kernel yourself. In such a case I would recommend starting from here. The biggest other change is the RTL fix, for which you find the diffs here (it is verses the eclair branch of the android source code). As for the other files & changes I did, I have tried to detail as much as possible in my original post.
Feel free to contact me (also by PM) if you want more info or help.
I just installed your Kernel and the Boot Optimization and brother my phone is flying!!!! GREAT JOB!!!
100% recommended flash for your VR12
THANKS!!!
yep!
all great! you are the MAN =)
good work erasmux, does it work with Arabic language with Arabic fonts installed ? I mean connected letters
Thanks a lot
I hope it does. I don't use Arabic, but if there are problems, report them and I'll do my best to fix them.
Good job erasmux!
Problems for me.....
Installed Kernel & Optimization and Boot time optimization
Made all my icons go to pot,
"problem loading gadget" on powerbar,
"problem loading gadget" on Battery Meter Widget
Game Icons, CoPilot live, System Widget all showing default app icon.
Lost a WHOLE LOAD of installed apps, simply not there listed any longer. So many gone I can't recall what I have lost.
Tried the undo file Original VR12 Kernel:
Got my apps back but still probs with some widgets, boot screen remained the HTC one (didn't revert to the villian screen)
First, I have fixed the kernel restore file in the original post to also restore the original villain boot animation, note that the new file is called: V12-RestoreKernel_.zip (with additional _ at end)
Thanks, for the remark.
Regarding the apps, that is very weird. Did you get these "problem loading gadget" on the screen or where? A logcat from the start of the boot would be very helpful (although I can understand if you don't want to flash it again just to help me debug...).
Regarding the widgets (when the apps do appear) ,try clearing the HTC Sense data (unfortunately this will reset your desktop but it should restore your widgets and its better than having to reinstall everything).
I'll have to have a go later.. tied up at the mo..
Prob loading gadget appeared on the screen (still does).
Will try clearing sense and post back later.
EDIT: Clearing Sense worked. Thanks.
made battery callibration (http://www.villainrom.co.uk/viewtopic.php?f=97&t=1789&start=20#p19769).. full charge (~17:15).. after 5 hours using phone.. 5-7 calls (1-5min each), 30 min wifi and playing =) and now ( 22:40) 99% battery!!! blja, im very happy!!!!!!!!!!
cpu always 245-576mhz
only like with original VR12 kernel after few hours of use at 576mhz linpack score down from 2.5 to 1.8 , but after installed autokiller ( preset 60mb) it's always 2.45-2.57
now i think VR12 the best!
Thank you one more time! will write back tomorrow eve =)
is this included stuff really usefull or it can be disabled?
ipv6 (lot of different options)
LZO and ARC4 crypto stuff
extra PPP stuff (MPPE, PPPOLAC, PPOPNS)
DSCP and TCPOPTSTRIP
INET_TUNNEL
XFRM_IPCOMP
CPU_FREQ_GOV_CONSERVATIVE
the /proc/config.gz (kernel .config support)
Also, I noticed that the device boot with mem=64M. Does it mean that the rest of the RAM isn't used?
AFAIK the only way to change this is to recompile the kernel.
Many of what you said I saw requests here on XDA that kernel developers add (there applications which use it). Please note that many of those modules do not automatically load and need to be manually loaded so they should not have any effect.
Others stuff, mainly the IPv6 stuff i doubt anyone uses - must have "inherited" it from the config i used as a base. I will look into it for future release if I can remove that stuff.
About the mem=64 I am not sure what that is, my phone is definitively using the full memory. I will also try to understand and possibly adjust that for future releases.
Thanks for the input.
An other question, is a kernel really tied to a specific ROM? I have VR12 right now so I could try it, but I was also thinking of upgrading to a 2.2 ROM.
About the modules, I think that most of the stuff that I noticed was compiled in (=y) and not as modules (=m). If they are only used by 1% of the users, I think it would be better to have them as modules and make sure that they don't load automatically at boot.
Also, do you know if it is better to have a small frequency table (with, let say, only 3 choices) to avoid excessive frequency switching?
Is the dalvik to SD trick included worth it for those of us with the original 2GB SD card?
** Note: This kernel is end-of-life and will no more be maintained. There will be no LineageOS 15.1 or newer kernel be available anymore **
Hi all,
some of you know me from the Samsung devices area, where I provide my kernels already for more than two years to Galaxy S3 and Note 10.1 users for all sort of platforms (Samsung, Cyanogenmod, Omnirom etc.)
Please note:
I am not heading to have as many features as possible implemented, this is not my design goal. If you are more into that, move on to other, good existing kernels. If you are searching for a good mix of improvements and new functions while not sacrificing stability, you are welcome here (see below the history section for more info).
Compatibility
Important: This kernel is only meant to be compatible with official Cyanogenmod / CyanogenOS and nothing else.
So when the kernel does not run on custom rom XYZ, do not even bother me with it or ask hundred times in the thread for compatibility.
I could not care less about it !!
Important notes
1) When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
2) Do NOT use TWRP's function to root your device after a clean rom flash!!! The installed supersu version is not up to date and may cause a bootloop with latest COS/CMs kernels !!!
3) Make sure you flash the correct kernel version, depending on whether you use cm11s stock or genuine cm11, COS13.0, COS12.1, COS12.1.1 or genuine CM13 !!!
Also note: You have to use Boeffla-Config app which I provide on my homepage to tweak the kernel. 3rd party apps will not be able to unleash the full power of the kernel.
Saying that, the Boeffla-Sound app in Play Store is not designed to work on the OPO, neither was it developed by me, hence it will never work on the OPO ever. Boeffla-Config is the way to go here !!!
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app.
Click here to learn about using the config app.
I will refuse to give support if you do any undervolting and experience freezes or hot reboots.
I will also not provide any support if you do not use Boeffla-Config app to tweak the kernel, other 3rd party tweaking apps are known (and intended) to cause issues.
I will refuse to give support if you have xposed framework installed and reporting any kind of weird issues. My opinion to xposed it quite clear: too powerful for >90% of the users that just mess up their system with it.
Otherwise, you can get in touch with me via the support e-mail address: [email protected]
Please provide kernel version, rom version, a detailed issue description and ideally supporting screenshots or log files.
Change logs
Change logs can be found at the first page of the kernel homepage:
www.boeffla.de
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Features
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 configuration app (get it from http://www.boeffla.de) to configure all kernel settings
Additional governors: zzmoove, intelliactive, intellidemand, wheatley, smartmax, slim, intellimm, pegasusq, nightmare, lionheart
Zzmoove supporting native hotplugging profiles
Additional schedulers: fiops, bfq, sio, tripndroid, zen
Many Hotplug tweak profiles (Default, Optimized, 1 core max, 2 cores max, 3 cores max, 2 cores min, 3 cores min, 4 cores min, 2 cores exact, 3 cores exact)
Notification LED control (fading, speed, brightness)
Boeffla-Sound engine (Headphones and speaker volume configurable)
zRam (1-4 logical devices)
True dynamic FSync (activated if screen on, deactived if screen off), configurable
Touch boost frequency configurable, touch boost switch
Swipe2Wake gesture implemented
Swipe2Sleep - 3 gestures implemented
Boeffla generic wakelock blocker V1.1.0 (documentation)
CPU Overclocking up to 2.88 GHz
CPU Voltages interface for undervolting/overvolting
GPU idle frequency 27 Mhz added
GPU governor selection support with fixed simple_ondemand
Show GPU frequency usage per frequency in Boeffla-Config
Panel partial updates reverted to avoid graphical glitches
Last CM12 touchscreen firmware reverted as it does not work properly for some users
Color control to adjust RGB color space + inverted mode
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (default to on, can be disabled)
System Tweaks predefined supported (default is off, new Mattiadj tweak set included)
Android logger (logcat) configurable (depending on rom)
Kernel logger (dmesg) configurable
Charge rates for AC charger and USB charging separately configurable (set charge rate to 0 to have stock charge logic back)
Charge information display support via Boeffla-Config V2 app
CIFS support (module, do not mount inside /data)
NFS support (module)
exFat opensource support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
Module support in general activated in Kernel
TCP Congestion changed to Westwood
Swap supported (but not recommended, use zRam instead)
init.d support (in /system/etc/init.d - set correct permissions!)
Default entropies increased
Insecure kernel (adb has root privileges)
Automatic EFS backup
Kernel survival mode by Boeffla-Config app to survive CM rom flashes (not CMs however)
Full support for mpdecision for best compatibility and smoothness (no min cpu frequency reset, use Boeffla-Config to configure min frequencies only)
Integrated full busybox 1.23.1 (own compilation)
Auto-Root by kernel possible by request (latest su included)
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Kexec hardboot supported
Presets supported in Boeffla-Config by kernel (Extreme power, power, normal, battery friendly and battery saving)
Google gcc 4.8 toolchain used for best stability
Always using latest Initramfs
Always based on latest OnePlus One kernel sources
Note: I do NOT upstream the kernel to higher Linux kernel versions anymore as this usually has zero benefit but likely introduces new issues + is a waste of effort in the end
Download
For all information and downloads (stable AND testing versions), visit the Boeffla-Kernel homepage:
www.boeffla.de
History and design targets
Basically I created my first Boeffla-Kernel in 2012 as there was no kernel for the Samsung Galaxy S3 around that had exactly the mix of functionalities that I wanted. I wanted to have full flexibility in undervolting and charge rates for instance, but did not like the sharpness and/or brightness tweaks many kernels have implemented as per default.
Hence, I began to create my own kernel after a while, adding all the features I like. This is the result of my work, which in the end I decided to share with you. I hope you like it as much as I do.
The objective of this kernel is to have a kernel for daily use. It does not aim for best battery life, or best smoothness or best benchmark scores. Also it does not aim to have the broadest feature set available everywhere.
It aims more for a good mix of all, not sacrificing stability and functionality in the end.
And - most important: It aims to stay quite close to stock !!!
These design targets are also valid for the OnePlus kernel here!!!
This said, I will definitely NEVER implement:
things I do personally not need
things I do not like
things that are in any way dangerous
anything which is highly experimental
custom hotplugging algorithms
a CAF based kernel
anything that requires upstreaming of kernel parts to a higher kernel major version
So do not even ask for it if it falls into the listed categories. Everything else I am happy to check and decide.
And: I do not really care about benchmark numbers, they say almost nothing as long as something is not completely wrong. Important for me is the feel-good factor.
I am also not interested in gaming at all, so never expect a gamer kernel. It will just not happen...
Compatibility
To reiterate it again: Flash the correct kernel depending on whether you are on stock cm11s or genuine cm11 !!!
Configuration of the kernel
To tweak and configure the kernel, manually load and install the app "Boeffla-Config V2" from the downloads section on www.boeffla.de.
You need at least version 2.1.48 or higher for the OnePlus One Boeffla Kernels.
Donation
If you like my work, feel free to donate: Donation-Link
If you donate at least 2,49 EUR (to be in line with the donation app prices on Google Play store), you will receive a personal donation code which unlocks some nice little comfort functions in Boeffla-Config V2 on top.
Source code
All sources can be found in my Github repository: http://github.com/andip71
Credits to developers
Of course, I had never been able to create all that by my own. So I want to give credits to the really good developers around, that have given me all the inspiration and from which I cherry picked lots of the implemented functionalities:
* ZaneZam
* Yank555
* Hardcore
* Chainfire
* AndreiLux
* Netarchy
* Gokhanmoral
* Simone201
* Mialwe
* Entropy512
* Faux
* Harunjo
* FranciscoFranco
* Ak
... I just hope I did not forget someone. If so, please let me know and I will add you of course.
Thanks to all of you for your great work !!!
Disclaimer
*** As always - Flash on our own risk! ***
Make sure you flash the correct version depending on your firmware version!
I can and will not take any responsibility for bricked phones or lost data.
It is generally recommended to run a complete Nandroid backup in your custom recovery and safely store your personal data before you flash a new kernel.
Cheers and enjoy
Andi
Latest change logs:
CM14.1
http://kernel.boeffla.de/bacon/boeffla-kernel-cm/cm14.0/changelog.htm
CM13
http://kernel.boeffla.de/bacon/boeffla-kernel-cm/cm13.0/changelog.htm
COS13.1
http://kernel.boeffla.de/bacon/boeffla-kernel-cms/cm13.1s1/changelog.htm
Configuration and profile thread
http://forum.xda-developers.com/oneplus-one/general/unofficial-boeffla-kernel-profile-t2998145
--- reserved 2 ---
Yes a new Kernel. Can never have too much Kernel love for the OPO. WIll check it out ASAP. Thank you sir!
Omgggg i loved your kernel from s3, can you port zzzmove?
Sent from a OnePlus One with Vanir ROM and AK
_Beni_ said:
Omgggg i loved your kernel from s3, can you port zzzmove?
Sent from a OnePlus One with Vanir ROM and AK
Click to expand...
Click to collapse
Hi,
oh yes, zzmoove is already in
Thanks to master @ZaneZam, who was working together with me in the past 2 weeks on that topic.
If you loved my kernel already on the S3, you will even love you have the same kind of "structure" around the kernel. Same config app, same comfort functions there etc etc.
So, ... enjoy
Andi
waaaaaa... my lord.... welcome .... missed u from S3....... so happy...
are we expecting eargasm again ???
Lol, how nice... many "old S3 chaps" here. Good to see you again guys
Andi
Lord Boeffla said:
Hi,
oh yes, zzmoove is already in
Thanks to master @ZaneZam, who was working together with me in the past 2 weeks on that topic.
If you loved my kernel already on the S3, you will even love you have the same kind of "structure" around the kernel. Same config app, same comfort functions there etc etc.
So, ... enjoy
Andi
Click to expand...
Click to collapse
Nice , are you going to port it to cm11?
Sent from a OnePlus One with Vanir ROM and AK
_Beni_ said:
Nice , are you going to port it to cm11?
Sent from a OnePlus One with Vanir ROM and AK
Click to expand...
Click to collapse
Not in my plans as I have only one device. So the same goes as long time ago for the S3 and n8000.
One device = only the "official" firmware. This is still my golden rule of thumb
If enough people help me to get a second device, it would change of course.
Andi
Lord Boeffla said:
Not in my plans as I have only one device. So the same goes as long time ago for the S3 and n8000.
One device = only the "official" firmware. This is still my golden rule of thumb
If enough people help me to get a second device, it would change of course.
Andi
Click to expand...
Click to collapse
I have invites, i can give you one if you want to buy a second device. Why you dont switch to other roms? You dont lose warranty
Sent from a OnePlus One with Vanir ROM and AK
welcome, it's nice to find you. now we will see some good!
_Beni_ said:
I have invites, i can give you one if you want to buy a second device. Why you dont switch to other roms? You dont lose warranty
Sent from a OnePlus One with Vanir ROM and AK
Click to expand...
Click to collapse
I know.
But I loose features, and like for a daily driver phone to stay on the official firmware the vendor provides. That is my concept for more than 3 years now and I was always good with it.
So, no intention to change.
The question from other side is (although it is OT): What does CM provide me which CM11s does not have?
I am not missing anything, thats my point
It is not about invites, but paying another 300 bucks is not possible for me this year anymore (spent around 15 k€ for relocations, my car got stolen in February and so on... was an expensive year for me).
Andi
Lord Boeffla said:
I know.
But I loose features, and like for a daily driver phone to stay on the official firmware the vendor provides. That is my concept for more than 3 years now and I was always good with it.
So, no intention to change.
The question from other side is (although it is OT): What does CM provide me which CM11s does not have?
I am not missing anything, thats my point
It is not about invites, but paying another 300 bucks is not possible for me this year anymore (spent around 15 k€ for relocations, my car got stolen in February and so on... was an expensive year for me).
Andi
Click to expand...
Click to collapse
damn... sorry to hear that..
reyscott1968 said:
damn... sorry to hear that..
Click to expand...
Click to collapse
Well, no worries.
Sometimes life is a b**tch
But all good now. Just not the money left for another OPO at the moment.
Especially as I still am not sure whether I should also get a Galaxy S5 on day.
Andi
Lord Boeffla said:
Well, no worries.
Sometimes life is a b**tch
But all good now. Just not the money left for another OPO at the moment.
Especially as I still am not sure whether I should also get a Galaxy S5 on day.
Andi
Click to expand...
Click to collapse
Lets leave samsung , they dont want good thirdparty developers.
Now downloading stock opo image, never used the orgininal cm11s . Everyfeature from s3 is also in Opo kernel?
Sent from a OnePlus One with Vanir ROM and AK
_Beni_ said:
Everyfeature from s3 is also in Opo kernel?
Sent from a OnePlus One with Vanir ROM and AK
Click to expand...
Click to collapse
No, of course not.
This is technically impossible. There are things in Samsung that do not exist on this hardware (e.g. big parts of boeffla-sound).
And vice versa.
And some are not needed as they are included here by default (e.g. touch wake etc).
If you look carefully at the feature list, you can spot the differences
Andi
Pretty sure you can get the kernel to work with AnyKernel, but of course, when you do this, YMMV. Since it's designed to work best with CM11s, it might perform worse on other ROMs (and then there comes the complaints, bugs, issues, etc.). Besides, I don't see any need for any other ROMs than CM11s. It gives you everything you need.
ive used that kernel until last week on my s3, it was by far the best.
(boeffla sound was great)
hoping for a cm11 version sooner or later for the 1+1 :victory:
I have used your kernel on my s3 for along time, it's awesome! Very happy to see your work on OPO.
Just ask one question, I'm using f2fs with ak kernel on my OPO now, so does this kernel support f2fs filesystem? Cuz i didn't find it on your feature list..
sorry for my english
Machinex
MarkOneHundred
Sheer will .
This is machinex.
This is machinex. I have been working on this kernel for over a year now, and am finally comfortable with its release to the public. This kernel builds on the great work of those who have made this device the powerhouse that it is. There are elements here that you have experienced on every GS4 kernel to date, as well as other devices.
The goal I had for this project was upstreaming/updating/experimentally upgrading as much as I possibly could. I have done so, and will continue to do so.
This kernel is ONLY for TW-based, 5.0.1 roms for the I9505!!! NO I WILL NOT DEVELOP FOR DEVICES I DO NOT OWN, SAVE YOUR BREATH!
OBLIGATORY DISCLAIMER:
THIS KERNEL COULD VERY WELL DESTROY YOUR PHONE, YOUR LIFE, YOUR MARRIAGE, Etc. YOU INSTALL AT YOUR OWN RISK!! XDA AND I ACCEPT NO LIABILITY FOR YOUR DECISION TO USE THIS KERNEL!!For noobs: assume that installing this kernel will cause your phone to grow arms and punch you in the face.
PLEASE READ AND UNDERSTAND THIS OP BEFORE LEAVING USELESS "IT DOESN'T WORK" COMMENTS!
Issues that aren't answered here will be dealt with on a case-by-case basis.
SEE POST #2 FOR UPDATES, CHANGELOGS, and FIXES
SEE POST #3 FOR BATTERY/PERFORMANCE INFO
SEE POST #4 FOR A SHORT SYNAPSE BRIEFING
LOGS OR IT DIDN'T HAPPEN! Context helps too. What were your Synapse Settings?
KNOWN ISSUES Wifi issue is fixed! After a fresh rom install, all you need to do is reboot and the appropriate files are created in /data enjoy! HOTSPOT IS FIXED!!!! Finally! I AM AWARE OF AND WORKING ON LOCKSCREEN PIN BUGS!!
FEATURES:
- Linux 3.4.113 + a LOT of upstreamed subsystem code.
- Automatic Busybox Installation, Version 1.25.1.
- Cpufreq core backported ENTIRELY from mainline 4.13. All Cores operate independantly. Their governors and tunables can all be different.
- Govorners: Due to a highly upstreamed cpufreq core api, not many custom governors for now except for Interactive, Intelliactive, and the *NEW* Schedutil governor, described in the documentation like so:
The "schedutil" governor aims at better integration with the Linux
kernel scheduler. Load estimation is achieved through the scheduler's
Per-Entity Load Tracking (PELT) mechanism, which also provides
information about the recent load [1]. This governor currently does
load based DVFS only for tasks managed by CFS. RT and DL scheduler tasks
are always run at the highest frequency. Unlike all the other
governors, the code is located under the kernel/sched/ directory.
Sysfs files:
* rate_limit_us:
This contains a value in microseconds. The governor waits for
rate_limit_us time before reevaluating the load again, after it has
evaluated the load once.
For a great, comprehensive blog regarding the specifics of each governor, as well as the settings found below, please check out the link I've referenced in post #3.
- HARDLIMIT and THERMAL: Incorporated Yank555's CPU Limiting solution, Hardlimit. ALL hardlimits, cpu boost limits, and thermal limits are now PER CORE. I have included it directly in the core cpufreq code, and it is the primary controller for THERMAL, INPUT BOOST and user controlled hardlimits. Thermal overrides both user-selected and input-boost limits, and you can monitor the limiting in real time. Also, the thermal driver now accounts for each core's temperature, and saves time/lock-contention by skipping core control if the temps are below the frequency limiting value.
-CPU HARDPLUG: A driver I built that hooks into the main cpu hotplug API and allows you to disable any core you want, configurable for screen on/off.
- Hotplugs: MX Hotplug, personally built from scratch and uses a real-time kthread for its calculation work. Intelliplug 15.8 (Personally Updated), Alucard Hotplug, MSM_sleeper, Lazyplug, Blu Plug, and Bricked hotplug.
Hotplug Notes: I changed the names of certain functions in the Alucard and MSM Sleeper hotplugs, so that their tunables could be streamlined in Synapse. Synapse is cleaner and simpler than ever, but if you use a third party app, Alucard and MSM Sleeper's max cores and max cores during suspend settings will not be tunable. So anyone who uses a third party app with this kernel let me know and I'll devise a workaround. Mpdecision removed entirely. The "mpdecision" in our sysfs is actually bricked hotplug.
-GPU:Machinactive, Interactive, Conservative, Ondemand, Performance and Powersave GPU Governors, GPU touchboost (fixed suspend issue), ability to lock the min/max freqs, and more!
-Updated version of fauxsound (5.4) (flar2, alesaiko, me). I limited the options in the code to the 4 controls that actually work for our device, and you'll notice a significant stability improvement. Slimbus:Golden-ratio-based operation is pristine. Sound quality is hardware-perfected. The version number is largely arbitrary and I increment when I make any significant improvements. NO MORE USERSPACE CALCULATIONS NEEDED!!!
-A gamot of colour, brightness, and panel options that I frankly didn't think would be feasible for our device, but it's working! MDNIE HIJACK selection, KCAL, and Cyanogen's generic PCC colour control are implemented in Synapse. Note that MDNIE/KCAL stuff is a battery thief, and I've not tested PCC colour control enough for power consumption to give you a definitive statement on it. Note: PCC values are from 1000 (safety limit) to 32768 (or a number close to that), meaning your tuning control is as FINELY GRAINED as possible for this device. I can't believe Synapse actually supports its ridiculous number of steps (and well, I might add). Faux's generic "colour control presets' are in there and they actually work! The stock colours much more vivid, and lower brightness settings benefit from them as I have modified top brightness to my liking.
-HBM:Qualcomm High Brightness Mode: unlocked! This can be controlled via a checkbox in Synapse, but you can also use flar2's HBM widget from the play store. I tried it before and HBM would flicker, but i pulled off a VERY hacky way of making it userspace controllable. Be careful! Though it doesn't seem to drain the battery or overheat the device, it's purely experimental and could cause Chuck Norris to come to your house and personally smash your phone. Now SEPARATE from autobrightness! "SCREEN FLICKER FIX" on PAGE 2
- Completely upstreamed and overhauled cpu, power, scheduling...you name it. Updated Powersuspend to the point where I had to rename it, because it is now closely integrated with the core suspend/power api. Introducing: Prometheus. The driver now calls suspend directly when you turn the screen off, unless a) music is playing, b) the phone is plugged in or c) you choose to disable the feature.
-All the TCPIP tweaks etc, updates to random/frandom, android-specific autogrouping, limited but significant LMK/OOM updates.
-BACKPORTED "codel" fair-queueing net-scheduler, for a faster/more consistent networking experience.
-persistent ram, kexec-support, fast-charge, etc. Drop Caches button in Synapse is useful.
-Utilizing Qualcomm's built-in QRNGD (qualcomm random number generator daemon) with randomness optimized in the kernel = entropy for days.
-BOOTLOADER: Officially only 5.0.1 Bootloaders are supported. Unofficially, someone tried it with a KK bootloader and it worked fine for him so what do I know?
-COMPLETE Synapse support. Download, update, AND install Busybox On Rails from the PlayStore before you install the kernel for best compatibility and support. UPDATE: FULL Busybox installation is now included in machinex installer script. If you have any issues, still feel free to install Busybox on Rails. Upon kernel installation, you'll find Synapse installed in your system apps. If you want to get rid of it, just remove it from /system/priv-app with your file manager.
-CPU and GPU VOLTAGE Control: Both in Synapse. I DO NOT SUPPORT ISSUES IF YOU CHANGE VOLTAGE. YOU ARE ON YOUR OWN.
MENTIONS:
To those listed here, I cannot express how grateful I am for your assistence, patience, and kindness towards me as I badgered you throughout my journey. Though saying "thank you" doesn't feel like enough, thank you all. If I missed someone here, please tell me.
Thankyou:
friedrich420
Slim80
Tkkg1994
flar2
osm0sis
alesaiko
HybridMax
Kushan
Alucard24
Ausdim
Ktoonsez
neobuddy89
javelinanddart
Andreilux
theHacker911
UpInTheAir
Pafcholini
Placiano
Dorimanx
faux123 (seriously like the godfather of s4 kernel hax)
jcadduono
FransiscoFranco
Cyanogen
Meticulus
Eliminator74
Matthew-333 (moonshine kernel)
klabit87
apbaxel
yank555
ion-storm
yseras
PDesireAudio
lsswizard
arter97
Grarek
mrg666
showp1984
gsstudios
Lord Boeffla (andip)
Chainfire
TeamTrickster
tommygreenus
Andycar (For being the best bloody coding buddy I could ask for)
The Machinex Testing Team! - AMAZING folks, just amazing.
My Awesome Testers from this thread.
Again, I'm sure there's tons more.
On to the fun part then
INSTALLATION INSTRUCTIONS:More importantly, the uninstallation instructions. The install pretty much takes care of itself.
There are two links below that you must download in order to safely have an install/uninstall solution for this kernel. The one labelled "machinex-MarkOneHundred.zip" is the kernel. UPDATE: Busybox On Rails isn't required anymore. The second zip is crucial for uninstalling, aptly named "machinex-uninstaller-Jan12.zip." When this kernel is installed (and everytime it boots), it will rename mpdecision, thermald, thermal-engine, and power.default.so with an appended "-bak" suffix, because they all interfere with the updated power/cpu code in the kernel. If you switch to a different kernel, I INSIST that you flash the uninstaller (or take a look at the scripts yourself and do the stuff manually). ATTENTION: SLIM80'S KERNEL CLEANING SCRIPT IS NO LONGER NECESSARY WHEN FLASHING THIS KERNEL!!!!!! I HAVE INTEGRATED MY OWN CLEANUP PROCESS IN THE INSTALLER!!!!!!!!!!
TLDR: NO NEED FOR BUSYBOX ON RAILS, flash zip. use uninstaller zip to uninstall.
DOWNLOADS:
!!!JANUARY 12, 2017:UPDATE!! NEW UNINSTALLER for EVERY VERSION!!!!
DO NOT MIRROR THESE ELSEWHERE. DO NOT INCLUDE THEM IN YOUR ROM WITHOUT ASKING MY PERMISSION FIRST. I AM HAPPY TO COLLABORATE, NOT TO BE ON THE RECEIVING END OF BUG REPORTS CAUSED BY THIRD PARTY DOWNLOADERS.
UNINSTALLER-JAN12: https://www.androidfilehost.com/?fid=385035244224412313
md5: 295ac70bbb17ad2e5dc59e4ca1288e79
MarkOneHundred
INSTALLER: https://www.androidfilehost.com/?fid=745849072291685412
md5: 03af9cfc399d3eda3141254291668563
SOURCE: https://www.github.com/robcore/machinex
(be gentle on my ridiculous commit history, my git skills are shoddy at best).
So keep in mind this a development thread, blah blah blah, but if we all have good discussions (let's TRY to keep it on topic), I'm more than happy to have some fellow nerd friends to talk about my passion with. Heck, I want to use this thread as a chance to meet some other developers who wanna work on stuff together, exchange ideas, learn, and teach me how to get better at git.
Enjoy!
XDA:DevDB Information
Machinex, Kernel for the Samsung Galaxy S4
Contributors
robcore
Source Code: https://www.github.com/robcore/machinex
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: MarkOneHundred
Stable Release Date: 2017-10-31
Created 2016-09-05
Last Updated 2017-10-31
Reserved
UPDATES NOTICE:
Reset your fuelguage (in Synapse) after every install! WIping your cache and dalvik-cache can be helpful for stubborn apps, as well as wiping the cache of any specific app giving you trouble!
-------------------------------------------------------------------------
UPDATES - MarkOneHundred - October 31, 2017
CHANGELOG:
- Updated memory management to roughly linux 4.4.
- Modified Cpufreq in various ways. Per-Cpu frequency touchboost, per-cpu thermal core tracking and limiting, and governors can now be changed if a cpu core is offline. The governor selected will be applied to the core once it comes back online.
- Implemented Omniboost, a generic touchboost interface that can be used for any driver, so long as driver has an external function that the booster can use.
- Built a new hotplug driver from scratch, mx_hotplug. The driver chooses to on/offline cores based on a combination of system load and current number of scheduler requests (and touch of course). What separates this hotplug driver from others is that it uses a real-time kthread in order to give it an "interactive" type calculation.
- Speaking of which, found and fixed the issues with google's most recent interactive governor, and have added it back. Due to it working perfectly now, I forward-ported Intelliactive as well.
- Updated Hardplug to be more efficient.
- Built a little userspace hotplug driver from scratch for those who just need manual core adjustments.
- Tons of other little fixes and updates, to the kernel itself and to Synapse. Please explore around Synapse for some of the updated features.
- Found and fixed any of the user reported bugs i could.
- Continued with the various core updates to 4.14.
- Updated to my own toolchain, 7.1.1 hardfloat, cortex-A15 optimized (it is similiar enough to krait to give us an edge).
- I will update this if i think of anything else.
Sticky: Kernel base is now pretty much somewhere between 3.16-3.18, however I will keep the versioning at 3.4 for certain functions that depend on kernel_version conditionals. Wifi hotspot disconnect issue still persists, but i'd like to think that one day it will be solved...
Can be found in MachineX Rom by the awesome @Andycar found here: https://forum.xda-developers.com/ga...m-machinex-debloated-nogapps-s6-apps-t3573009
See my poorly formatted wiki for older updates:
https://github.com/robcore/machinex/wiki
-----------------------------------------------------------------------
LOGS
In Synapse, under 'LOGS AND PROFILES,' you will find a button that says ALL LOGS. Please press this button IMMEDIATELY after a bug appears that you would like to report, or after a boot if you get a kernel panic (RR).
From now on, without these logs present, I am no longer able to respond to the issues brought up by users.
FIXES
The following fixes involve sqlite and the "Setting Storage" application, also known as Settings Provider, or "com.android.providers.settings package" You will be working with a file named settings.db, and the 'system' table within.
Synapse Cancelled Fix: Get rid of the init.d scripts that are conflicting with UCI service startup. Also check the SuperSU section below...
Sound Fix: Either don't use an audio mod, or don't use Faux Sound Engine. That's all she wrote.
ScreenFlickerFix: Using an SQLITE DB Editor of your choice (from playstore), navigate to the "system" table and change values for "dim_screen" and "intelligent_screen_mode" to 0. *UPDATE* NOW AVAILABLE IN SYNAPSE UNDER THE "EXTRAS TAB"
ChargingTweak: Same as above but change "adaptive_fast_charging" to 0. This is only IF you are having issues which kernel driver-level fast charge. *UPDATE* NOW AVAILABLE IN SYNAPSE UNDER THE "EXTRAS TAB"
MASSIVE THANKYOU to @Andycar for making the above two fixes possible via Synapse!
SuperSU: I'm seeing a lot of permisison errors. Make sure, when using custom roms and kernels, that SuperSU is set to be as permissive as possible so you don't get knox blocked. Here are the crucial settings:
- ENABLE SU during boot
- DISABLE (untick) Mount namespaces separation
- Install SuperSU into /system
- ENABLE Trust System User
- Though I know many have security issues with the idea of allowing apps by default, doing so will make your experience way faster and provide you with less interuptions. At the very least I would set allow by default for Synapse.
These SU settings are kinda par for the course when it comes to android modding.
build.prop: Here is a list of property removals/changes recommended for our device:
REMOVE(lines containing):
ANYTHING with "fps/FPS" in it.
persist.sys.NV_FPSLIMIT
persist.sys.NV_POWERMODE
persist.sys.NV_PROFVER
persist.sys.NV_STEREOCTR
persist.sys.NV_STEREOSEPCHG
persist.sys.NV_STEREOSEP
persist.af.resampler.quality
af.resample
persist.af.resample
ro.telephony.default_network
telephony.lteOnCdmaDevice
dalvik.vm.dexopt-flags
ro.media.enc.jpeg.quality
ro.media.enc.hprof.vid.fps
ro.ril.power_collapse
ro.ril.sensor.sleep.control
pm.sleep_mode
power.saving.mode
persist.cust.tel.eons
persist.sys.dalvik.hyperthreading
boot.fps
shutdown.fps
debug.egl.profiler
hw2d.force
hw3d.force
video.accelerate.hw
debug.mdpcomp.maxlayer
debug.egl.buffercount
debug.enabletr
ro.hwui.renderer.disable_opaque
persist.sys.media.use-awesome (this is default anyway, and is controlled via the nuplayer checkbox in developer settings, so it's unneccesary)
CHANGE:
persist.sys.storage_preload=0 to persist.sys.storage_preload=1
tunnel.decode=false to tunnel.decode=true
af.resampler.quality=4 (or anything else) to af.resampler.quality=255
ro.config.dha_ils_enable=false to ro.config.dha_ils_enable=true
#ro.config.dha_cached_max=4 (remove the #)
#ro.config.dha_empty_max=36 (remove the #)
#ro.config.dha_lmk_scale=0.594 (remove the #)
sys.config.samp_spcm_enable=false to sys.config.samp_spcm_enable=true
sys.config.spcm_preload_enable=false to sys.config.spcm_preload_enable=true
ro.security.mdpp.ux=Disabled to ro.security.mdpp.ux=Enabled
For those having gaming issues, try removing them if you have them or adding them if you don't:
debug.performance.tuning=1
persist.sys.ui.hw=1
This might solve some issues for some folks.
---------------------------------------------------------------------------
INSTALLATION NOTE: Your first boot will probably take longer than usual, because this kernel makes significant (but safe, and auto-backed-up) changes to your core operating system.
This kernel includes drivers that TW has been compatible with since JB (I checked),
but didn't update the kernel drivers for (the best example of this is Autosleep). That said, there are userspace controllers like thermald and mpdecision (a binary linked to kernel code)
that interfere with custom governors, hotplug drivers, etc, so I've made the decision to back them up in the kernel script, and have them disabled while using this kernel.
The UNINSTALLER restores everything to the state it was in before flashing machinex, which is why I so strongly emphasize its use.
PERFORMANCE AND POWER-SAVING
Regarding the age-old performance/battery-life settings questions floating around, I'm gonna go ahead and suggest the following website created by a very dedicated fella who started out with the exact line of questioning, and built a genius guide for users of custom kernels. Heck, it's useful for developers too.
His username here is @gsstudios and he is a recognized developer here on XDA. Deserves it too
http://androidmodguide.blogspot.ca/
and on XDA:
http://forum.xda-developers.com/general/general/ref-to-date-guide-cpu-governors-o-t3048957
I encourage you to rate that thread 5 stars, as it is the most comprehensive guide to kernel tunables you ever did see.
Note that I *probably* don't incorporate feature requests, as I have enough on my plate with bringing up the subsystems to a point where I can call this a stable release thread. Don't like it? YOU try backporting linux 3.9 scheduling code to a Samsung 3.4 base
On that note, if anyone here is savvy regarding kernel, C and (not "or") git development, I welcome coding partners because working with a team means better quality, better time management, and a better chance of incorporating fancy tweaks.
Cheers.
SYNAPSE:
Synapse has a default "warning" that comes up the first time you open it.
{
"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"
}
The initial warning is just a bug in the app because it's just been installed.
It's a design flaw in the app itself.
Synapse bases its stability check on whether the device is rebooted within 2 mins of being turned on.
Synapse does this on first boot for every single kernel that uses it,
because it has no previous internal boot settings to base its decision on,
and also because the app expects saved defaults when none have been established yet.
It is nothing to worry about.
Untick the option in settings called "stability check" going forward.
Breathe.
Does it work?
I'm on imperium kernel on Thor s7 rom, I was wondering if your kernel works with m919, tmo gs4, I was looking forward to trying out your rom.
Thank you
-jeff
Hey Jeff,
The answer is...maybe/probably. I know that's probably not what you want to hear, but let me explain.
My device is actually an i337m (which is why i included it in the thread title), but I've been using the international kernels and roms without *major* issues ever since I've owned it. This is built from international sources, and it is running well on Albe's awesome 9.0 rom, so I imagine it will perform well for the ported/upgraded roms for our phones.
So if you've been using the international roms/kernels without problems, I see no reason why this wouldn't work for you other than the bugs/current issues listed in the op.
Sent from my GT-I9505 using XDA Forums
Can you create kernel for cm 13?
Wysłane z mojego GT-I9505 przy użyciu Tapatalka
Welcome to s4 community Bro.
Congratulations . Downloading. ......
Sounds nice bro, good Job! Try this Kernel later as soon as possible on my GT-I9505 with THOR S7 v1.5!
Sent from my SM-G935F using XDA-Developers mobile app
r2089 said:
Can you create kernel for cm 13?
Wysłane z mojego GT-I9505 przy użyciu Tapatalka
Click to expand...
Click to collapse
Sorry man, but CM is not on my list of priorities.
NAROUTO said:
Welcome to s4 community Bro.
Congratulations . Downloading. ......
Click to expand...
Click to collapse
Thanks! Though I've been around here for a while
xell75 said:
Sounds nice bro, good Job! Try this Kernel later as soon as possible on my GT-I9505 with THOR S7 v1.5!
Sent from my SM-G935F using XDA-Developers mobile app
Click to expand...
Click to collapse
Thanks! I hope you enjoy!
Everyone who uses this, feel free to provide feedback to help me assess what's needed for MarkTwo!
@robcore.
Im gonna try this to imperium rom v15.
So what is the best settings for more battery life ?
Playing clash of clans a few times a day browsing tapatalk and using youtube all day.
I want my device to run cool. Lol
Update:
Got a random reboot from the first initial setup.
==========
Will let it run for a couple of days with the preset default settings.
I will use my old 2600mah for now and later on swap my 7500mah once i get some good battery stats.
droidblitz said:
@robcore.
Im gonna try this to imperium rom v15.
So what is the best settings for more battery life ?
Playing clash of clans a few times a day browsing tapatalk and using youtube all day.
I want my device to run cool. Lol
Update:
Got a random reboot from the first initial setup.
Click to expand...
Click to collapse
Msm sleeper is a pretty sold hotplug for battery. I've noticed power efficient workqueues tend to slow things down/eat battery. Honestly I would try out msm sleeper for battery savings. Just note that games+youtube by design will eat into battery life. I will add some more power conscious governors soon. Also the usual stuff, the power your screen brightness the better, and turning off vibration/haptic will help.
robcore said:
Everyone who uses this, feel free to provide feedback to help me assess what's needed for MarkTwo!
Click to expand...
Click to collapse
I'm using this Kernel now on my GT-I9505 with THOR S7 v1.5 and so far a stable Kernel for me, many settings and alot settings I had never seen before as I like, very good! Just one thing til yet, Trying to set "Hellsactive" as CPU governor causes a freeze and a full reboot. Otherwise Kernel seems stable, using "Stockdemand" CPU Governor now. Keep going your work!
Sent from my SM-G935F using XDA-Developers mobile app
xell75 said:
I'm using this Kernel now on my GT-I9505 with THOR S7 v1.5 and so far a stable Kernel for me, many settings and alot settings I had never seen before as I like, very good! Just one thing til yet, Trying to set "Hellsactive" as CPU governor causes a freeze and a full reboot. Otherwise Kernel seems stable, using "Stockdemand" CPU Governor now. Keep going your work!
Click to expand...
Click to collapse
You know what, the interactive-based governors gave me trouble for the longest time. But I have found the issues in a great patchset, and am working on a fix that should be ready in a couple of hours. Until then EVERYONE STICK TO ONDEMAND-BASED GOVS!!!!
droidblitz said:
@robcore.
Im gonna try this to imperium rom v15.
So what is the best settings for more battery life ?
Playing clash of clans a few times a day browsing tapatalk and using youtube all day.
I want my device to run cool. Lol
Update:
Got a random reboot from the first initial setup.
==========
Will let it run for a couple of days with the preset default settings.
I will use my old 2600mah for now and later on swap my 7500mah once i get some good battery stats.
Click to expand...
Click to collapse
I'm guessing interactive based gov? If so, see my post above, MarkTwo is coming tonight.
robcore said:
You know what, the interactive-based governors gave me trouble for the longest time. But I have found the issues in a great patchset, and am working on a fix that should be ready in a couple of hours. Until then EVERYONE STICK TO ONDEMAND-BASED GOVS!!!!
Click to expand...
Click to collapse
Nice mate that's ok, thanks for the information! I'm looking forward for your new version!
Sent from my SM-G935F using XDA-Developers mobile app
xell75 said:
Nice mate that's ok, thanks for the information! I'm looking forward for your new version!
Click to expand...
Click to collapse
Dude thank YOU. I can't tell you how much I appreciate you and the others for testing this out and helping me iron out the remaining bugs, and being so understanding that "interactive based govs are broken" which is super embarrassing. Lol.
droidblitz said:
@robcore.
Im gonna try this to imperium rom v15.
So what is the best settings for more battery life ?
Playing clash of clans a few times a day browsing tapatalk and using youtube all day.
I want my device to run cool. Lol
Update:
Got a random reboot from the first initial setup.
==========
Will let it run for a couple of days with the preset default settings.
I will use my old 2600mah for now and later on swap my 7500mah once i get some good battery stats.
Click to expand...
Click to collapse
Update: simple gpu gov is snappy at stock settings and sooooo much better for battery consumption.
Also if memory serves me correctly, aren't you a cm kinda guy ; )
robcore said:
I'm guessing interactive based gov? If so, see my post above, MarkTwo is coming tonight.
Click to expand...
Click to collapse
Nope havent touched anything
There was a failed message when i booted the synapse app.
Something link kernel image failed but not sure should have taken a screencapture and the log.
Either way its working now.
robcore said:
Update: simple gpu gov is snappy at stock settings and sooooo much better for battery consumption.
Also if memory serves me correctly, aren't you a cm kinda guy ; )
Click to expand...
Click to collapse
More into like AOSP rom but had to use Tw for camera/video
I just noticed something.
My display colors somewhat changed? I think in a good way. Lol
simple gpu gov in marktwo?
droidblitz said:
Nope havent touched anything
There was a failed message when i booted the synapse app.
Something link kernel image failed but not sure should have taken a screencapture and the log.
Either way its working now.
More into like AOSP rom but had to use Tw for camera/video
I just noticed something.
My display colors somewhat changed? I think in a good way. Lol
simple gpu gov in marktwo?
Click to expand...
Click to collapse
Well it's great to see you here man! Lol with screen colour I made some fixes and changes to sammy's mdnie code. Upon checking the code against their roms, it turns out they've never bothered to fix discrepancies between the values in settings and the driver itself! "Standard" and "dynamic" have been switched this whole time. Also "auto" has been a placebo all along, they have had the backend in place all along but never initialized it in the list of available screen modes. On that note, for even cooler stuff check out the "video_mode" scenario in synapse. It's AWFUL for battery life, but sharpens everything to a crisp. I'm pretty sure kcal helped with color too(?).
As for simple gpu gov, works just fine on MarkOne! Franco's simplification to it made it a freakin' powerhouse while being better for battery somehow.
Building MarkTwo as we speak, then I'll test it and it's out! I'm working on the gov settings in synapse while building too. The tunable settings are ticking me off.
I want to know how to disable CPU cores to save power. It was possible on my nexus 5. but on my nexus 6p and now on my htc 10, I'm not sure if it's possible. I read that it's would need a kernel rewrite or something along those lines.
So does anyone know how to do this? I'm running latest LeeDroid ROM if that helps. thanks :good:
That's what I also wanted to know about the 10.
I had the mind before and there I could run with only one core, if not needed the other three cores. But if I needed power, the 4 cores are running.
It would be great, if there is an option in kernel settings to run all the cores only if they are really needed.
So the 10 is only a battery eater... Especially with sense roms I don't come through the day without charging.
On CM 14 or AOSP the battery is much more better, but with better core management it would be famous.
anyone got any info on this?
less cores doesn't mean better battery life, look at u11, "octa-core" and getting better battery life than 10 and anything else. it's een like if you have less cores, the cores which are online have to do all the work and might end up with locked max freq which will result in heat and more drain. so just keep the core control like it is and maybe just underclock
drago10029 said:
I want to know how to disable CPU cores to save power. It was possible on my nexus 5. but on my nexus 6p and now on my htc 10, I'm not sure if it's possible. I read that it's would need a kernel rewrite or something along those lines.
So does anyone know how to do this? I'm running latest LeeDroid ROM if that helps. thanks :good:
Click to expand...
Click to collapse
It is possible to disable cores with the custom kernel, and I believe force them to remain off at boot, but the HTC 10 uses a big/little cluster CPU setup and disabling cores isn't how you want to conserve power in my humble opinion.
The HTC 10 and some other modern devices uses BIG.little core ARM processor technology.
So the hardware and software is optimized to use all the cores to chase the best battery life and performance. I'm guessing that unless it's very specific usage scenarios, if you manage to force disable the cores with a custom kernel, you'll see both performance and battery life drop.
I would highly recommend installing a custom kernel, and tweaking the kernel settings while letting the hardware make full use of the BIG.little cluster system for efficiency. For high performance, I'd recommend one of the sense based kernel's that uses the HTC PnP Manager system. Something like Flar's ElementalX or TBalden's cleanslate kernel.
For battery efficiency, since you're really wanting to customize things for the best efficiency and battery life, try out the Helix kernel, by zeroinfinity. It's using a technology to optimize control of the processor based on "EAS" technology. EAS stands for "Energy Aware Scheduling" and zeroinfinity has written his "Helix Engine" to control the power profiles and thus power consumption of different apps, and you can customize the profiles to put any other apps you have in the profiles you want them.
This was a very basic and non technical summary, you can find tons of info on the kernels in the OP of each kernel thread. I would recommend making a backup with TWRP and trying both ElementalX and Helix kernels and seeing what works best in your usage scenario, before you start trying to force disable cores.
Here's a quick article I found on google, I'm at work and only briefly skimmed it, so no promises it's any good, but you can google BIG.little procs on Android mobile devices to find more imformation. https://community.arm.com/processors/b/blog/posts/ten-things-to-know-about-big-little
CharliesTheMan said:
It is possible to disable cores with the custom kernel, and I believe force them to remain off at boot, but the HTC 10 uses a big/little cluster CPU setup and disabling cores isn't how you want to conserve power in my humble opinion.
The HTC 10 and some other modern devices uses BIG.little core ARM processor technology.
So the hardware and software is optimized to use all the cores to chase the best battery life and performance. I'm guessing that unless it's very specific usage scenarios, if you manage to force disable the cores with a custom kernel, you'll see both performance and battery life drop.
I would highly recommend installing a custom kernel, and tweaking the kernel settings while letting the hardware make full use of the BIG.little cluster system for efficiency. For high performance, I'd recommend one of the sense based kernel's that uses the HTC PnP Manager system. Something like Flar's ElementalX or TBalden's cleanslate kernel.
For battery efficiency, since you're really wanting to customize things for the best efficiency and battery life, try out the Helix kernel, by zeroinfinity. It's using a technology to optimize control of the processor based on "EAS" technology. EAS stands for "Energy Aware Scheduling" and zeroinfinity has written his "Helix Engine" to control the power profiles and thus power consumption of different apps, and you can customize the profiles to put any other apps you have in the profiles you want them.
This was a very basic and non technical summary, you can find tons of info on the kernels in the OP of each kernel thread. I would recommend making a backup with TWRP and trying both ElementalX and Helix kernels and seeing what works best in your usage scenario, before you start trying to force disable cores.
Here's a quick article I found on google, I'm at work and only briefly skimmed it, so no promises it's any good, but you can google BIG.little procs on Android mobile devices to find more imformation. https://community.arm.com/processors/b/blog/posts/ten-things-to-know-about-big-little
Click to expand...
Click to collapse
was a good read, thanks! based on the quote from below from that website sounds like the little cores can drive the most battery savings the most .... which is my goal.
The LITTLE cores can be implemented to target lower leakage and a more moderate performance point, independently from the physical implementation of the big cores that are often tuned for higher frequency.
Click to expand...
Click to collapse
and seeing that you were a tester for helix htc 10 kernel, is it designed to with stock based ROM or just any magisk based ROMs? I did see that ASOP is not supported.
drago10029 said:
was a good read, thanks! based on the quote from below from that website sounds like the little cores can drive the most battery savings the most .... which is my goal.
and seeing that you were a tester for helix htc 10 kernel, is it designed to with stock based ROM or just any magisk based ROMs? I did see that ASOP is not supported.
Click to expand...
Click to collapse
Stock based sense roms. I just use it with regular rooted builds of leedroid or viper. It works with magisk and has been built to be fully compatible, however I use it for my normal modded system rooted sense based rom with supersu. I don't use or set up magisk, I'm still kind of old school.
But if you were to use magisk, @ZeroInfinity is running magisk as his daily since the last several builds, and I don't believe it's got any bugs or anything that doesn't work in the magisk build. One of the other team members @p50kombi knows a lot about magisk if you need to know anything further, I just have very limited magisk knowledge I'm general.
Sent from my HTC 10 using Tapatalk
CharliesTheMan said:
Stock based sense roms. I just use it with regular rooted builds of leedroid or viper. It works with magisk and has been built to be fully compatible, however I use it for my normal modded system rooted sense based rom with supersu. I don't use or set up magisk, I'm still kind of old school.
But if you were to use magisk, @ZeroInfinity is running magisk as his daily since the last several builds, and I don't believe it's got any bugs or anything that doesn't work in the magisk build. One of the other team members @p50kombi knows a lot about magisk if you need to know anything further, I just have very limited magisk knowledge I'm general.
Sent from my HTC 10 using Tapatalk
Click to expand...
Click to collapse
magisk version works same as the version which writes to system
CharliesTheMan said:
Stock based sense roms. I just use it with regular rooted builds of leedroid or viper. It works with magisk and has been built to be fully compatible, however I use it for my normal modded system rooted sense based rom with supersu. I don't use or set up magisk, I'm still kind of old school.
But if you were to use magisk, @ZeroInfinity is running magisk as his daily since the last several builds, and I don't believe it's got any bugs or anything that doesn't work in the magisk build. One of the other team members @p50kombi knows a lot about magisk if you need to know anything further, I just have very limited magisk knowledge I'm general.
Sent from my HTC 10 using Tapatalk
Click to expand...
Click to collapse
Great I also use supersu not magisk, probably same old school thing...also too tough getting things to play nice with magisk IMO. So for supersu do i just install v012 r1 systemless kernel and it should just work w/ leedoird? did you notice any functions on lee droid not working?
also do you underclock? recommend any kernel managers?
drago10029 said:
Great I also use supersu not magisk, probably same old school thing...also too tough getting things to play nice with magisk IMO. So for supersu do i just install v012 r1 systemless kernel and it should just work w/ leedoird? did you notice any functions on lee droid not working?
also do you underclock? recommend any kernel managers?
Click to expand...
Click to collapse
It's version 17, you'll download it from this post https://forum.xda-developers.com/showpost.php?p=73068312&postcount=1216 , sorry that link you had shouldn't be there, but systemless is the magisk version but now there's only one version, and the Aroma installer will let you choose the normal non-magisk version.
In the installer, there's a question that asks about installing custom scripts, I use the @ZeroInfinity script, the one from @roger81 and @TotallyAnxious are good too so you can't really go wrong, but I recommend starting with zero's, and you can reflash to experiment once you get going good with it. Rogers is great for battery life but his is a little more custom and extreme, which is why I'd start.
I use EXKM kernel manager, but I really recommend not changing many settings at first. Definitely leave the governor default with this kernel. I would run it like it comes out of the box, and see how your apps and battery life goes, and if you have apps causing a lot of drainage, maybe add them to the helix engine profiles before you start changing clock speeds.
You'll notice with EXKM the core frequencies reported in real time will look different from how it looks with a stock based kernel, but don't let that scare you.
My only other recommendation is if you use any other power saving apps like greenify or doze (I don't use any of them personally but some do) I would first get used to the kernel without them, so you kind of have a better idea of baseline.
CharliesTheMan said:
It's version 17, you'll download it from this post https://forum.xda-developers.com/showpost.php?p=73068312&postcount=1216 , sorry that link you had shouldn't be there, but systemless is the magisk version but now there's only one version, and the Aroma installer will let you choose the normal non-magisk version.
In the installer, there's a question that asks about installing custom scripts, I use the @ZeroInfinity script, the one from @roger81 and @TotallyAnxious are good too so you can't really go wrong, but I recommend starting with zero's, and you can reflash to experiment once you get going good with it. Rogers is great for battery life but his is a little more custom and extreme, which is why I'd start.
I use EXKM kernel manager, but I really recommend not changing many settings at first. Definitely leave the governor default with this kernel. I would run it like it comes out of the box, and see how your apps and battery life goes, and if you have apps causing a lot of drainage, maybe add them to the helix engine profiles before you start changing clock speeds.
You'll notice with EXKM the core frequencies reported in real time will look different from how it looks with a stock based kernel, but don't let that scare you.
My only other recommendation is if you use any other power saving apps like greenify or doze (I don't use any of them personally but some do) I would first get used to the kernel without them, so you kind of have a better idea of baseline.
Click to expand...
Click to collapse
Bonus points for being the least confusing AROMA installer I have used! and I used zero's as well. thanks for all your help! and one last thing.. isn't doze built into android nougat? or am I highly misinformed.
drago10029 said:
Bonus points for being the least confusing AROMA installer I have used! and I used zero's as well. thanks for all your help! and one last thing.. isn't doze built into android nougat? or am I highly misinformed.
Click to expand...
Click to collapse
It is you're correct, but there's a lot of "super doze" and dozingest doze around" sort of mods and tweaks people use, it's the extra modified stuff I would avoid for now, until baseline is established. However once you get things ironed out, @RogerF81 (if I spelled that Right) has tons of good info on further tweaking. He once tweaked his battery life to something like 7 or 8 hours screen on time with the Helix EAS kernel. That's just showing off.
Glad you like the Aroma installer, it nearly killed the poor dev trying to get it set up when he first started implementing it, he still probably throws keyboards if I ask for a black theme lol.
Sent from my HTC 10 using Tapatalk
Thermals, Kernel Managers and their affect on short and long term battery life.
As requested, by fellow LePro 3 owners, I created this thread for a discussion on the benefits of thermal management, using manual thermal settings, and sharing flashable thermals and user settings. To be clear I am not yet an expert on this subject, so I am learning along with everyone else. But, why not share the experience?
Of course we want our phones to last, while also pushing them to their limits, but in a safe and efficient manner. Recently our developers have shared their ideas on thermal management, and they have been gracious enough to allow us access to their own settings, that can be used across multiple builds. See the link below to download the first set of flashable thermal management options.
Recently, some of us have encountered shutdown issues, with some roms having battery stats reporting issues, unexpected shutdowns, and unrelated unrelated lockscreen issues. We users have found that often these troubled builds can be fixed by flashing a fix. Such as the thermals from a previous or other builds that did not have the same issue. Fortunately, it appears that we can use alternate perf and thermal management files that have not only offered a quick fix for some of these current issues, but also offers a longterm solution for using old, new, and future roms builds...collectively. :good:
The plan is to make this discussion much more extensive and simple
So consider this initial post to be an ever changing rough draft.
The end goal is to make it much easier for people to access and share their thermal management files or settings in one easily found central location, and hopefully for everyone to share their suggestions along the way
Helpful to Gamers who want safe power and speed.
Helpful to Non-Gamer's who want simply want stable performance, long battery life
Help everyone by helping us learn to optimize our phones to last for the longterm.
For me, no more repeating the same stuff over and over on various Rom threads, or private messages. No more having trouble digging through threads to find a recommended thermal or setting. So please participate, we can keep the OP updated whenever anything new comes along. Should I get access to something new I will add it to the Megadrive and make a post
Inventory
So far we have the thermals from Lineage, AEX, Balkan, AICP, EUI and in my view one the best is the latest by Jabashque. The idea of this post is to share the thermal settings so that they can be used on whichever ROM you want to try out.
Finally, you do not necessarily need to use these thermals unless you have an issue with general usage, heat or battery life. However, you will immediately notice the benefits.
Edit ( Updated Info)
Regarding kernels: Personally, I use BlackScreen 6.3, it has a long list of governors and I like options.
Currently the best thermal option is the Jabashque edit ( Thermal Fix 7 ) Get it Here: https://forum.xda-developers.com/showpost.php?p=78717015&postcount=18
These thermals work!
Over the past 2 weeks, I have gone back and tried several old ROMs, and these thermal and profiles make those old Roms perform so much better! For example, the September 3rd JMXL version of DotOS.: Yes, Its outstanding with the Sergey thermal. BootLegger's is also much improved, and it was already pretty great as it was. The Miui ROMs, are significantly improved by far! etc.
Of course we have so many great Roms. Occasionally, we get a build that is experimental and it may have unexpected issues. We have seen over the past week that flashing an alternate thermal is a perfect way to save the installation without having to revert to an earlier build. I mentioned old Roms above, they also work on every single Pie Rom.
Here is My Mega Drive Link for all of Thermals that I have collected so far
https://mega.nz/#F!9EokAQTb!Au6cBnJaCJXZrUlaXSLjhg
Alternate Link with key
Link: https://mega.nz/#F!9EokAQTb
Key: Au6cBnJaCJXZrUlaXSLjhg
Jabasque's thermals are in the Jabashque folder. Version 1 and 2 :
Probably shouldn't result in any difference if not gaming.
"Most likely, it would only be noticeable if you're not throttled down to 1440/1900MHz and you're running something that's using 100% cpu" ( Jabashque)
What to use
If you are wanting long battery life and low temperatures use Sergey's thermal or JaBashque version 1
If you want stock EUI faster throttling but slightly higher temps use the ShivateJappedi EUI thermal.
If you want to leave your cores unchanged from the default setting with higher temp throttling, more full power access and yet still safe while use JaBashque 6 Its a rework of the EUI 30s thermals designed to work better on modern Pie Roms : See more information here: https://review.lineageos.org/c/LineageOS/android_device_leeco_zl1/+/238809
Soon, I will create a post in the reserved section below to deeply define the details and differences between these thermals. Because while they all have similarities, they are also very different from one another.
In addition, I plan to add various kernel manager settings for various uses : Gaming, Long Life etc.
Finally, even when moving to another Rom. kernel manager programs such as Ex Kernel Manager will allow you to import and use saved profiles. It seems that it is possible to save the best of each of these thermals by saving the profiles of each. We can share those settings! Then later you can manually choose within your kernel manager which settings you want to use by simply importing choosing a preferred profile.
I hope this clears up the confusion. As mentioned this is a work in progress that was requested by 3 people. This is just the beginning of this discussion that will help everyone understand how to use Kernel Managers and the add-on thermals patches. I need to do some further research to make it all worthwhile . For example, although I love the elementalX governor, I haven't researched it enough to explain why I think it's better. So I plan to find out specifically what it's actually doing vs what other governors do, and how does changing sample rates, and wake locks affect performance and battery life etc.
If there are any experts out there? Please chime in and contribute.
See Updated information from Jabashque, which explains the differences between patch 1 and patch 2
https://forum.xda-developers.com/showpost.php?p=78670166&postcount=2
Installation
Dirty flash the patch that you want to use..thats it.
If you want to try a different patch, dirty flash the Rom, reflash Magisk and dirty flash the patch
You can manually adjust settings by going to /vendor/etc/thermal-engine.conf
Update from JaBashque Edit April 21 2019: ( I use ThermalFix7, its my personal favorite/ it is the best and the safest period.)
@tsongming
Hey, after seeing your thread about thermals, I felt I should write an explanation about how my v1 and v2 differ from stock EUI thermals that you could add to that forum post, since the one you have on there was me describing the difference between v1 and v2, not stock EUI: "JaBashque"
There are two different set of sensors that the original config monitors for the CPU:
the CPU temp sensors (tsens_tz_sensor{4,6,9,11}) and xo_therm_buf. The CPU temp sensors measure the temps of the cores themselves. xo_therm_buf measures what seems to be some sort of overall temperature, though I'm not sure what in particular. However, xo_therm_buf does correlate more directly with how hot your phone feels.
Original:
thermal-engine rapidly throttles your CPU down to 902MHz on the little cores and 825MHz on the big cores when any one of the cores hits 95C, and stops only when the hottest core drops back to 65C. When xo_therm_buf gets to 43C, thermal-engine slowly throttles all your cores to 902MHZ little and 825MHz big until xo_therm_buf drops back to 40C.
Patchset 1:
thermal-engine rapidly throttles your CPU down to 902MHz on the little cores and 825MHz on the big cores when any one of the cores hits 85C, and stops only when the hottest core drops back to 65C. When xo_therm_buf gets to 37C, thermal-engine throttles all your cores to 1440MHZ little and 1900MHz big until xo_therm_buf drops back to 34C. When xo_therm_buf gets to 43C, thermal-engine throttles all your cores to 1132MHZ little and 1363MHz big until xo_therm_buf drops back to 40C. When xo_therm_buf gets to 50C, thermal-engine throttles all your cores to 979MHZ little and 1132MHz big until xo_therm_buf drops back to 43C.
Patchset 2:
thermal-engine throttles your CPU down to 1516MHz on the little cores and 2054MHz on the big cores when any one of the cores hits 95C, and stops only when the hottest core drops back to 65C.
This change was made because I realized that the previous version still had a situation where the CPU performance can tank unpredictably. xo_therm_buf-related CPU throttling is same as Patchset 1.
Thanks to JaBashque for sharing his work! Patch-set 2 is my personal preference. Although the Sergey Perf + Combo is also very good.
@tsongming
Thank you very much for listen us and always give your help.
Rigth now I am on BaikalOS 28th December 2018, if I want to flash any Profile of those, what I should to do (Clean flash? This first, later that etc... and Wich of them I should ti flash for best battery, I do not play on movil)
I am very curious for test this...
I have x722, I do not play. I am now on aex 5.7 oreo. The most depends on the battery, so which zip to flash ? This is a great topic.
kukuteku said:
@tsongming
Thank you very much for listen us and always give your help.
Rigth now I am on BaikalOS 28th December 2018, if I want to flash any Profile of those, what I should to do (Clean flash? This first, later that etc... and Wich of them I should ti flash for best battery, I do not play on movil)
I am very curious for test this...
Click to expand...
Click to collapse
You can dirty flash these thermals.
Personally I like Sergey and Jabashque version 2 the best so far on Pie roms.
The Shivate patch works really well on Marshmallow, Nougat and Oreo.
The Sergey patch works really well on Oreo and Pie, I haven't tried it on Nougat Roms yet.
You can manually adjust settings by going to /vendor/etc/thermal-engine.conf and In this same folder ( vendor/etc) you can also make audio changes, and I am not talking about policies and Tasha.xml files, although you would make changes to those files too, if wanted. This will be something that we can discuss in more detail soon.
gsiwy said:
I have x722, I do not play. I am now on aex 5.7 oreo. The most depends on the battery, so which zip to flash ? This is a great topic.
Click to expand...
Click to collapse
Either the Sergey or the JaBashque 2 with be perfect, depending on what you want.
Use Sergey if your goal is battery saving.
Use JaBashque 2 if you want better gaming performance.
@tsongming thank you for this useful thread. I just have one question. I noticed that sergey's thermal file you uploaded comes also with perf so do you know is it maybe EUI perf and if not is it possible to upload just sergey's thermal without perf? Thanks.
I'm using aex 6.2 and i play a lot of games, but i looking for something that gives the power to run the games and after that (of course after some time without using the cellphone to cooldown) use the phone without worry of him overheat with simple use like 39 or 37 ºC. Do you have something like that?
I have a x722
MnMchill said:
@tsongming thank you for this useful thread. I just have one question. I noticed that sergey's thermal file you uploaded comes also with perf so do you know is it maybe EUI perf and if not is it possible to upload just sergey's thermal without perf? Thanks.
Click to expand...
Click to collapse
Sure, I can extract the perf, I will do that and add it to a separate folder so that there are two options.
Edit: Here is the Sergey thermal only
I removed the perf and added the additional key edit options from the Jabashque patch. So this a combo patch.
Use at your own risk
However, I have tested this and it works fine. I wanted to give the caveat that I am a Noob at this! But its okay. FYI: all I did was remove the perf, so now the perf will come from the rom and I added the Moshe key feature, which some Roms such as AICP includes anyway.
https://mega.nz/#F!ZVpXBQjC!PpXn1ZtLEHJb72Gbw7nWqg
Heitor Lima said:
I'm using aex 6.2 and i play a lot of games, but i looking for something that gives the power to run the games and after that (of course after some time without using the cellphone to cooldown) use the phone without worry of him overheat with simple use like 39 or 37 ºC. Do you have something like that?
I have a x722
Click to expand...
Click to collapse
Use the Jabashque 2
See updated in depth info from JaBashque : here: https://forum.xda-developers.com/showpost.php?p=78670166&postcount=2
So, thank you for your work!!One question,i am at the last AICP Pie,do you believe is better to flash one of these or stay with the settings of AICP?
Thanks in advance!
Don't work
I used to play pubg and the big stay on 1,4 ghz and little on 1,0 ghz
tsongming said:
Sure, I can extract the perf, I will do that and add it to a separate folder so that there are two options.
Edit: Here is the Sergey thermal only
I removed the perf and added the additional key edit options from the Jabashque patch. So this a combo patch.
Use at your own risk
However, I have tested this and it works fine. I wanted to give the caveat that I am a Noob at this! But its okay. FYI: all I did was remove the perf, so now the perf will come from the rom and I added the Moshe key feature, which some Roms such as AICP includes anyway.
https://mega.nz/#F!ZVpXBQjC!PpXn1ZtLEHJb72Gbw7nWqg
Click to expand...
Click to collapse
Works good, thanks.
geo307cc said:
So, thank you for your work!!One question,i am at the last AICP Pie,do you believe is better to flash one of these or stay with the settings of AICP?
Thanks in advance!
Click to expand...
Click to collapse
If you are not having any issues, then don't install any of these.
However, if you want to try it, keep a record of your existing performance, battery life, heat levels for battery and CPU (when idle) and compare that against using these thermals.
If you flash one of these thermals and don't like it. You can quickly return to your previous settings by dirty flashing your rom, or by restoring the system part of a nandroid backup.
Heitor Lima said:
I used to play pubg and the big stay on 1,4 ghz and little on 1,0 ghz
Click to expand...
Click to collapse
So which one of the 5 thermals did you try? Some of them include perf
Understand that you still have to setup your kernel manager. If you are wanting to use it for Gaming use the JaBashque version 2 to and leave the cores on the highest setting.
Yes, it works. It works for me a and a lot of other people on Telegram
If you want low temperatures and long battery life underclock the cores at idle my battery hovers around 85 F and the CPU are around 100-105F
Just so you know you can access your thermal.conf file and edit it manually to increase your thermal limit in /vendor/etc/thermal-engine.conf
Next, save a copy of your existing current setup as a profile, so you can easy switch from one to another with ease and easily compare it to the changes of using an alternative file. You can tweak it to the settings that you are wanting...Just keep safety in mind or you could burn up your CPU.
UpDate!
@jabashque has spent time recently improving his thermals further, and released several new versions .
The latest and greatest is now version 6!
Get it here: https://mega.nz/#!pFoSRaQA!R068WV-YltbQAFzuc3aH72z_OPyrN2uBjgsux2h0dNY
If you like it, please thank him!
Anyone who is using the last build of Jabashque 6 . It has a small error with he tthermal.
Flash this zip file from my Mega drive.
https://mega.nz/#!UZwhAQwY!GDUYQX2Ewcj92jjhs2t-oYnVcUKSbu9WfaOyAJjaKzs
The file adds a GPU setting to the Thermal
Repair by Jabashque: https://mega.nz/#!UZwhAQwY!GDUYQX2Ewcj92jjhs2t-oYnVcUKSbu9WfaOyAJjaKzs
Reference : https://review.lineageos.org/c/LineageOS/android_device_leeco_zl1/+/239612
I want to install Bootleggers os 8.1 on x722 and I have a question: after installing romu and gapps and initial configuration I can flash BS5.1-r3 AND thermal.zip a magisk mantle? will thermal.zip not interfere with BS? Thank you.
gsiwy said:
I want to install Bootleggers os 8.1 on x722 and I have a question: after installing romu and gapps and initial configuration I can flash BS5.1-r3 AND thermal.zip a magisk mantle? will thermal.zip not interfere with BS? Thank you.
Click to expand...
Click to collapse
Sorry I haven't been on XDA much recently, and never received the notification.
If you use Bootleggers, the stock kernel is fine. But blackScreen 6.3 will work fine and it gives you more options. You flash the thermal at anytime. I recommend the Thermal-fix7 which is Jabashque 6 that I edited to fix a typo. No there is no conflict