Boeffla Configuration: Make Oxygen Fly - OnePlus X General

I figured I'd share my post with you guys here on XDA. My original post can be found on the OnePlus Forums.
Thanks to @Lord Boeffla OnePlus X users finally have the Boeffla kernel. This kernel brings several features which can aid in improving the fluidity and battery life of Oxygen. Hopefully someday we'll see his work with CM 13. That aside, let's get to my configurations
1. Governor/IO
I decided to use zzmoove alongside it's optimal profile. It provides smooth scaling between frequencies while maintaining great battery life. It also seems to fix performance in games. It should be noted though that Lord Boeffla did warn me against stability issues. I don't have any but it's something to keep in mind.
In place of ROW I switched over to FIOPS for the general performance benefits.
Everything else was left alone.
2. CPU
I increased the frequency to 2572mhz and applied an undervolt. I will not post undervolt settings. Every device is different and that's something you need to take into your own hands. Just because it works for me doesn't mean it'll work for you.
I did change the hotplug to zzmoove native default.
Everything else was untouched.
3. GPU
I just lowered the minimum frequency to 27mhz.
4. Boeffla Sound
I just enabled it. That's it. If anyone wants to share their configuration I'll upload it to this post.
5. Display + LED
Am I the only person that finds the display a little warm? I set red to 248 and green to 250.
Nothing else was changed
6. Miscellaneous 1
I enabled Boeffla system tweaks
Notice: if it wasn't mentioned I never changed it. This was done with the Boeffla app. Here's a link to the original thread:
http://forum.xda-developers.com/one...ernel-boeffla-kernel-4-0-beta1-18-02-t3317638
Flash Procedure:
Find your device and download the kernel here:
http://www.boeffla-kernel.de/
Alternative (Uber/Linaro):
http://boeffla.df-kunde.de/zanezam/linaro/oneplusx/oos2xx/test/
How does Uber compare to other tool chains?:
https://plus.google.com/ ChetKener/posts/YzMJEkzPQgp
Download the stock ROM here:
http://downloads.oneplus.net/
Download any third party tweaks such as Xposed that you use
Launch TWRP
Tap wipe, advanced wipe, and select everything except for internal storage.
Flash the ROM and then the kernel.
Reboot.
TWRP can be found here:
https://twrp.me/devices/oneplusx.html
Instructions to unlock the bootloader can be found here:
http://devs-lab.com/2015/11/how-to-root-oneplus-x.html
Disclaimer:
I'm not responsible if you void you're warranty, kittens fly out your ***, or phone explodes in your pocket in an attempt to boil water
02/28/16: Antutu results are no longer applicable. They are scattered all over the place. Some tests, I get 71k, others 44k. The kernel isn't at fault as all other benchmarks report consistent results. Geekbench seems to provide the most accurate representation at the moment so I'll keep it updated. As for Antutu, I will no longer update the scores until they change their entire algorithm.

General Recommendations
1. Don't enable multicore power saving as it's unpredictable in terms of stability and doesn't really aid battery life. I'd get locked cores and random reboots with it on.
2. Be cautious when undervolting and over clocking. Settings that may work for others, may not work for you. Every processor is binned differently.
3. Do not flash this over Blu Spark or any other kernel. Flash the ROM and then the kernel. Dependencies for each kernel differ.
4. Do not seek me expecting a fix or patch for any issues that you may have. This doesn't mean spam the author with requests either. I will try to help to the best of my abilities, but there may be an issue I can't remedy.

Profile Downloads
Attached you'll find my custom profile. Simply take it and copy it to the folder boeffla-kernel-data and then open the Boeffla Oxonfiguration app. Tap on Default and then load. My profile should show up as Swell.bcprofile.
https://drive.google.com/file/d/0B7CLqaEGT92AWWl3NFFybUt6X00/view?usp=docslist_
Refer to my disclaimer above please. My settings may not work for you.

Related

[GUIDE] Tips for Getting the Most from Your Custom Kernel

These tips are based in my study and experience of using different programs and techniques to get solid and stable performance from custom kernels. It's a long read, but a good read if you really want to minimize heat and maximize performance. This information works on any custom kernel that can be used with Synapse. This guide is aimed at beginner and intermediate users who are interested in custom kernel settings but don't know where to start. These are the most commonly optimized settings on Android.
***DVFS Rule #2 is exclusive to Samsung devices (so if you don't have a Samsung device don't use it!)***
Rule 1: What works for some won't work for others - This has always been the most important rule of custom kernels. One person using Barry Allen governor, overclocked to 3.07 GHz, and not using intelliplug will never hit 70C while your phone using those same settings might immediately cause the phone to reboot. All synapse changes made to a device must be tested by you to ensure compatibility for your hardware. Some of you may be curious, if this is the case, why Google would have everyone use the interactive governor by default? I would respond to you that they originally assigned everyone to OnDemand while they worked to make a better and more compatible Interactive governor. But as you know there are a LOT of governors out there and knowing what is best for your device is to read and to test it. The good news is that once you find something that works well you can stick with it as long as you own the device.
Rule 2: DVFS (Dynamic Voltage and Frequency Scaling) Disabler - This is mentioned in a few threads, but requires a repeat. Samsung uses DVFS to contol your CPU frequencies and voltage levels. This isn't an issue when you're running a stock kernel because it works in conjunction with MP-Decision to decide on the proper frequency level. When you're running emotion kernel you don't want DVFS to control anything. You want it to let Faux's Intellithermal work together with the kernel routines to shut down cores it doesn't need.
R2 Part 1: If your phone is running hot: Install Xposed, download Wanam Xposed (enable the module), Open Wanam, click "Advanced" menu, Uncheck "Enable TouchWiz DVFS" and reboot.
R2 Part 2: Following the reboot open Synapse, scroll over to CPU Drivers scroll down and put a checkbox in "Enable Intelli-hotplug", leave the rest alone, and click the check mark at the top of the screen to save changes. Scroll over one more screen to "Thermal" and put a check in the box, "Enable or Disable Intelli Thermal Control" and leave the settings below as they are unless you know what you are doing.
Note: The phone will be still be warm for awhile, but if you give the phone a break and allow the heat to dissipate it should run cooler and more consistently with the added bonus of shutting down 3 out of the 4 cores unlike MP-Decision which always leaves 2 cores live. After doing this if you are noticing performance loss or stuttering it's time to find a new governor that makes the most of these settings. Which leads me to Rule 3....
Rule 3: Choosing a new governor - This part is going to require some reading on your part, but I can assure you that it is worth your time. This guide http://forum.xda-developers.com/general/general/ref-to-date-guide-cpu-governors-o-t3048957 by @gsstudios is OUTSTANDING (please thank him while you are there) and carries a LOT of information about the governors and other performance informations. So find something you like from the guide descriptions to try out and leave it in place for 24 hours or more as long as you aren't experiencing excessive lag or reboots. If it performs well under normal usage the next step is to watch battery life. There won't be a single governor that does everything perfectly, but finding something that fits your needs is key. And it's OKAY if you decide to stick with Interactive, it is a very well made governor and many are based off of that design, but I equate it to finding a good pair of shoes. Lots of things will protect your feet from the ground, but shoes that you enjoy and work well make all the difference in the world.
NOTE: You can use Antutu for stability testing but do not pick a new governor and then run benchmarks and expect top score unless you chose the performance governor. Antutu specifically maxes out your device voltage and frequency to see what the device can handle which is not what intelliplug is for. If you are following this guide benchmarks are the least of your concerns.
Rule 4: Don't forget your Scheduler - Believe it or not, everything runs off of your phone storage. So using an optimized scheduler for you device could make great strides in battery and performance improvements. Unlike choosing a governor, you can absolutely benchmark your flash memory to find out which scheduler works best for you. I only use one and I am going to shamelessly plug it here: I use Android Tuner to benchmark my flash speed with different schedulers and it works great for me. How it works:
Note:To help with choosing where to start with schedulers you can use the guide I linked to above which will give you an idea of what to use. That guide has an exceptional amount of information about how these types of schedulers work and what you should use for getting what you want from your phone. What follows is my advice for testing benchmark write performance and those steps are completely optional, but it never hurts to see how your device does with your chosen scheduler.
R4 Part 1: Launch Android Tuner, from the main menu accept root, acknowledge that root is powerful, scroll all the way to the far left screen, choose "SD Card Read Speed", click "Benchmark in the center, and then notice at the top you have /storage/emulated/0 which is your faster internal memory (which you should optimize first) and then /storage/ExtSdCard which you can benchmark second.
R4 Part 2: When you are ready to benchmark choose your "I/O Scheduler" from the drop down menu and click "Run". Your results will be listed with the fastest read-ahead size on the left and the speed at which it read on the right. Higher = Better -- Then you would choose the other test size (10MB in my case) and you see which readahead value is the fastest for those files. If you manage to get a readahead that the 100MB and 10MB test highest values are the same, then you've won the lottery. Since that is almost impossible try to remember what your top 5 fastest are and choose the one that performs well in both tests. If you want to keep testing and check other schedulers for raw read speed just switch them at the top and re-run both tests.
After you've found which scheduler gives you the performance you want, go back to Synapse, scroll to "I/O" tab, and adjust pick your scheduler and readahead value, and finally click the check mark to apply it.
Rule 5: Undervolting (IMO) does more harm than good - I'll let you Google it but it follows the rule of diminishing returns. You might be running Synapse and are able to undervolt 75mV and still cruise through menus and apps like it's no problem. But I promise you at some point the CPU is going to call for that voltage you starved it of and it will reboot. It's not a matter of if it will happen, but when it will happen. This comes down to your personal silicon and I do not recommend undervolting at all. Other more advanced users may disagree with me, but for the average user there are better ways to save battery and negate heat than starving your CPU and GPU at a kernel level. Especially with DVFS disabled.
And that's all I have for you. These tips work for any custom kernel that uses Synapse to manage their settings. I've personally test my setup with Emotion and the kernel we are not to speak of on XDA. If you like the idea of getting the most out of your device then a custom kernel might be for you, but it requires a lot of patience. If you just need something that works I definitely recommend the stock kernel because they really did a good job with the Lollipop release of our kernel.
I hope this helps some of you and I hope that everyone can take something away from this guide. Feel free to let me know if this helped you in some way or if you need some guidance on the topic. I'll do my best to backup my claims with proper research and documentation.
Thanks
Google - For research help and a great phone OS
Linux - The foundation of this OS
gsstudios - For his outstanding guide and work on researching this information (Definitely hit 'Thanks' on his post)
Note 4 ROM and Kernel Devs - we are very lucky to have a lot of great devs for our device; their work is appreciated and gives me something to write about
XDA and their members - where I've learned most everything about one of my favorite operating systems

Phone slow after root

I rooted and am running tek s ROM. The phone has been super laggy and slow since I flashed that ROM. Any advice.
Have you switched the governor to interactive or on-demand? That's the most important piece. The below link has a bunch of tips (universal to qualcomm/US S7 and S7e) to improve performance.
http://forum.xda-developers.com/ver...-to-notes-root-install-xposed-unroot-t3411039
pitbullmommy45245 said:
I rooted and am running tek s ROM. The phone has been super laggy and slow since I flashed that ROM. Any advice.
Click to expand...
Click to collapse
Check the thread under Guides about common problems and fixes.
I did but I didn't see a fix for this. I did what another member told me to do and it worked.
pitbullmommy45245 said:
I did but I didn't see a fix for this. I did what another member told me to do and it worked.
Click to expand...
Click to collapse
Bug #1: Phone is laggy after rooting the phone/Battery is down the tank.
Fix: The phone is (partially) lagging because the ENG bootloader automatically sets the CPU governor to "Performance." While this is supposed to lock the CPU frequency at the maximum values, it does cause a lot of heat and possibly throttling. Additionally, the max core clocks are set to 1.593Ghz instead of their actual maximums. Not every CPU Tuner will allow you to set the big cores separately, so look around for one that does if you don't want to use Kernel Toolkit.
First, use Flashify to flash one of two zips provided by psouza4 on our sister Verizon Galaxy S7 (Edge) threads.
1. Kernel fixes & tweaks V15
2. Kernel fixes, tweaks, & Debloater
You need only flash one of these two zips. One additionally debloats the system, one does not. Choose whichever suits your needs.
What the zips do:
CLICK TO SHOW CONTENT
Next, install a CPU Tuner utility like Kernel Toolkit, then change the governor from "Performance" to "Interactive." Also change the max CPU frequency of the little cores to 1.593Ghz and the big cores to 2.150Ghz while you're at it. Leave the cores at their default minimum frequency. This will go a long way to improving the speed of the phone. Also make sure you that have the new settings to apply on boot. Every kernel manager should have this option somewhere.
Note: Although the max frequency in the settings screen will drop to some number, as long as you can see the CPU ramp up to the new settings in the information screen, then everything is fine. You can test the max frequency by turning the screen off and then back on.
Then, install sEFix and set entropy to "Ultra."
Lastly, install L Speed and:
Code:
-Main Tweaks: Turn on
-Battery Improvement
-OOM Killer
-Kernel Tweaks - "Light"
-CPU Tuner: Turn on
-CPU Optimizer
-LNET Optimizer: Turn on
-Google DNS
-Faster Streaming
-Faster Dormancy
-IO Tweaks: Turn on
-IO Boost
-Partition Remount
-RAM Manager
-Balanced
-Seeder
-Moderate
Literally the first bug and fix on the guide.

Newbie questions: S5 after S3, CM13, does zRam make sense for maximum battery life?

Hello guys, I would love your opinions on this.
After 3 years I am putting my S3 to sleep and got myself a nice, barely used S5. Installed TWRP, put on the latest CM13 nightly, runs so smooth its "like a brand new phone", haha, I am truly impressed. I do not use boeffla kernel, because I do not like the display color changes I see with the kernel. Probably a configuration thing but I am unexperienced with display configuration yet.
My questions: what kernel can you guys recommend? I only know boeffla from my S3 times. I would like to have custom sound & display color options, as well as the usual (CPU voltage & clock, governor, scheduler etc.). Is there something out there that you guys know?
Also - with kernelauditor I see that zRam/swap is enabled on CM13. This reduces battery life since memory contents have to be de-/compressed. I would like to disable zRam. With kernelauditor I can put the swap disk size to 0 but I would prefer a cleaner way to just disable zRam alltogether. Is there a possibility you guys know about?
I would love to read what you experienced S5 users can tell me about all of this. Thank you a lot in advance!
Hi,
There are currently 2 options you can go with:
1. Boeffla kernel
2. CrazySuperKernel
I've only used Boeffla kernel and it contains everything that you have listed as a requirement. As far as I'm concerned. I haven't seen any display color changes from using the kernel (display settings untouched).
As for ZRAM, a way you could disable ZRAM altogether is using a init.d script which will apply everytime on boot (you may have to look for this yourself). The method you used would be enough to disable ZRAM from running (you could also change swappiness to 0).
Edit: To answer to question in the OP title, disable ZRAM would save battery life as you have said, but heavy multitasking will suffer which will degrade performance.
Saber
Thanks for your reply!

[Kernel][3.0.101] Chrono Kernel Refresh R4.6.2

Custom kernel for Samsung Galaxy S Advance
Code:
/*
* Your (probably expired) warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this kernel
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
​Hi there!
Because of numerous issues found in 3.4.113 kernel, I'm temporarily moving to development on 3.0.101 base.
What is difference between chrono kernel (CK) and CK refresh build? CK was mostly tested on MM-based ROMs, but appeared not to work stably on Android 4.4.x. Aim of this build is to properly enable support for older ROMs (like kitkat), and when done, merge these changes to 3.4.113 kernel.
This build is based upon chrono kernel r4.1 build, so to avoid versions confusion, I'm creating a separate topic.
Features:
CPU, GPU and DDR OC support
more governors and I/O schedulers
Lite kernel - some kernel features moved as modules
F2FS support
ABB-charger tweaks
many others features and tweaks...
Credits:
@dh.harald and @hafidzduddin for contribution on U8500 platform sources
@ Team Canjica for a base for this kernel
@ Nova Fusion for F2FS implementation
@zwliew for contribution on TC kernel
@cocafe for LiveOPP, GPU OC, abbamp and abb-charger tweaks and many cool patches which I've used from his kernel
@faux123 for dynamic Fsync implementation
@Christopher83 for dynamic management of dirty page writebacks implementation
@KINGbabasula for contribution on TC kernel sources
@boype for SIOPlus tweaks and OndemandPlus governor
@Adi_Pat for abbamp, kernel tweaks
@PolishVodka for initramfs scripts for 4.2.x and 5.0.x
@Rox for help in fixing initramfs scripts for 4.1.2
@ace2nutzer for optimization CPU OC and for whatever scripts which I have used in my kernel
@Meticulus for BLN, Sweep2wake and Doubletap2wake
@mkaluza for huge LiveOPP/Mali improvements and Dynamic governor
@yanpol199 for help with F2FS support in TWRP
@ all users who tests this kernel and directs the development along the right path
@ all those users, who I forgot to mention (PM me if so)
Team Win for TWRP recovery
Samsung for opening kernel source
Linus Torvalds for Linux sources
Special Thanks:
@isaak, @enkflr, @Pdevo, @prometej-zg for donating this phone!
[*]@S.AMU for providing FTP-Server
Source Code:
LK 3.0.y based releases
Installation:
Flash temporary kernel (if coming from other recoveries than TWRP 3.1.1)
Reboot recovery
Flash kernel zip
Notice: this kernel is not compatible with NovathorSettings app, be sure to remove it before installing a kernel!
Download:
FTP
XDA:DevDB Information
Chrono Kernel Refresh, Kernel for the Samsung Galaxy S Advance I9070
Contributors
ChronoMonochrome, cocafe, faux123, zwliew, mkaluza, Meticulus, KINGbabasula, ace2nutzer, TeamCanjica
Source Code: https://github.com/ChronoMonochrome/Chrono_Kernel-1/commits/refresh-3.0.101
Kernel Special Features:
Version Information
Status: Testing
Stable Release Date: 1974-11-11
Beta Release Date: 1974-11-11
Created 2018-03-22
Last Updated 2018-03-23
Changelogs
Changelog
R4.6.2
rebased to CM14.1 branch (added support for 6.0.1 and 7.1.2 ROMs)
R4.6.1
fixed CPU OC instabilities
LCDCLK is adjusted to fix tearing issues *
adjusted Dynamic CPU governor tunables for a better battery live
adjusted PowerHAL profiles **
genfstab: storages swap is disabled by default (remove /ramdisk/fstab_specs.txt before flashing to take this change in an effect)
updated temporary kernel zip
* tested with apps like Impossible Game, a display tearings are mostly resolved here. Apps like Youtube, though, might still causing tearings when playing video.
** the minimum CPU freq is set to 400 MHz. I've decided to use it as a default since 200 and 400 MHz CPUfreq steps are anyway using the same voltage, so unless you're undervolting the CPU, there won't be any significant difference in a battery drain.
R4.6
updated to r4.6 LowMemoryKiller implementation - best so far!
Disabled HighMem
removed some CPUfreq steps *
Dynamic governor: parameters are tuned for the better performance (credits: @ace2nutzer)
Added performance profiles (the corresponding parameters can be found in /ramdisk/perf.profiles.rc)
Other updates from r4.6 (various updates from LK 3.4, tweaks etc)
* Avalable CPU frequency steps are: 200, 800, 1000, 1100, 1200, 1215 Mhz. I've decided just to give it a try - this is a necessary part of tuning the CPU governor. If anyone doesn't like that frequencies between 200 and 800 MHz were removed I can add them back, but until performance-related issues are not resolved I'd suggest just leave as it is.
R4.1
Initial build for janice (kernel sources based on Chrono Kernel r4.1)
LiveOPP: updated to r5.7.1 kernel version
Exfat: test fixes for Stock 4.1.2 ROM (not tested)
Enabled CONFIG_STE_TRACE_MODEM (test fix for Stock ROM incoming / outgoing calls)
Kexec: added janice support
Misc
Storages switch
By default, this kernel comes with internal and external storages switched. You can revert this behavior, by changing the line
Code:
use_swap=1
to
Code:
use_swap=0
in file /ramdisk/fstab_specs.txt and flashing the kernel package. This setting will remain until you format /ramdisk partition.
Thank you Chrono again.
So far I am still having issues with calls on 4.1.2 stock, I took another logcat in case would help you, and seems like phone can't enter deepsleep mode, but I will investigate further this issue with some days of usage.
I couldn't get exfat working, I took the exfat-fuse binary from /sbin in TWRP, then ran "exfat-fuse /dev/block/mmcblk1p1 /storage/extSdCard", tryed also with "mount.exfat-fuse etc etc", the fact is the card is correctly mounted and usable from recovery, but this does not matter after all.
The nice thing is I find multitasking working far better, phone seems to be more responsive in situations where more apps are running at the same time, this is very good to me!.
Another big point is installation went fine and recovery is working perfectly, so problems with possible bootloops are solved (and after some more usage I will go further to your more updated roms )
If there is something more to provide you, test or informations missing, please ask me Chrono
I tested chrono kernel r4.1 on Lineage OS 11.
-Compared to the previous chrono_kernel_r5.7.1, this is considerably slow, especially during the opening of apps like Settings, Contacts, Google News, Play store.
-If I set 1000 Mhz as maximum clock of the dynamic governor, the phone becomes slower and a bit hot on the back.
Multitasking is severely affected by that clock. Multitasking is more stable at 800 Mhz, despite it's still slow.
-If I reboot the phone, the maximum clock of 1000 Mhz is automatically resetted at 800 Mhz.
-If I attempt to reboot the phone in recovery mode from Lineage Os 11 ROM with the PC USB charging cable on, phone will shutdown instead. Disconnecting the charging cable before rebooting the phone in recovery mode is the only workaround. It doesn't happen with the Epirex Kernel, so I think it's related to your kernel.
In my attachment there is a meminfo that I took while the phone was under load.
If it isn't enough, I attached a full logcat. There are some errors and crashes.
@Pdevo, @isaak, thanks for testing!
I tested chrono kernel r4.1 on Lineage OS 11.
-Compared to the previous chrono_kernel_r5.7.1, this is considerably slow, especially during the opening of apps like Settings, Contacts, Google News, Play store.
Click to expand...
Click to collapse
Probably I've rushed things, or sort of. I had a hard time trying to find a considerably stable kernel 3.0.101 base (this one appeared to work stably, though not best, in terms of the performance). Nevertheless, the multitasking should already be better (at least better than in r5.7.1, as in this one LowMemoryKiller appeared not to work at all). I'm updating the sources to a new kernel base, r4.6 which should be even better in multitasking term.
-If I reboot the phone, the maximum clock of 1000 Mhz is automatically resetted at 800 Mhz.
Click to expand...
Click to collapse
Should be fixed in upcoming release.
-If I attempt to reboot the phone in recovery mode from Lineage Os 11 ROM with the PC USB charging cable on, phone will shutdown instead. Disconnecting the charging cable before rebooting the phone in recovery mode is the only workaround. It doesn't happen with the Epirex Kernel, so I think it's related to your kernel.
Click to expand...
Click to collapse
It's a bug in CM11 ramdisk, I've took another one from Codina, and now this issue should be resolved as well.
Pdevo said:
So far I am still having issues with calls on 4.1.2 stock, I took another logcat in case would help you, and seems like phone can't enter deepsleep mode, but I will investigate further this issue with some days of usage.
I couldn't get exfat working, I took the exfat-fuse binary from /sbin in TWRP, then ran "exfat-fuse /dev/block/mmcblk1p1 /storage/extSdCard", tryed also with "mount.exfat-fuse etc etc", the fact is the card is correctly mounted and usable from recovery, but this does not matter after all.
Click to expand...
Click to collapse
I'm afraid that exfat driver built in the kernel is not compatible with this userspace mount.exfat-fuse utility. I won't be able to fix it, until I find a time to return to stock & rebuild either mount.exfat-fuse or kernel driver in order to make them compatible each with other.
As for the deepsleep issue, I can say that at least 4.4.4 is not affected by this bug. Try making sure that no apps are preventing deep sleep (Better battery stats or Wakelock detector can help in that).
New build r4.6 is up!
Changelog
updated to r4.6 LowMemoryKiller implementation - best so far!
Disabled HighMem
removed some CPUfreq steps *
Dynamic governor: parameters are tuned for the better performance (credits: @ace2nutzer)
Added performance profiles (the corresponding parameters can be found in /ramdisk/perf.profiles.rc)
Other updates from r4.6 (various updates from LK 3.4, tweaks etc)
* Avalable CPU frequency steps are: 200, 800, 1000, 1100, 1200, 1215 Mhz. I've decided just to give it a try - this is a necessary part of tuning the CPU governor. If anyone doesn't like that frequencies between 200 and 800 MHz were removed I can add them back, but until performance-related issues are not resolved I'd suggest just leave as it is.
ChronoMonochrome said:
Changelog
updated to r4.6 LowMemoryKiller implementation - best so far!
Disabled HighMem
removed some CPUfreq steps *
Dynamic governor: parameters are tuned for the better performance (credits: @ace2nutzer)
Added performance profiles (the corresponding parameters can be found in /ramdisk/perf.profiles.rc)
Other updates from r4.6 (various updates from LK 3.4, tweaks etc)
* Avalable CPU frequency steps are: 200, 800, 1000, 1100, 1200, 1215 Mhz. I've decided just to give it a try - this is a necessary part of tuning the CPU governor. If anyone doesn't like that frequencies between 200 and 800 MHz were removed I can add them back, but until performance-related issues are not resolved I'd suggest just leave as it is.
Click to expand...
Click to collapse
Tested on Lineage Os 11 without CCleaner.
After flashing this new kernel I had to force a Media scan with Fx File Explorer (that detected over 300 changed files) because the phone was really slow. That was sufficient to speed up the multitasking that now it's much better than previous 4.1 build.
Additional observations:
- Do you think it's possible to improve Media scanner reactivity via kernel?
- Fx File Explorer detects my external sd card as Main storage and Media card as internal storage. This doesn't happen on Epirex kernel.
- Battery usage is higher than previous kernel. If I stay on a webpage in idle, after 30 seconds my battery decreases of one percentage point (i.e. from 70% to 69%). I noticed that a simple swipe on the screen jumps the current clock directly to the maximum frequency, this could be one of the reasons.
- There is only FIOPS as I/O Scheduler and I miss all the other schedulers.
I think you're on the right track!
isaak said:
- Do you think it's possible to improve Media scanner reactivity via kernel?
Click to expand...
Click to collapse
I don't think it's possible. The only possible way is to overclock CPU, though it won't help much.
- Fx File Explorer detects my external sd card as Main storage and Media card as internal storage. This doesn't happen on Epirex kernel.
Click to expand...
Click to collapse
This is a default behaviour in Chrono Kernel. Because on codina we have only 4 Gb of available space, it makes sense just to remove internal storage partition and use the external one as primary. If anyone wants, I can revert this behavior. It's possible to switch storages back by editing file /ramdisk/fstab_specs.txt (set use_swap value to 0) and flashing a kernel package.
- Battery usage is higher than previous kernel. If I stay on a webpage in idle, after 30 seconds my battery decreases of one percentage point (i.e. from 70% to 69%). I noticed that a simple swipe on the screen jumps the current clock directly to the maximum frequency, this could be one of the reasons.
Click to expand...
Click to collapse
Ok, I'll consider of tuning CPU governor in order to provide more battery friendly setup. I was afraid that the battery usage might be too high, but that was a necessary evil, I guess. In the meantime, as a temporary workaround, the maximum CPU frequency can even be lowered to 800 MHz, it should be still fast enough.
- There is only FIOPS as I/O Scheduler and I miss all the other schedulers.
I think you're on the right track!
Click to expand...
Click to collapse
To load more I/O schedulers, you can copy (or symlink) a module file to /system/lib/modules/autoload, then reboot the phone. This doesn't seem to work, a script that loads modules, is broken.
Because usually I don't change I/O scheduler, by default, no more I/O scheds are loaded. Do you have any preferred I/O scheds?
ChronoMonochrome said:
I don't think it's possible. The only possible way is to overclock CPU, though it won't help much.
Click to expand...
Click to collapse
Nevermind.
ChronoMonochrome said:
This is a default behaviour in Chrono Kernel. Because on codina we have only 4 Gb of available space, it makes sense just to remove internal storage partition and use the external one as primary. If anyone wants, I can revert this behavior. It's possible to switch storages back by editing file /ramdisk/fstab_specs.txt (set use_swap value to 0) and flashing a kernel package.
Click to expand...
Click to collapse
I'd like to revert the behavior, so I would appreciate If you could provide the same instructions here and in the other kernel thread..
ChronoMonochrome said:
To load more I/O schedulers, you can copy (or symlink) a module file to /system/lib/modules/autoload, then reboot the phone. This doesn't seem to work, a script that loads modules, is broken.
Because usually I don't change I/O scheduler, by default, no more I/O scheds are loaded. Do you have any preferred I/O scheds?
Click to expand...
Click to collapse
I would suggest deadline, noop, sioplus, zen (plus the existent FIOPS).
ChronoMonochrome said:
This is a default behaviour in Chrono Kernel. Because on codina we have only 4 Gb of available space, it makes sense just to remove internal storage partition and use the external one as primary. If anyone wants, I can revert this behavior. It's possible to switch storages back by editing file /ramdisk/fstab_specs.txt (set use_swap value to 0) and flashing a kernel package.
To load more I/O schedulers, you can copy (or symlink) a module file to /system/lib/modules/autoload, then reboot the phone. This doesn't seem to work, a script that loads modules, is broken.
Because usually I don't change I/O scheduler, by default, no more I/O scheds are loaded. Do you have any preferred I/O scheds?
Click to expand...
Click to collapse
Personally I really appreciate and find useful the external sdcard storage as primary one, should be the default behaviour for me, it makes sense and also I never liked to have some files on one unit and some files on another one (download, pictures, recordings on extsdcard, apps folders, screens, other apps downloads etc on internal), I really like the idea of sdcard as main, like the old times of galaxy mini
Fiops to me is a fair good scheduler, maybe also noop would be useful, but I guess having as much things as modules as possible can help load only the strictly necessary, but I say this without dev knowledge.
I will test this build and especially the deepsleep issues, to see if there are apps causing phone not to sleep, the problem is I didn't add any app, just using the same enviroment that with cocore was going to deepsleep. I will report soon, anyway, good job chrono, keep it up
Pdevo said:
Fiops to me is a fair good scheduler, maybe also noop would be useful, but I guess having as much things as modules as possible can help load only the strictly necessary, but I say this without dev knowledge.
Click to expand...
Click to collapse
Yes, FIOPS is good. I just think that having 2 or 3 additional schedulers to select would be better for different uses.
In my previous post I replaced sioplus with zen, according to the conclusions of this guide. There is an useful (up to date) list of recommended IO schedulers, ordered for everyday usage, battery life, heavy multitasking, etc.
New build r4.6.1 is up!
Hey guys and sorry for having to wait that long for a new releases!
I'm still working on 3.4.x kernel - no great news here, but at least I've found a more less stable sources base, so the only what needed now, is a time to bring up some stability fixes and feature changes.
For now releasing a 3.0.101 kernel with some minor changes:
R4.6.1
fixed CPU OC instabilities
LCDCLK is adjusted to fix tearing issues *
adjusted Dynamic CPU governor tunables for a better battery live
adjusted PowerHAL profiles **
genfstab: storages swap is disabled by default (remove /ramdisk/fstab_specs.txt before flashing to take this change in an effect)
updated temporary kernel zip
* tested with apps like Impossible Game, a display tearings are mostly resolved here. Apps like Youtube, though, might still causing tearings when playing video.
** the minimum CPU freq is set to 400 MHz. I've decided to use it as a default since 200 and 400 MHz CPUfreq steps are anyway using the same voltage, so unless you're undervolting the CPU, there won't be any significant difference in a battery drain.
ChronoMonochrome said:
** the minimum CPU freq is set to 400 MHz. I've decided to use it as a default since 200 and 400 MHz CPUfreq steps are anyway using the same voltage
Click to expand...
Click to collapse
On Lineage OS 11:
Using more accurately the Performance function in Lineage Os Settings (an example here), there are different bugs:
1) Minimum CPU freq here is still set at 200 MHz after I flashed chrono kernel 4.6.1.. but this time I forgot to flash the temporary kernel before your kernel.
Anyway chrono kernel 4.6.1 was flashed without issue using TWRP 2.8.7.0.
2) Maximum CPU freq is automatically restored at 1000 Mhz after any reboot, even if I set 1200 Mhz (with any governor).
3) Deadline scheduler is automatically set after any reboot, even if I set FIOPS as default scheduler.
4) Dynamic governor is automatically set after any reboot, even if I set Zenx as default governor.
5) On the Performance UI, performance profile results automatically set on Balanced after any reboot, even if I set Power save as default (it may be reproducible with "Performance" option too, I didn't check).
UPDATE: I've reinstalled chrono kernel again and these behaviors still happen.
For me the minimum freq was correctly 400 mhz as expected, as always running on stock 4.1.2.
After two days of use I can say you are following the right path.
This time I wanted to remove every possible source of doubts and I went for a clean installation, so doing a complete reset and flashing your kernel, of course after the temporary one. I still have the phone not going to deepsleep and the call issues (basically it is impossible to do and receive phone calls on stock rom).
A part from these I can say I didn't noticed any other issue at all, finding memory management a little improved compared to previous release and battery life still good, considering the phone isn't going to sleep mode.
I think this will continue to improve and soon all these glitches will just be gone away, thank you so much chrono also hoping to settle for a bit on your ultimateROM, only waiting for the vibration working, because that is basically the only notification for me
isaak said:
On Lineage OS 11:
Using more accurately the Performance function in Lineage Os Settings (an example here), there are different bugs:
1) Minimum CPU freq here is still set at 200 MHz after I flashed chrono kernel 4.6.1.. but this time I forgot to flash the temporary kernel before your kernel.
Anyway chrono kernel 4.6.1 was flashed without issue using TWRP 2.8.7.0.
2) Maximum CPU freq is automatically restored at 1000 Mhz after any reboot, even if I set 1200 Mhz (with any governor).
3) Deadline scheduler is automatically set after any reboot, even if I set FIOPS as default scheduler.
4) Dynamic governor is automatically set after any reboot, even if I set Zenx as default governor.
5) On the Performance UI, performance profile results automatically set on Balanced after any reboot, even if I set Power save as default (it may be reproducible with "Performance" option too, I didn't check).
UPDATE: I've reinstalled chrono kernel again and these behaviors still happen.
Click to expand...
Click to collapse
1) Isn't an issue here, the showed CPU frequency is 200 MHz, but the actual CPU pll clock set at 400 MHz. Might be confusing, but yet that is better for a battery life.
2) These aren't really bugs, it's how LOS 11.0 performance profiles works. To change min / max CPU freq, you either need to edit /ramdisk/perf.profiles.rc (and set a custom values) or disable perf profiles. Actually there is one more way - to remove CPUfreq adjusting lines completely from that script - would anyone like this change introduced in a new release?
3-4) I've checked it right now - no issues for me... Have you set "apply on boot" checkbox?
5) It's a known bug of CM11 perf profiles. AFAIK, @ace2nutzer fixed this bug in his CM11 builds. @ace2nutzer, can you please remind how this could be worked around?
ChronoMonochrome said:
2) Maximum CPU freq is automatically restored at 1000 Mhz after any reboot, even if I set 1200 Mhz (with any governor).
Click to expand...
Click to collapse
2) These aren't really bugs, it's how LOS 11.0 performance profiles works. To change min / max CPU freq, you either need to edit /ramdisk/perf.profiles.rc (and set a custom values) or disable perf profiles. Actually there is one more way - to remove CPUfreq adjusting lines completely from that script - would anyone like this change introduced in a new release?
Click to expand...
Click to collapse
Honestly I don't know how to disable perf profiles. If it's a simple thing to do (like a command or two to execute), please tell me how to do it because it's enough for me, otherwise I'd like to try the third way and see.
ChronoMonochrome said:
3) Deadline scheduler is automatically set after any reboot, even if I set FIOPS as default scheduler.
4) Dynamic governor is automatically set after any reboot, even if I set Zenx as default governor.
Click to expand...
Click to collapse
3-4) I've checked it right now - no issues for me... Have you set "apply on boot" checkbox?
Click to expand...
Click to collapse
Yes, "Set on boot" options are correctly set for both Processor and I/O Scheduler.
And I keep "Enable per-app profiles" option turned off.
@ChronoMonochrome
UPDATE 1: It occurs only randomly and with particular combinations. The best way to reproduce is to set these, one at a time:
1) Zenx as governor, min. 200 max 800, Noops scheduler. Reboot.
2) Zenx as governor, min. 200 max 800, Fiops scheduler. Reboot.
2) Zenx as governor, min. 200 max 800, Sioplus scheduler. Reboot.
After the first, the second or the third reboot, some of these values you've set will change spontaneously on their own.
UPDATE 2: I've got a screen flicker issue while I was browsing in Naked Browser with the new LCDCLK frequency.
Tried to set echo 1 > /sys/kernel/mcde/lcdclk, it's ok now, but I've noticed that this value is not kept after a reboot.
Do you need a specific log?
In case please write me any command and I'll give you the output.
isaak said:
On Lineage OS 11:
Using more accurately the Performance function in Lineage Os Settings (an example here), there are different bugs: .....
Click to expand...
Click to collapse
I suggest to keep it unchecked, otherwise it'll change the profile randomly, and that's probably not what u want.
ChronoMonochrome said:
....
5) It's a known bug of CM11 perf profiles. AFAIK, @ace2nutzer fixed this bug in his CM11 builds. @ace2nutzer, can you please remind how this could be worked around?
Click to expand...
Click to collapse
There's still no fix ! But what i did is to add the perf. profile in my control app ... that works fully independently.
But that's probably not what u guys want.
My last try was to do that over build.prop .. this works only for around 15 seconds (after wiping dalvik cache it's around 30 sec.) and then it sets back to "balanced" .. so i use it anyway just for speeding up the boot sequence:
Code:
# CM Performance Profiles (only during boot)
# 0= powersave; 1= balanced; 2= performance - default
sys.perf.profile=2
IMO the best way is to add the perf. profiles button to the quick settings, then it's very easy to switch between the 3 profiles.
Using the same profile for everything is for sure not the best option if u want performance + powersave at the same time.
Personally i use performance, and when i read an pdf or watch a YouTube Video then i switch to powersave.
Using powersave or even balanced for normal usage isn't recommended as it can drain even more battery than using performance, because it's slower and the CPU will stay too long on max. freq and the LCD also will stay longer ON, which leads both to increase power consumption.
So the faster the cpu is, the quicker it'll go on idle (min cpu 200) which is powersaving freq and the faster u'll turn OFF the screen, and logical bigger time on suspend --> deep sleep :highfive:
ace2nutzer said:
I suggest to keep it unchecked, otherwise it'll change the profile randomly, and that's probably not what u want.
There's still no fix ! But what i did is to add the perf. profile in my control app ... that works fully independently.
But that's probably not what u guys want.
My last try was to do that over build.prop .. this works only for around 15 seconds (after wiping dalvik cache it's around 30 sec.) and then it sets back to "balanced" .. so i use it anyway just for speeding up the boot sequence:
Code:
# CM Performance Profiles (only during boot)
# 0= powersave; 1= balanced; 2= performance - default
sys.perf.profile=2
IMO the best way is to add the perf. profiles button to the quick settings, then it's very easy to switch between the 3 profiles.
Using the same profile for everything is for sure not the best option if u want performance + powersave at the same time.
Personally i use performance, and when i read an pdf or watch a YouTube Video then i switch to powersave.
Using powersave or even balanced for normal usage isn't recommended as it can drain even more battery than using performance, because it's slower and the CPU will stay too long on max. freq and the LCD also will stay longer ON, which leads both to increase power consumption.
So the faster the cpu is, the quicker it'll go on idle (min cpu 200) which is powersaving freq and the faster u'll turn OFF the screen, and logical bigger time on suspend --> deep sleep :highfive:
Click to expand...
Click to collapse
Sorry for so late response, I had to take a break in a development because suddenly got sick with a flu (I'm fine now, btw) :silly:
I think I've found a temporary solution to this bug, take a look if you're interested:
https://github.com/ChronoMonochrome...mmit/bd0dcce403633543f1bf11e5f8b476a3e88322cb
New build is up!
Changelog
R4.6.2
rebased to CM14.1 branch (added support for 6.0.1 and 7.1.2 ROMs) *
Hey there! I've been testing 6.0.1 / 7.1.2 ROMs and I've recently got some issues with camera on 3.4.x kernel build, so I've decided to release a new refresh build (based on 3.0.101 sources).
I've rebased the most of recent changes to CM14.1 branch in order to support these ROMs (so if you're using older ROMs like stock 4.1.2 then better to use previous release cause some patches might be missing here).

Help regarding Franco Kernel Manager?

Just downloaded the latest version of franco kernel manager 6.1. Im a total noob in terms of using this tool, so I've been looking for a guide or a tutorial that can assist in using it. Also what is the method of flashing the franco kernel from this tool? Where can I download the franco kernel.zip? I have been looking all over, cant seem to find it. Plz help
Im currently on RR Rom latest version 8.6.3. Im looking for a setting to enhance battery life and overall performance of the Phone.
rigerp said:
Just downloaded the latest version of franco kernel manager 6.1. Im a total noob in terms of using this tool, so I've been looking for a guide or a tutorial that can assist in using it. Also what is the method of flashing the franco kernel from this tool? Where can I download the franco kernel.zip? I have been looking all over, cant seem to find it. Plz help
Im currently on RR Rom latest version 8.6.3. Im looking for a setting to enhance battery life and overall performance of the Phone.
Click to expand...
Click to collapse
Hey there
What I did to get Franco kernel was flash it during my first time rooting (so it was a clean flash, as the phone had be factory reset). Once you're in TWRP, you flash Franco kernel and then magisk. This is one way to do it. I can't advise you to flash a new kernel without clean flash because I personally didn't do it and I don't know if issues will come from that. If you can do it, my personal advice is to just do a clean flash. You know the drill, wipe system data and that stuff > flash ROM > Kernel > Magisk, and done
As for where you can get the zip, there is a thread here in the OP5 XDA forum on ROMs and Kernels I think and that's where franco posted the kernels. He's got a website too linked in the same post
HOWEVER, he hasn't updated them since last year, and I don't think they have support for Android 10, only 9
As for settings, well, in my own experience, you won't get any noticeable boost in battery life or performance without doing some drastic change.
If you want better battery life, you can decrease the maximum CPU frequency, change the governor to Conservative or Powersave, disable some cores, or all of those at once, but they WILL degrade performance, sometimes you won't notice but then you'll try to load a heavy webpage on Chrome and then you'll REALLY notice it.
The inverse is also true. To increase performance you change the governor to performance; usually the CPU frequency is set to its maximum by default, and the cores are all enabled anyway so you don't have to change anything. BUT, keeping the governor in Performance will also keep the CPU clocks at its maximum, and that's going to drain your battery like CRAZY, plus it'll overheat it. Usually there is no practical need for this setting, but I use it to play games on Dolphin emulator since thats when I can actually make use of that performance.
A better alternative is to keep the governor on Interactive, which will scale up CPU clocks depending on the load (if doing light stuff, low clocks. Heavy stuff > high clocks). Otherwise, Conservative does the same thing but takes longer to use higher clocks, so battery is saved.
Always use 1 governor for all cores. Do NOT use multiple governors (example: powersave for big cores, performance for little cores) because that will cause instability issues
Also, if you make any changes, you gotta tap the toggle on it, which will say something like "stay on boot: true". Otherwise, if you for instance change your governor to Performance, and then reboot, all your changes will reset to Default
Personally I just keep my governor in Conservative and roll with the defaults.
Hope that helps ya
sorry for digging but I was loooking for solution..
just make a backup of present kernel (tuned with FKM) and then flash it from backup menu
I was trying flash with twrp, magisk, 'set on boot' at first and many other things but it was so simple, it's there all the time

Categories

Resources