[Kernel 3.4.113][CAF][Monthly] Lambda Kernel ~ Infinito [All variants][N/M/L][01/29] - G2 Android Development

{
"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"
}
Your warranty is now void.
I am not responsible for bricked devices, dead SD cards, thermonuclear war.
Please do some research if you have any concerns about using custom ROMs/Kernels.
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.​
​​
Lambda Kernel is a CAF recreation of the LG G2's Kernel written for CAF based custom ROMs. It fits the needs of anyone looking for a decent performance/battery rate, being totally compatible with up to the newest Android 7.1 ROMs and all the way down to Android 5.1 ROMs using the wildcard concept.
It follows the flash n' go principle, everything packed in the Kernel is already tweaked and ready to be used as a daily driver for most users.
The downloads, contributors and source code are at the bottom of this post, it is recommended to read everything before flashing.
"The Lambda Kernel project was born as a reasonable alternative for non-lge firmware users that would enjoy having a decent operational system on their devices but, unfortunately, weren't possible because of the lack of a great Kernel for this panorama. That was a paradoxical paradigm, such a powerful device tied by controversial chains.
As a hobbyist and enthusiast, stepping forward on this was a must. Having the tools and one of the greatest kernels in the Android world at my side (dorimanx), sharing the same platform and device, I couldn't hesitate so long. Although we may never hit his level, it's worth mentioning this project has its own philosophy and purpose. Constructing a different way of thinking is always a pleasure."
"Everything that is yours needs to be controlled by anybody else than you. When flashing this kernel on a custom firmware, you'll be signing an authority term over your device possession. You'll be breaking chains imposed by a society niche that is closed source, proprietary and arrogant. They are the world that superimposes your look to keep you from seeing the Truth. The Truth that you are a slave. Like all the others you were born in chains. The world is a prison where there is neither hope nor taste nor smell, a prison for your mind. But still there's only one hope, there's only one way out: K.I.S.S. to maintain your own rules, to avoid unnecessary complexity in your escape."
The releases follow an organized naming scheme, alphabetically ordinary using portuguese words.
The current release name is Infinito.
Also, they follow a two-week basis schedule in the BETA stages in order to pack the latest security updates and code improvements. The STABLE ones don't have a schedule in mind, they are meant to be released after the BETA ones get 100% debugged and tested.
EXPERIMENTAL: My own testing builds for certain features and tests. They have numbers and comments in their versioning according to the consecutive builds I build and the latest changes in which I should look into testing. They aren't normally shared, although sometimes I publish them. If you see one of them, don't forget they are recommended for advanced users/developers only because of their potential changes that must be debugged before publishing a beta/stable version.
BETA: They are closer to the proper release version but still can have some errors or bugs to be reported and tested, they also have a number to avoid confusion. It's most likely what you'll be flashing in order to catch up with the latest code base and security updates.
STABLE: That's the version for the ones that don't want their devices to be lab rats for new features and staging changes. It might have some little issues but it's generally able to fill all user needs in terms of stability for such a bleeding-edge project.
Pretty straightforward once you get used to it, isn't it?
A general panorama for Lambda Kernel, always matching the latest release, in this case Infinito BETA 13.
NEW ↠ Everyting new that has been added compared to the previous release.
HOT ↠ The amazing uniqueness of Lambda Kernel on every byte.
TESTING ↠ The name says for itself, usually works properly but should be better evaluated.
DISABLED ↠ What has been added in source code but disabled due to issues.
EXTRA ↠ Related to UKM/Synapse/Anykernel and other miscellaneous.
3.18.y F2FS filesystem support NEW
NTFS filesystem support HOT
CPU overcloking up to 2.8GHz HOT
Latest Linux Kernel 3.4.y base version HOT
Built with Dorimanx's PWR GCC (Linaro 6.1) HOT
Motorola's quick wakeup driver with LPM support HOT
Nougat's sdcardfs filesystem support HOT
The battery friendly AutoSMP plugging driver HOT
Experimental Blu Plug hotplugging driver HOT
My version of the MSM Hotplug with fast lane mode HOT
My own balanced version of the Bricked Hotplug HOT
Impulse governor with fast lane mode support HOT
ULL audio path support HOT
Enhanced ARM scheduler clock HOT
Improved the Completely Fair Scheduler (CFS) routines HOT
Up-to-date binder framework HOT
Updates on slim_ngd from 3.10.y HOT
Mainline security and overflow patches HOT
Upstream DirtyCow exploit fixes HOT
Block updates from 3.10.y HOT
GPU updates from Dorimanx Kernel converted to my code HOT
Disabled the stupid gentle fair sleepers and arch power HOT
Automated two-week changelog shipped to the device HOT
My own optimization set called Fast Lane V2 HOT
Tweaked Motorola's low memory killer HOT
Backported 3.10.y sound drivers + offload for more formats HOT
Faux Sound Control v3.8 for LGE my tweaks HOT
500MB swap space available on two compression streams HOT
ZRAM compressed memory with LZ4 support HOT
ZSMALLOC allocation framework for ZRAM HOT
Memory management updates from 3.18.y HOT
Ability to use your device as a USB keyboard and mouse HOT
My implementation of the state notifier for LGE touch panel HOT
MSM Limiter v5.4 driver with per core support HOT
Internal Kernel clock frequency at 300Hz HOT
CPU frequency driver up-to-date with 3.10.y HOT
NET/Bluetooth updates from 3.14.y from dorimanx HOT
New android alarms API to "replace" RTC HOT
Dynamic dual core CPU boosting coded by sultanxda HOT
GPU overcloking up to 533MHz HOT
Force fast charge v3.2 driver HOT
Process reclaim support HOT
Advanced memory stats monitoring HOT
Anykernel2 installer fully up-to-date HOT
Exclusive UCI/UKM support for Synapse HOT
Newest GPU drivers (kgsl/devfreq) from Linux 3.18.y kernel branch HOT
Adreno Idler for msm-adreno-tz GPU governor HOT
Krait voltage control compatible with 3.18.y GPU drivers HOT
Dynamic QoS voting based on USB activity HOT
Set USB to always use the maximum speed available HOT
Reduced CPU retention voltages as per Qualcomm HOT
Added 499MHz CPU clock frequency HOT
Fixed encoding activity burning all RAM and forcing CPU usage HOT
Fixed Wi-Fi roaming standby drain and frame buffer overflow HOT
Fixed all irq requests for oneshot HOT
Power management QoS framework updates from 3.10.y HOT
Latest sweep2sleep driver inlined with dorimanx HOT
New I/O schedulers: fiops, zen, tripndroid and sioplus HOT
Cleaned some LG changes in cpufreq that aren't relevant for CAF/CM HOT
Updated queue_stats code HOT
Added Motorola's optimized memutils HOT
Increased TCP output for faster connectivity HOT
All advanced TCP congestioners available HOT
Stereo call recording support HOT
Fixed the slow charging bug in userspace HOT
Added back LGE's HIFI sound buffers for enhanced playback HOT
FSync switcher HOT
Enabled more TCP congestion options HOT
Adaptive LMK enabled by default and tweaked HOT
Kerne same-page merging (KSM) support DISABLED
SELinux permissive out-of-the-box EXTRA
GPU time in states for monitoring EXTRA
Dynamic wallpaper changer when flashing EXTRA
All values set to performance/balanced out-of-the-box EXTRA
GPU gaming boost for intense mobile gamers EXTRA
General updates in Synapse UI to match the new features EXTRA​​
AnyKernel2 ↠ It's the main feature of this kernel, it doesn't only make our lives easier by avoiding the usage of ramdisk but also let us change and ship many new features without touching the ROM side. Another great point on AnyKernel usage is the ability to setup your device on boot up, setting the governors and values that we love right out of the box without any kind of pain.
UCI/UKM ↠ UCI is a binary that allows Synapse access to control and manage the kernel's core. UKM is the component that allows prebuilt .json modules to build the Synapse UI without compiling the app on Android Studio or other Android IDE. You won't need to install a new version of the app from somewhere to get up-to-date, the kernel will automagically ship the changes I made in Synapse UI and apply them on the fly.
Linux 3.4.113 ↠ As you may know, your phone a ton of electronic hardware such as SmartTVs, printers, laptops, watches and even glasses run the Linux kernel. If you wanna know more about the Linux kernel, please watch this video on YouTube. The 3.4.113 version of the Linux kernel has been finished in Oct 26, 2016 and it's currently marked as EOL (End of Life) version.
MSM Hotplug ↠ This driver was coded by neobuddy. It is the chosen one to be the default hotplugging mechanism, supplying a nice range of options and a feature that dialogs directly with impulse governor called 'fast lane'. This feature will jump all cores into a speed trail when the CPU governor detects a high load average, thus reducing pressure on the main cores and improving performance.
Bricked Hotplug ↠ One of the recommended hotplug drivers. It was first coded by showp1984, now it is marginally cleaner and faster with neobuddy updates on top of it. It's a very complex hotplug but supplies one of the most stable hotplugging mechanism for any mobile Linux Kernel. Should be used in case the user wants total control on every bit of the plugging mechanism.
AutoSMP ↠ Yet another hotplugging, this one is focused on stability and fair resource usage, it's very minimal and offers bare minimal sets of controls. Should be used on user cases where battery life is the main target or just as a simple alternative to bricked hotplug.
Dual Core CPU Boosting ↠ This driver was coded by sultanxda for the Oneplus One recently. It allows a dynamic CPU boosting based on user input and hotplug activity. I have tweaked it to boost the first CPU to 1.2GHz for 1.5s on user input if the second CPU is already awake, if not it will then boost the second one to 1.4GHz for 1.5s as well. If the second CPU needs to stay online due to hotplug load, it will stay boosting the first CPU if the input is detected and if the frequency doesn't pass the threshold it will let the hotplug and governor decide what to do.
Dorimanx Fast Charger ↠ The fast charger driver that dorimanx uses on his kernel. Allows the configuration of the charging scheme, you can set from 500mV to 2000mV charging levels. The cable and charger will affect the charging level as well, don't use any charger/cable you found in the garbage can. I'm not responsible for the bad usage of this feature. Neither dorimanx, it's absolutely your fault if you damage your device.
Swap ↠ The Linux swap is very old and consolidate way of getting more RAM by caching older process and instances to a cached space out of the RAM space. This feature was common on servers but sooner came to the Android mobile devices as well. The swap space is usually not present in most devices as it costs more CPU power to "swap" the "files" from real RAM memory to another place, this place can be a hard drive partition, a portion the real RAM itself (Z-RAM) or even a file in some cases.
Z-RAM ↠ Another form of swap, commonly used on some Android phones due to higher CPU levels of instrumentation provided by ARM, in which we can same memory not by placing the caches to another place like a usual swap but compressing it in runtime as more instances and processes request real memory. As a note, Z-RAM has something called max compression streams, which are the maximum amount of parallel writes to the "new area", we set one per every 256MB of Z-RAM space, the default is 512MB of space compressed with two compression streams to keep power/battery compensation.
Faux Sound Control ↠ This driver, written by Faux, exposes the Kernel sound driver (WCD9320) to allow fine tuning from userspace, instead of the default static values they were set by the manufacturer. The fine tuning happens using two different APIs on my Kernel, one written for the proprietary app by Faux and another one by dorimanx, for STweaks. I've modified the STweaks scripts to add them on Synapse, calling it Synapse API for users that don't want to buy/use the proprietary app. The open Synapse API is capable of tuning the headphone, speaker and microphone gains without distortion since the magic happens in Kernel level and not in software level.
Read this twice before flashing/posting!​
Cod. 001:
State: Solved!
Priority: Normal.
Overview: Min. CPU boost frequency overlays min. CPU frequency.
Cod. 002:
State: Solved!
Priority: Low.
Overview: Bricked hotplug is a little messed up in Synapse organization.
Cod. 003:
State: Solved!
Priority: High.
Overview: MSM limiter frequency on suspend is actually the opposite causing frequency locks after awaking from sleep.
Cod. 004:
State: Unsolved.
Priority: High.
Overview: Possible race conditions causing BSOD for some use usecases, the frequency is low and causes unknown.
Cod. 005:
State: Solved.
Priority: High.
Overview: Sound control affects call audio volume and distortion is noticeable when the value is high.
Read this twice before flashing/posting!​
Q. Can I flash this Kernel on Android Lollipop?
A. Yes and no, only Android 5.1, 6.0, 7.0 and 7.1 are supported natively.
Q. Is this kernel compatible with LG stock firmware/ROM?
A. No, LG stock is Android 5.0 and already has dorimanx Kernel support, Lambda is only for targets in the answer above, custom ROMs commonly.
Q. What are variants on the LG G2 development scheme?
A. As many crap carriers on the market, LG is known to implement region based hardware, this causes the existence of series of devices that are identical but have some differences in terms of hardware. This forces developers to adapt and recreate the device trees for every single model.
Q. How to install this kernel?
A. Download the version you'd like to use and flash using a custom recovery like TWRP.
Q. I have an error in red when flashing the zip file, what is that?
A. Maybe your download was corrupted somehow, try to download once again.
Q. I have a "device not supported, aborting..". error in TWRP, what is wrong?
A. Your firmware/ROM's build.prop property 'ro.product.device' may have been modified and doesn't match the device filter protection implemented in TWRP. Ask your firmware/ROM's developer why he did this or post the value for 'ro.product.device' entry. Last but not impossible, the variant you have isn't supported like the ISAI variant family.
Q. I noticed the Synapse UI is so old-school, why can't I use Kernel Adiutor?
A. You can, but that would waste all the time I spent making UKM (read in details) unique for this kernel. You won't be able to use all the guts properly either. So, please don't use Adiutor as main Kernel Tweaking app, you can use it as a fallback option to see the frequencies and etc.
Q. I have problems to restore my settings with Synapse. What to do?
A. Well, this can be many things. The usual gripe happens when the bare ROM has an updated version of toybox and thus some busybox commands end up not working well. What I'd try at first glance is open it, to to TOOLS and tap Reset Synapse to clear the databases. Then, I'd open it again, dismiss any message on the screen and start tuning it to create the proper new database. After this, I'd export my config in SETUP just to save it for later and Reload Synapse. This usually works for most users...
Q. Why SELinux is set to permissive?
A. Some mods request the usage of permissive policies to work properly, it was needed to please everyone who had the mods before flashing the Kernel. You can always turn SELinux to enforcing in Synapse.
​​
Click the Downloads button above to go straight to Github releases page, find the appropriate file for your variant and flash it in recovery.​
Many developers and people helped to bring the pieces of code needed to build the Lambda Kernel Project, some of them are listed below.​
Dorimanx
Savoca
RenderBroken
Snuzzo
Neobuddy
Myfluxi
FranciscoFranco
AlexDNS
Faux123
AK
SultanXDA
Tsunamical
Showp1984
Apbaxel​
Source for Kernel at Github.
Source for AnyKernel2 at Github.
Guide and introduction to Lambda Kernel development at Github.​
~ All project resources were built with free and open source software. ~​~ Lambda Kernel trademark and logos are copyleft. ~​~ This is a development thread, be polite. ~​
XDA:DevDB Information
Lambda Kernel, Kernel for the LG G2
Contributors
GalaticStryder
Source Code: https://github.com/GalaticStryder/kernel_lge_msm8974
Kernel Special Features: Per core control, impulse governor, custom plugging, dual core boosting, fast charge, overclock...
Version Information
Status: Stable
Current Stable Version: Infinito Beta 13
Stable Release Date: 2017-01-29
Created 2015-12-13
Last Updated 2017-01-29

Tweaks
Hello world.

Reserved #2
Reserved for me, as well.

Can it survive nightlies?
If not, can it be done?
I Know someone made xposed cm 13 survival script so If its not,
It might be a good idea..

reemar said:
Can it survive nightlies?
If not, can it be done?
I Know someone made xposed cm 13 survival script so If its not,
It might be a good idea..
Click to expand...
Click to collapse
CM installs their Kernel over it by default, I think we can do something to back it up and reinstall but still CM side.
Sent from my LG-D802 using Tapatalk

Awesome! I've been using CM13 (nightly) for over a week now and its been really good. Looking forward to your optimizations/tweaks/fixes/gadgets !
Maybe put "CM13" in your title.

eric93se said:
Awesome! I've been using CM13 for over a week now and its been really good. Looking forward to your optimizations/tweaks/fixes/gadgets !
Maybe put "CM13" in your title.
Click to expand...
Click to collapse
It uses anykernel, so that means it will boot on more than just "cm13"

eric93se said:
Awesome! I've been using CM13 (nightly) for over a week now and its been really good. Looking forward to your optimizations/tweaks/fixes/gadgets !
Maybe put "CM13" in your title.
Click to expand...
Click to collapse
Might fit any LP-CAF ROM running their trees up-to-date, as far as I can see CM13 branch does nothing but update CM12.1 branch, so should run on 5.1, 6.0 and above. Needs testing though.
Sent from my LG-D802 using Tapatalk

@GalaticStryder so far, so good. It's running great here on the LS980. It gets a little hotter than I'm use to, but it's so far, really fast and stable.

@GalaticStryder
I am glad you are back mate.
The kernel works perfectly with AICP 11 Rom on my D802, it is smooth and fast (read better than stock ketnel).
I am excited about the future of this project, great start!
P.S. I hope that you are going to be back soon to the rom development also!

I can find download section
Στάλθηκε από το LG-D802 μου χρησιμοποιώντας Tapatalk

ytgbg said:
GalaticStryder
I am glad you are back mate.
The kernel works perfectly with AICP 11 Rom on my D802, it is smooth and fast (read better than stock ketnel).
I am excited about the future of this project, great start!
P.S. I hope that you are going to be back soon to the rom development also!
Click to expand...
Click to collapse
Thanks, unfortunately, I'm not on the mood for ROM development, it's a lot more time demand and complaints... so far dealing with the heart of the monster is away healthier cause I do these stuff as a hobby. Maybe vacation will let me cook some fully AOSP builds as unique.
fendaris said:
GalaticStryder so far, so good. It's running great here on the LS980. It gets a little hotter than I'm use to, but it's so far, really fast and stable.
Click to expand...
Click to collapse
I'll upload the kernel setup I'm using as well as some defaults I tested on the second post.
I'm getting an average of:
45°C on CPU when installing apps, updating, downloading... and 38~40°C when the screen is on.
Battery Temperature is 32°C sticky.
Right now is 23°C by the morning (GMT -3) summer temps.
matrixios said:
I can find download section
Στάλθηκε από το LG-D802 μου χρησιμοποιώντας Tapatalk
Click to expand...
Click to collapse
You can't find or can find? Nevermind we're using XDA to host the build, there's a big tab in the project menu, if it doesn't show up, the "downloads section" will be edited to link to there.
For the well-being: http://forum.xda-developers.com/devdb/project/?id=12950#downloads

Will F320 be supported?

GalaticStryder said:
You can't find or can find? Nevermind we're using XDA to host the build, there's a big tab in the project menu, if it doesn't show up, the "downloads section" will be edited to link to there.
For the well-being: http://forum.xda-developers.com/devdb/project/?id=12950#downloads
Click to expand...
Click to collapse
so glad to see you again :good:
can't find the download link too (see attached)
thanks for this mate.

fLipz said:
so glad to see you again :good:
can't find the download link too (see attached)
thanks for this mate.
Click to expand...
Click to collapse
Dope, just uploaded and shared the folder on my Google Drive: https://drive.google.com/open?id=0B0kZ4DVPwVcMS3hpeDdocmxSMDQ

Now i see the problem, fauxsound gets louder after every reboot. Anyone to fix this? Can't really lower it anymore. Lol

fendaris said:
Now i see the problem, fauxsound gets louder after every reboot. Anyone to fix this? Can't really lower it anymore. Lol
Click to expand...
Click to collapse
It's not loud that's the way it should be but a little over, you need to adjust the ux volume to 7 or 8 of 10, 9 and 10 distort, but it is, in my case, better than not hearing the calls. I'll readjust in the next release. Thanks for confirming that issue. I'll clean up the Sound Driver code a bit as well.
Sent from my LG-D802 using Tapatalk

Can I run this if I am on LG g2 Verizon with cloudy g2 lollipop 5.0.1 edition? If so, do I simply zip file in twrp or do I need to do some prior reconfiguration??
Sent from my VS980 4G using Tapatalk

y300owner said:
Can I run this if I am on LG g2 Verizon with cloudy g2 lollipop 5.0.1 edition? If so, do I simply zip file in twrp or do I need to do some prior reconfiguration??
Sent from my VS980 4G using Tapatalk
Click to expand...
Click to collapse
Nope. Just AOSP.
Sent from my LG-D802 using Tapatalk

GalaticStryder said:
Nope. Just AOSP.
Sent from my LG-D802 using Tapatalk
Click to expand...
Click to collapse
Asop? Verizon is unsupported,? OK. :/
Sent from my VS980 4G using Tapatalk

Related

[KERNEL] [Bacon] [OOS 2.x.x / 1.0.0] Boeffla-Kernel (17-11-2016)

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.)
Last year I got an OnePlus One and decided to port my kernels also to this device.
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 OnePlus OOS 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
When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
Make sure you flash the correct kernel version, depending on whether you really use Oxygen OS or a different OS !!!
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.
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
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Change log for Oxygen OS kernel - Click here
Features
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 (you need at least version 2.1.77 or higher !!!) 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
Swipe2Sleep - 3 gestures implemented
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
Color control to adjust RGB color space + inverted mode + gamma control
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
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, if you rooted with Chainfire SuperSu, make sure you uncheck the namespace separation in SuperSu app)
NFS support (module)
exFat opensource support
NTFS support (module) - read-only
XBox support (module)
OTG-Ethernet support (module)
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
Automatic EFS backup
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
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 Oxygen OS Initramfs
Always based on latest Oxygen OS kernel sources (https://github.com/OnePlusOSS/android_kernel_oneplus_one)
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
f2fs - it is known to cause various issues and compatibility problems
a CAF based kernel
anykernel method to use the ramdisk of the installed rom
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 using Oxygen OS or another rom !!!
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.77 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
Last change logs:
http://kernel.boeffla.de/bacon/boeffla-kernel-oos/oos2xx/changelog.htm
*** You want my support? Then stick to my rules ***
Guys, I am receiving more and more completely useless support requests in different threads. Useless because people provide nothing to be able to help, not even the minimal possible information they could give.
Hence, I will now remind anyone again on the support guide lines stated here:
http://boeffla.de/index.php/support/support
Also you need to ensure you follow the installation guide lines incl. trouble-shooting stated here:
http://boeffla.de/index.php/support/installation-how-to
And to cut a long story short: If you do not at least provide what I request in the support guide lines, I will IGNORE YOUR REQUESTS IN FUTURE.
Straight and simple. I have enough of people wasting my time just because they are too lazy to write details.
Period.
Also as a reminder:
you use xposed? -> no support, everything is your own issue
you use a custom rom and not the official stock or CM one? -> good luck, you are on your own
you undervolt or overclock? -> have fun, but without my support
Sorry, this might sound harsh (and it is meant to sound harsh), but you cannot imagine about how crappy support requests can be. Stating something does not work is just not enough.
Please consider that!!!
Andi
Been waiting for the first known custom kernel for Oxygen os and im glad that it's Boeffla!
Will test in a while, but im sure that it's great! Thanks for all your hard work!
Only for this kernel i will install Oxygen OS un my OPO jejeje
Sent from my One+ One
Th3DaRk_Vampire said:
Only for this kernel i will install Oxygen OS un my OPO jejeje
Sent from my One+ One
Click to expand...
Click to collapse
Hm. Well, to be honest, for me Oxygen OS is not yet complete enough for a real daily driver candidate. Too many things missing for my taste.
But well, yes - try it
Andi
Hell yeah!
Very cool, thank you :good:
I knew it was only a matter of time. Thanks for uploading!
Thanks..
And the boss is..........Andi :good:
thx
Fred
Flashed! Excited to see how this will turn out
Let's see. Don't forget it is a very first version... [emoji16]
Godlike
{
"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"
}
Very strange, after two test (benchmarks) with OC, CPU temp is 50. Itz very low comparing to CM heat with similar conditions
Let's run this and see how it goes.
Thanks for your hard work!
I am going to try this also. Are you rocking OxygenOS add your daily driver? Because I do and it's nice beside that its problem with the system update wakelock.
No, it is not my daily driver. Too many things still missing for me.
For the Google play services wake lock, there is a solution. Calkulin modded the service so it doesn't create the wake lock anymore.
Andi
Yeah I know the solution. But I prefer the other which is starting the SystemUpdate Service from Google play services. This also prevents the wakelock.
Lord Boeffla said:
No, it is not my daily driver. Too many things still missing for me.
For the Google play services wake lock, there is a solution. Calkulin modded the service so it doesn't create the wake lock anymore.
Andi
Click to expand...
Click to collapse
What is missing?
Ofthecats said:
What is missing?
Click to expand...
Click to collapse
Notification Led control, data protection settings, just two name some I am missing...
Andi
You made it! Awesome. I have no time so I'm glad to see someone else working on an Oxygen kernel. I personally prefer Oxygen over CM, although it's not quite finished. Again, great to see more kernel options.

[KERNEL] [OnePlus2] [OOS3/OOS2] Boeffla-Kernel (18-12-2017)

Hi all,
some of you know me from the OnePlus One or the Samsung devices area, where I provide my kernels already for more than two years to Galaxy S5, S3 and Note 10.1 users for all sort of platforms (Samsung, Cyanogenmod, Omnirom etc.)
Finally I got an OnePlus Two a few weeks ago and decided to start a kernel also for this device.
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 OnePlus OOS 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
When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
This kernel is ONLY compatible to OxygenOs stock 2.x or 3.x, nothing else !!!
If you are using a custom rom that bases on OxygenOs, it might work. However, if it does not work, do not expect me to do tweak to make the kernel running with your favorite rom. I would not do it - my one and only reference is OxygenOs stock.
It is not supposed to be compatible to LineageOS, CM, HydrogenOS etc.
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.
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app (outdated at the moment).
Click here to learn about using the config app (outdated at the moment).
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
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Change log for OxygenOS 3.x kernel - Click here
Change log for OxygenOS 2.x kernel - Click here
Features
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 (you need at least version 2.2.42 or higher !!!) configuration app
(get it from http://www.boeffla.de) to configure all kernel settings
The two CPUs (big and little cpu) can be configured completely separate in terms of min/max frequencies, governors and hotplug profiles
Additional governors: Impulse, zzmoove, elementalx, conservative, ondemand
Additional schedulers: fiops, bfq, sio und zen
Hotplugging done by using stock core_ctl method
Many Hotplug tweak profiles (default are: little CPU always runs on 4 cores, big CPU runs on between 2 and 4 cores based on load)
Notification LED control (fading, speed, brightness)
Boeffla-Sound engine (Headphones volume configurable only)
Dynamic FSync (activated if screen on, deactived if screen off), configurable
Input boost frequencies and duration configurable, input boost switch
No CPU and GPU overclocking yet
No CPU and GPU voltage interface (will probably never come to save me support work)
GPU underclocking to 27 MHz possible
msm_adreno_tz and simple_ondemand tweaked to better utilize low frequencies
Show CPU frequency usage per CPU and frequency in Boeffla-Config
Show GPU frequency usage per frequency in Boeffla-Config
KCal V2 Color control
Display backlight limits configurable (to avoid display brightness gets too low in some situations)
Display backlight dimmer
Swipe2wake gestures
Swipe2sleep gestures
Boeffla generic wakelock blocker V1.1.0 (documentation)
Vibration control
Haptic feedback control for gestures
BCL (battery current limit) driver switchable (default is on)
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (default to on, can be disabled)
Thermal engine profiles (in system Tweaks section)
Kernel logger (dmesg) configurable
Boeffla charge analysis (display of charger type and charge current in Boeffla-Config app in real time)
Boeffla touchkey LED control (LEDs fully off, LED on screen touch, configurable duration)
USB charge rate bumped up to 900 mA
CIFS support (module, do not mount inside /data, if you rooted with Chainfire SuperSu, make sure you uncheck the namespace separation in SuperSu app)
NFS support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
TCP Congestion changed to Westwood
Many additional TCP congestion algorithms activated to be used
init.d support (in /system/etc/init.d - set correct permissions!)
Automatic EFS backup
Integrated full busybox 1.27.2 (own compilation)
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Google gcc 4.9 toolchain (64 bit) used for best stability
Always using latest Oxygen OS Initramfs
Device tree build from kernel sources for future options on frequencies and voltages
Always based on latest Oxygen OS kernel sources (https://github.com/OnePlusOSS/android_kernel_oneplus_msm8994)
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
f2fs - it is known to cause various issues and compatibility problems
a CAF based kernel
anykernel method to use the ramdisk of the installed rom
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 kernel only if you are running a compatible rom !!!
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.2.03 or higher for the OnePlus Two 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
* Ak
* Yank555
* Hardcore
* Chainfire
* Netarchy
* Gokhanmoral
* Simone201
* Entropy512
* Faux
* Savoca
... 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 !!!
Special thanks
Also I want to thank xda user @magnamentis for the ongoing testing to iron out the stability issues of the first alphas. He was doing that always taking the risk to "ffy" his brand new OP2.
Special thanks as well to @ZaneZam to pinpoint the issue during my absence as I was on business trips most of the time in the past weeks.
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 log:
OOS3.0.x
http://kernel.boeffla.de/oneplus2/boeffla-kernel-oos/oos3xx/changelog.htm
Configuration and profile thread
http://forum.xda-developers.com/oneplus-2/general/unofficial-boeffla-kernel-profiles-t3289395
*** You want my support? Then stick to my rules ***
Guys, I am receiving more and more completely useless support requests in different threads. Useless because people provide nothing to be able to help, not even the minimal possible information they could give.
Hence, I will now remind anyone again on the support guide lines stated here:
http://boeffla.de/index.php/support/support
Also you need to ensure you follow the installation guide lines incl. trouble-shooting stated here:
http://boeffla.de/index.php/support/installation-how-to
And to cut a long story short: If you do not at least provide what I request in the support guide lines, I will IGNORE YOUR REQUESTS IN FUTURE.
Straight and simple. I have enough of people wasting my time just because they are too lazy to write details.
Period.
Also as a reminder:
you use xposed? -> no support, everything is your own issue
you use a custom rom and not the official stock or CM one? -> good luck, you are on your own
you undervolt or overclock? -> have fun, but without my support
Sorry, this might sound harsh (and it is meant to sound harsh), but you cannot imagine about how crappy support requests can be. Stating something does not work is just not enough.
Please consider that!!!
Andi
I am just waiting for the source code push to github to finish.
Then I will officially open up the thread and release the first beta to all of you.
Andi
Online
Hi all,
kernel is now officially released in version 1.0-beta1.
Download link, as always, on the kernel homepage.
Some notes again:
Make sure you have latest Boeffla-Config app running -> 2.02.03 !!!
This is the very very very first kernel version, so expect bugs or issues
Please be nice when you have an issue, this OP2 kernel costed me more grey hairs already than all other kernels I ever built together
Let the fun begin.
Andi
Awesome!! As stated there's no gpu over clocking, however I don't play games on my phone, will I be able to downclock the gpu?
Finally will try and report if any bug welcome to the opt forums andi i was waiting for you (really)
Alvin Vesper said:
Awesome!! As stated there's no gpu over clocking, however I don't play games on my phone, will I be able to downclock the gpu?
Click to expand...
Click to collapse
Downclock should work, yes.
Andi
Thanks a lot Andi!Had an awesome experience with the test kernel.Gonna flash this soon
Tapped from my ❶+❷
Downloading noww
I'm excited to finally try out this kernel. I've always stumbled upon threads that mentioned this kernel and since I've had my Nexus 6, I never got the chance to try this kernel out. But now that I joined the OnePlus 2 family, I can finally see what this kernel is all about!
Crackdroid said:
I'm excited to finally try out this kernel. I've always stumbled upon threads that mentioned this kernel and since I've had my Nexus 6, I never got the chance to try this kernel out. But now that I joined the OnePlus 2 family, I can finally see what this kernel is all about!
Click to expand...
Click to collapse
Sure, just for expectation management: Do not expect too much for the start now.
The msm8994 soc development is quite fresh, as well as the device.
So I am not really far where I want to be in future in terms of features etc.
But stuff will come over the time, as it was with the OPO kernels and the S5, S3, Tab 10.1 kernels etc.
Andi
Lord Boeffla said:
Sure, just for expectation management: Do not expect too much for the start now.
The msm8994 soc development is quite fresh, as well as the device.
So I am not really far where I want to be in future in terms of features etc.
But stuff will come over the time, as it was with the OPO kernels and the S5, S3, Tab 10.1 kernels etc.
Andi
Click to expand...
Click to collapse
That's definitely understandable and patience is key so there's no rush at all. Thanks for your hard work thus far!
I flashed it fine but there is no apk in the config V-2 download, its just a zip. am I missing something?
Crackdroid said:
That's definitely understandable and patience is key so there's no rush at all. Thanks for your hard work thus far!
Click to expand...
Click to collapse
Absolutely.
For future projection, the functionalities should be pretty much what I have in my OPO and S5 kernels one day. This is my goal.
Andi
Quizo said:
I flashed it fine but there is no apk in the config V-2 download, its just a zip. am I missing something?
Click to expand...
Click to collapse
You need to download the app from here:
http://boeffla.df-kunde.de/bc/
(note, it MUST be an apk. if you download a zip, your browser does not interpret the mime headers correctly and you might use another browser)
Save it on your phone, install it manually.
Andi
@Lord Boeffla
Is it possible (in future of course) to control more paramters of audio chip? (Like in your kernel for i9300 for example)
rascal0pl said:
@Lord Boeffla
Is it possible (in future of course) to control more paramters of audio chip? (Like in your kernel for i9300 for example)
Click to expand...
Click to collapse
Most likely no.
See question 2 in FAQ section:
http://www.boeffla-kernel.de/index.php/faq
Andi
Deleted
great... any possibility to add charging control to increase charging speed.. the only downside of this darn phone.. it feels like it takes for ever to charge... !!

[EOL][KERNEL] [OnePlus2] [Lineage14/CM13] Boeffla-Kernel (27-03-2018)

** 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 other OnePlus (One and X) or Samsung devices areas, where I provide my kernels already for more than two years to OnePlus One, OnePlus Two, Galaxy S5, S3 and Note 10.1 users for all sort of platforms (Samsung, LineageOS, 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 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).
Important notes
When using new anykernel concept Boeffla-Kernel: Flash stock kernel of rom first !
Make sure you flash the correct kernel version, depending on whether you really use LineageOS/CM or a different OS !!!
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.
Compatibility
Important: This kernel is only meant to be compatible with official LineageOS and nothing else.
It is reported to NOT work fine specifically on Resurrection Remix roms, also some Seraph based roms are not compatible.
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 !!
Support
First read the FAQ section on the Homepage !!!
Click here to learn about all possible kernel settings in the config app (quite outdated, as it is focused on S3 still).
Click here to learn about using the config app (quite outdated, as it is focused on S3 still).
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
(you can also access them directly in Boeffla-Config V2 by pressing menu and selecting "change log...")
Change log for LineageOS 14 kernel - Click here
Change log for CM13 kernel - Click here
Features
Support of anykernel concept (only latest kernels) - flash stock kernel before flashing Boeffla
Full integration with Boeffla-Config V2 (you need at least version 2.4.50 or higher !!!) configuration app (get it from http://www.boeffla.de) to configure all kernel settings
The two CPUs (big and little cpu) can be configured completely separate in terms of min/max frequencies, governors and hotplug profiles
Additional governors: Impulse, zzmoove, elementalx, conservative, ondemand
Additional schedulers: fiops, bfq, sio und zen
Hotplugging done by using stock core_ctl method
Many Hotplug tweak profiles (default are: little CPU always runs on 4 cores, big CPU runs on between 2 and 4 cores based on load)
Notification LED control (fading, speed, brightness)
Boeffla-Sound engine (Headphones volume configurable only)
Dynamic FSync (activated if screen on, deactived if screen off), configurable
Input boost frequencies and duration configurable, input boost switch
No CPU and GPU overclocking (also not planned)
No CPU and GPU voltage interface (also not planned)
GPU underclocking to 27 MHz possible
GPU boost implemented (4 levels)
msm_adreno_tz and simple_ondemand tweaked to better utilize low frequencies
Show CPU frequency usage per CPU and frequency in Boeffla-Config
Show GPU frequency usage per frequency in Boeffla-Config
KCal V2 Color control
Display backlight limits configurable (to avoid display brightness gets too low in some situations)
Display backlight dimmer
Swipe2wake gestures
Swipe2sleep gestures
Boeffla generic wakelock blocker V1.1.0 (documentation)
BCL (battery current limit) driver switchable (default is on)
SD card read ahead buffer configurable (default increased to 1024 kB)
Ext4 File system tweaks (default to on, can be disabled)
Thermal engine profiles (in system Tweaks section)
Kernel logger (dmesg) configurable
Boeffla charge analysis (display of charger type and charge current in Boeffla-Config app in real time)
USB charge rate bumped up to 900 mA
CIFS support (module, do not mount inside /data, if you rooted with Chainfire SuperSu, make sure you uncheck the namespace separation in SuperSu app)
NFS support (module)
NTFS support (module)
XBox support (module)
OTG-Ethernet support (module)
TCP Congestion changed to Westwood
Many additional TCP congestion algorithms activated to be used
Entropy values configurable
Hardware touch keys locked as long as screen is in use (touched) for better usability (default, but configurable)
init.d support (in /system/etc/init.d - set correct permissions!)
Automatic EFS backup
Integrated full busybox 1.27.2 (own compilation)
Safetynet: verifiedbootstate + additional flags removed
Kernel initialisation log file (with history of 3 log files)
Emergency reset script automatically placed into /boeffla-kernel-data folder of your internal memory
Rom flash survival mode configurable in Boeffla-Config
Google gcc 4.9 toolchain (64 bit) used for best stability
Always using latest CM13 Initramfs
Always based on latest CM13 kernel sources (http://github.com/CyanogenMod/android_kernel_oneplus_msm8994)
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
f2fs - it is known to cause various issues and compatibility problems
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 using LineageOS/CM or another rom !!!
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.4.50 or higher for the OnePlus 2 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
* flar2
* Grarak
* 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
Last change logs:
LineageOS 14.1
http://kernel.boeffla.de/oneplus2/boeffla-kernel-cm/cm14.0/changelog.htm
CM13
http://kernel.boeffla.de/oneplus2/boeffla-kernel-cm/cm13.0/changelog.htm
Configuration and profile thread
http://forum.xda-developers.com/oneplus-2/general/unofficial-boeffla-kernel-profiles-t3289395
*** You want my support? Then stick to my rules ***
Guys, I am receiving more and more completely useless support requests in different threads. Useless because people provide nothing to be able to help, not even the minimal possible information they could give.
Hence, I will now remind anyone again on the support guide lines stated here:
http://boeffla.de/index.php/support/support
Also you need to ensure you follow the installation guide lines incl. trouble-shooting stated here:
http://boeffla.de/index.php/support/installation-how-to
And to cut a long story short: If you do not at least provide what I request in the support guide lines, I will IGNORE YOUR REQUESTS IN FUTURE.
Straight and simple. I have enough of people wasting my time just because they are too lazy to write details.
Period.
Also as a reminder:
you use xposed? -> no support, everything is your own issue
you use a custom rom and not the official stock or CM one? -> good luck, you are on your own
you undervolt or overclock? -> have fun, but without my support
Sorry, this might sound harsh (and it is meant to sound harsh), but you cannot imagine about how crappy support requests can be. Stating something does not work is just not enough.
Please consider that!!!
Andi
.... And its here! Finally landed for cm13 for our beloved op2. Thanks a ton @Lord Boeffla
Sent from my ONE A2003 using Tapatalk
Wohooo...
It's party time for op2 users
Awesome! Will shift to CM13 soon to just try this kernel.
Wooohoo. Awesome.
If only my BSNL allowed me to download that right now ???*
Beer time! :highfive:
3FN59977869854618
Fantastic! Waiting for this day!
I have not found any issue in Kernel but a typo in OP. You've mentioned OPX instead of OP2 in temporary alpha notice
Sent from my Amazing OnePlus 2
mido25 said:
I have not found any issue in Kernel but a typo in OP. You've mentioned OPX instead of OP2 in temporary alpha notice
Sent from my Amazing OnePlus 2
Click to expand...
Click to collapse
Good catch, and easy to correct. Thanks for spotting.
Andi
Since this is alpha will your config app not offer updates for the kernel? (The "Pro" version that is )
djsubterrain said:
Since this is alpha will your config app not offer updates for the kernel?
Click to expand...
Click to collapse
It will in future. Once I want to push a new release, the app does it of course.
Why do you ask? Any evidence or only curious?
Andi
Lord Boeffla said:
It will in future. Once I want to push a new release, the app does it of course.
Why do you ask? Any evidence or only curious?
Andi
Click to expand...
Click to collapse
Just curious and because everyone seems to want "deltas" now, lazy folk
fantastic news this release. finally we can openly talk about it and share it.
ps. @Lord Boeffla does it still need the pro version off your app?
Dinjesk said:
fantastic news this release. finally we can openly talk about it and share it.
ps. @Lord Boeffla does it still need the pro version off your app?
Click to expand...
Click to collapse
No, it is a public alpha, so all limitations of closed alpha are obsolete for it.
Andi
Dinjesk said:
fantastic news this release. finally we can openly talk about it and share it.
ps. @Lord Boeffla does it still need the pro version off your app?
Click to expand...
Click to collapse
You need pro version to use tunables in governors. I bet profiles will be up soon in next few days.
Sent from my Amazing OnePlus 2
mido25 said:
You need pro version to use tunables in governors. I bet profiles will be up soon in next few days.
Sent from my Amazing OnePlus 2
Click to expand...
Click to collapse
you can still use old profiles, i am using this one since the alpha1 test
http://forum.xda-developers.com/showpost.php?p=65968195&postcount=422
Does this mean OOS 3.0 version is coming soon?
alexferdean said:
Does this mean OOS 3.0 version is coming soon?
Click to expand...
Click to collapse
not before oneplus will release kernel sources.
question has been asked to much!!

[Oct 31] [Machinex][MarkOneHundred][KERNEL][TW][5.0.1][I9505]

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.

Red Magic 5G MOD Kernel GPUOC 900/940mhz +battery 1.4 STABLE!

{
"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"
}
*** NOTE THAT 3.16 NA OR 4.13 Red Magic 5G SPECIFIC ROMS SHOULD BE USED WITH THIS KERNEL! THE COMBINED ROM (WITH RM5S) HAS UPDATED KERNEL CODE THAT IS NOT FULLY COMPATIBLE AND NUBIA HAS NOT UPDATED THEIR SOURCE CODE ***
*** Please click Thanks (Thumbs up icon) on my post here if you like my kernel and rate the thread 5 stars, then just use it and enjoy - if you want to send me a beer or two feel free - you don't have to use PayPal - Revolut and Amazon.com (USA) gift cards avoid fees. I like to hear from happy users I hope you are glad that you have the fastest phone in the world currently. The active cooling in this device is utilized to the extreme with MOD kernel, meanwhile your battery usage will be much improved at the same time. How? Well, that's all in the source code, free for all to fork it on GitHub and modify to your liking. Just don't forget to credit me and the many great devs that made the improvements possible... without them, there would be no MOD kernel. This is just a hobby of mine and I like to produce a nice product that all can enjoy. I'm also quite friendly and although I may tell you no I won't add that feature (such as network hacking tools), I won't hold anything against you for asking. I have not been compensated other than by some generous folks on my Telegram channel, so this whole project is basically self funded. Red Magic will not support it, unfortunately, but you can if you feel the improvements are worth it. I believe they are, but I come from a biased point of view as the sole developer for RM5G ***
********************************************************************************************************************************************************************************************************************************
NOTICE: YOU ASSUME FULL LIABILITY FOR ANYTHING THAT MAY HAPPEN TO YOUR PHONE USING THIS KERNEL. ALTHOUGH IT WORKS 100% ON MY PHONE, IT MAY NOT WORK THE SAME ON YOURS. THE PROCESS OF ROOTING A PHONE AND INSTALLING A CUSTOM KERNEL ALWAYS HAS RISKS, SO IF YOU ARE NOT COMFORTABLE ASSUMING THOSE RISKS, DON'T INSTALL THE KERNEL! THIS IS A TYPICAL DISCLAIMER FOR CUSTOM KERNELS I HAVE FOUND NO BUGS WITH IT AT ALL. USERS ON CN, GLOBAL, AND NA ALSO HAVE NOT FOUND ANY PERFORMANCE ISSUES OR BUGS (DO NOT USE V7.14 or V8.11) IF YOU DON'T KNOW WHAT YOU ARE DOING, IT'S BEST TO REMAIN STOCK. OR JOIN THE TELEGRAM GROUP, AND GET SOME REAL HELP.
********************************************************************************************************************************************************************************************************************************
Easy root method: https://forum.xda-developers.com/nu...nner-tutorial-unlock-bootloader-t4131585/amp/ although I suggest still using Magisk 20.4 for root.
Note: if you've already rooted and want to upgrade, people have had success saving the kernel as boot.img and TWRP as recovery.img in SmartPack, vbmeta skip as vbmeta.img and placing into the ROM update.zip using MT Manager (a root browser) and saving the updated file. Then do a Settings / System Update / click the 3 dots / local update and select your modified file. In fact I upgraded from 3.13 to 3.16 NA ROM without losing anything this way. Now for normal installation:
Custom kernels require root and Magisk to be installed. This is due to the signature not being signed by Red Magic (the company) itself. Following the above method you will still pass SafetyNet and most apps will work without trouble. If you have a specific app that detects root, well, Magisk Hide the app from Magisk Manager and see if that fixes it. You should also Hide Magisk Manager from various forms of detection (under Settings). Last case is to move the installation of Magisk under a random directory (which I have not had to do and all my banking apps still work), only if the root detection methods used by your app providers are more picky.
MOD KERNEL 1.4 STABLE:
RELEASE NOTES:
Block mode I/O has been changed to Multi-Queue from Single-Queue so your default scheduler is now MQ-deadline (credits to PappaSmurf, excellent kernel dev). You can choose between mq-deadline, kyber, and none in a kernel manager under I/O scheduler. From my benching with Androbench, it doesn't make much difference which one you use. Some have parameters you can tweak. None literally means no scheduler which is fine on an SSD, and has no overhead if you want to select it in a kernel manager. I always recommend SmartPack. To get settings to stick you Toggle "Apply on Boot" and it will go to what you've selected after 5-10 seconds on the next boot.
All debugging has been turned off completely on BBRv2 - thanks to PappaSmurf (I missed a few spots), and debug can't be turned back on from the userspace now. BBRv2 is selected as the default TCP algorithm which users have explained as a "no-lag" algorithm while gaming. It's just generally a fast algorithm all around. For me it works great, but you can still choose from many different algorithms in a kernel manager if you want to.
In SmartPack / Misc / TCP Congestion Algorithm, you have many choices: reno / bbr / bbr2 / bic / cdg / cubic / dctcp / westwood / highspeed / hybla / htcp / vegas / veno / scalable / lp / yeah / illinois. A SmartPack script is included below you can add in SmartPack to show the true TCP algorithm as it will always show Reno (a bug also shared by FK kernel manager). Below it's called Check_TCP.sh just go to SmartPack / Script Manager / Import / Check_TCP.sh. Afterwards, click Execute to see the active algorithm. If you set it on boot, this is the algorithm that will run, despite what the field says in Misc.
Battery is running very well on normal usage I'm getting around 7.5% active screen on drain over 7 hours and <0.7% screen off drain over 13 hours at 90hz screen setting. This is with actively using the phone for multiple "normal" purposes, reading emails, browsing websites with Chrome, reading news, streaming videos, etc. various shopping (Amazon/eBay) and tracking, Reddit feeds and live video, and other random "daily" tasks, up to 10 apps open at a time. Gaming of course will drain more, as will 144hz. I also have dark mode enabled in Settings. To get idle drain down I disabled 3 additional wakelocks that were causing high screen off drain, and so far I haven't seen an issue with blocking them. I also removed wakelocks that no longer exist since the Boeffla WL Blocker default list was created (it was quite old) so it now should be relevant for this device, with no interaction on the users part to disable anything via a kernel manager. Still, in SmartPack you will see a Wakelocks menu in case you install an app that causes idle drain to rise, this can be used to find and block wakelocks causing the problems. It can sort by wakeups and also by time. As it states though, you should be very careful what you disable. There can be unintended consequences and most wakelocks are not well documented as to what they actually control.
Dynamic Stune Boost is entirely removed from the kernel code now, as I didn't see any benefit from using it with this kernel.
Don't forget Dynamic Fsync is hidden under Misc in SmartPack which if you turn on will speed up your SQLite speeds. AnTuTu will penalize you for this, ignore it, your phone will be faster - but I leave it off by default. Androbench will show the true memory benefit. It is significant if an app does a lot of operations on databases. Journaling for the database is held in memory until the screen is off, then it is written. Although there is a chance of a data loss or corruption with this on if the device were to crash, it is safer than just turning off fsync. If you have any unstable apps, just leave it off - better to be safe. On a solid system though, you may notice better performance.
Also remember under SmartPack / GPU there is AdrenoBoost - it is set to low. You can alter to medium or high to get faster transfer between GPU frequencies, although it has worked great for me the way I use the phone. For you another setting may suit you better. Recall RedMagic OS only allows several frequencies which I spaced out as well as possible at 305mhz, 400mhz, 525mhz, 670mhz, 800mhz, and either 900 or 940mhz depending on the version you installed.
Overall I'm very satisfied with this kernel build and don't plan on adding or subtracting anything from it for the time being. It does what it should do, gives solid performance, and good battery life. My last score on AnTuTu setup with defaults 12GB/256GB was 682K which currently is still the top performing phone out there - running at 940mhz GPU. Not all phones can handle 940mhz so use 900mhz if yours cannot. If there are enough requests for an intermediate build (say 925mhz) I can add one later off the same code base. Also note in releases there are "gaming" builds that don't keep track of CPU times at each frequency, which was a request by users to remove any potential lag while gaming. I run the non gaming version, useful if you want to tweak battery usage, but nonetheless, both versions are there for you to use.
I'm on Telegram t.me/NubiaRedMagic5G_Mods as long as I have the phone. Which will be quite a while if Red Magic / Nubia decides to fix N41 5G in the USA.
Also note that all the features of this kernel (besides ones specifically added by me) are the creation of other developers whose contributions are all notated in the kernel source code. Some of the developers that have contributions here or helped me in some fashion: Resurrect88, DD3Boh, PappaSmurf, kdrag0n, Ayrton990, Flar2, Lord Boeffla, plus many more across the globe. Without them, I wouldn't be making any kernels! And I'm sure there are many other devs I've forgotten to mention, I thank all you guys for your help and support.
MOD 1.4 Download Link:
https://github.com/mrslezak/NX659J_Q_kernel/releases/tag/1.4
PRIOR RELEASES BELOW:
8th Release:
MOD KERNEL 1.35-BBRv2 STABLE:
RELEASE NOTES:
This is an intermediate release - I realized that the prior release was draining far more battery than it should, and I found the source was debug related code in BBRv2 from Google. So this is the updated kernel that gives you battery life like before this TCP algorithm was added.
CONFIG_CPU_FREQ_TIMES=y has also been added so you can see in a kernel manager how much time is spent in each mhz block for each set of processors. This can be useful if you set in a kernel manager (like SmartPack) a minimum CPU mhz to see how much time is actually spent at each level.
The code base also has Dynamic Stune Boost, but I haven't had time to optimize it for the device, so it's just on default settings. So there are 2 versions of this 1.35-bbr2 release. At some point it will be enabled as part of a regular release (some 17 commits squashed together into 1, Stune Assist was causing issues so I turned it off). The main idea of that set of code additions is to run the device at lower frequencies, saving battery, while still achieving the same performance level to the user of the phone. If you want to try different options for it in SmartPack or FK Kernel Manager you can.
Downloads:
https://github.com/mrslezak/NX659J_Q_kernel/releases/tag/1.35-bbr2
7th Release:
MOD KERNEL 1.3-BBRv2 STABLE:
RELEASE NOTES:
Added the 31+ commits for BBRv2 from Google. Squashed the commits down to 6 by author from Google (for easy code maintenance). It's said to be the best TCP (internet congestion) algorithm so this sets it by default. You can still select from the others added in 1.3, as mentioned only EX Kernel manager properly shows them. But SmartPack if you choose the one you want under Misc, then click Apply on Boot, it actually will load the TCP algo you selected. It's just a visual defect. I also made a script for SmartPack uploaded to show you the TCP algo that's selected in my repo you can install so you can verify for yourself. Give it 10 seconds (default on boot setting) before you check.
Downloads:
https://github.com/mrslezak/NX659J_Q_kernel/releases/tag/1.3-bbr2
6th Release:
MOD KERNEL 1.3 STABLE
RELEASE NOTES:
All this release adds is TCP congestion algorithms. The only kernel manager which correctly shows the algo set correctly is EX Kernel Manager. Using SmartPack or FK Kernel Manager will tell you that you're always on Reno, when in fact, you aren't. I'm not quite sure if this is bug related to 865 kernels as a fellow dev had the same experience (on an Op8 Pro). Now the default is set to BBR. Why? No reason specifically, although it is one of the better algorithms for internet usage. You can easily change in any kernel manager and set on boot which one you'd like to use (see above RELEASE NOTES if using SmartPack). But this gives you plenty of options:
BBR, BIC, CDG, CUBIC, DCTCP, WESTWOOD, HSTCP, HYBLA, HTCP, VEGAS, RENO, VENO, SCALABLE, LP, YEAH, ILLINOIS
You can Google the benefits of each and pick what you like. Or just leave it alone. The prime idea of MOD kernel is that you don't need to adjust anything it just works optimally without any intervention. Read the release notes for prior features that have been added. There are many just not summarized in a single place at the moment. All the optimization has been done for Red Magic OS.
Downloads:
https://github.com/mrslezak/NX659J_Q_kernel/releases/tag/1.3
5th Release:
MOD KERNEL 1.25BETA
RELEASE NOTES:
This release is mostly about battery savings. I'm averaging around 6.5% active drain on normal tasks with this version (90hz setting), and around 0.5% screen off drain. A big improvement over the stock kernel. So I ended up with about 13 hours SOT + 24 hours screen off on 1 charge! See the picture, I stopped at 11% left. Now I didn't say anything about gaming. If you want to game and have power saving benefits, don't enable any of the built in boosting modes in the game launcher - the Red Magic OS will override everything. Let the kernel do the work for you. And if you're seeing any graphics lag, go into SmartPack kernel manager (free) and go under GPU, Adreno Boost is enabled on low, you can set it to medium or high. That will increase the speed at which the GPU throttles up and down.
1) Switch to the Energy Model for CPUs: Several subsystems (thermal and/or the task scheduler for example) can leverage information about the energy consumed by CPUs to make smarter decisions. This config option enables the framework from which subsystems can access the energy models.
2) Added CPUMASKS for the Little, Big, and Prime cores from Sultan Alsawaf Sultan: SultanXDA, prime added by Danny Lin: kdrag0n.
3) Added kernel control of the minimum frequencies for the little and big clusters by Danny Lin kdrag0n. They are set to run at their minimum running frequencies when idle 691mhz (little) and 710mhz (big) which results in nice power savings when web browsing or just under low load in general. Prime cluster min is not set as it makes the CPU scheduler function poorly.
4) Added AdrenoBoost by Aaron Segaert: Flar2, with all its changes squashed into 1 commit. Defaults to low setting. As mentioned before, you can change in SmartPack, and set on boot if you need a higher value than low: https://github.com/SmartPack/SmartPack-Kernel-Manager/releases
5) Uploaded the various GPU OC files to the repo, It still will just build off the default one, but they are here to be complete. 940mhz version again is posted, Building direct from the repo will give you 900mhz max GPU.
Downloads:
https://github.com/mrslezak/NX659J_Q_kernel/releases/tag/1.25BETA
4th Release:
MOD KERNEL 1.2 BETA
RELEASE NOTES: (Note a 940mhz GPU clock edition is available, if you want to try it, a few of us have had good results on it. Likely the max an 865 GPU can run. You'll sacrifice the power savings, however):
1) Enable Power-efficient workqueues by default, add a toggle that can turn this off via a kernel manager (under CPU in SmartPack). Enabling this makes the per-cpu workqueues which were observed to contribute significantly to power consumption unbound, leading to measurably lower power usage at the cost of small performance overhead. Have also added many other power saving features to the defconfig. The phone is a beast, power savings is a good thing to implement.
2) Update the LZ4 decompressor algorithm with a much faster variant for the ZRAM swap, now version 1.8.3-9 credits Gao Xiang [email protected] and many others (check commits). Speed improvement below (should help on 8GB devices):
Compressor name Compress. Decompress. Compr. size Ratio Filename
lz4hc 1.7.3 -9 12 MB/s 653 MB/s 42203253 42.20 enwik8
lz4hc 1.8.3 -9 11 MB/s 965 MB/s 42203094 42.20 enwik8
3) Default scheduler is set to SQ deadline. Should see minimal improvements in speed until I get a MQ variant working. On the task list ahead.
Download Link:
1.2BETA: https://github.com/mrslezak/NX659J_Q_kernel/releases/download/1.2BETA/MOD-RM5G-GPUOC-Beta1.2.zip
940mhz GPU release here, it's still 1.2BETA, just with the max clock a few of us have been able to use. That doesn't mean your device can for sure handle it, but give it a try if you'd like! Note the power savings will likely not be there vs the other release at 900mhz:
https://github.com/mrslezak/NX659J_...oad/1.2BETA/MOD-RM5G-GPUOC-940mhz-Beta1.2.zip
3rd Release:
1.15BETA: https://github.com/mrslezak/NX659J_Q_kernel/releases/tag/1.15BETA
This is a HEAVILY updated release of the MOD kernel 1.10BETA - I realized the phone's software will allow 6 frequency clocks, although 1 did not have a regulator defined (now patched). NOW I VERY HIGHLY suggest installing SmartPack Kernel manager. It will give you insights into the kernel and how it's performing and it's free. It also will let you adjust added options now in the kernel. Just root your phone and flash from TWRP. If you haven't already installed Magisk, then install that too. There's a guide I posted on XDA about that. Use the experimental method there is no reason to unlock your bootloader. https://forum.xda-developers.com/nu...how-to-unlock-bootloader-redmagic-5g-t4081743
RELEASE NOTES:
1) Bugfix: there was 1 missing 800mhz GPU frequency regulator clock on the prior version. This has been set to TURBO, 1 level under the 900mhz regulator of TURBO_L1.
2) Boeffla WakeLock blocker (v1.10 + tweaks) has been added to reduce battery drain when the phone is not being used, using the latest version and all patches. A default block list is included. You can access in SmartPack Kernel Manager under the new menu that will appear "Wakelocks" - especially investigate if your phone has high idle drain, you can experiment with blocking other wakelocks (which don't allow your phone to sleep). Or you can leave as is. I get just under 1% drain (screen off) and the phone sleeps quite often with this version. Take a look at the screen shot! That's just normal phone usage, not gaming.
3) All debug entries (except those required) have been stripped completely out of the kernel. This results in less wasteful debug information being generated.
4) The default algorithm for ZRAM has been changed from LZO (high compression, but slow) to LZ4 (slightly less compression, but fast). LZ4 algo was added. It still defaults to 4GB.
5) Dynamic Fsync has been added to the kernel as well. This patch allows journal entries to be written only when the screen is off. I.e. they are cached and written afterwards. This increases database performance. It is disabled by default so in SmartPack Kernel manager, if you'd like to turn it on, go under Misc, select Dynamic Fysnc, and select apply on boot. There is always a risk of data loss when delaying writes, although I've personally never have had issues - it only happens if the phone crashes, and mine has never crashed on this kernel. This won't normally increase your benchmark scores (except AndroBench), it increases SQLite database access speed. Up to you to use or not, works fine on my device.
6) Here are the updated frequencies (note there is 1 more). Will have to wait for AOSP before I can add back more. Note the 670MHz is likely the 865+ max frequency per the release notes today on the device (which I assumed by the source code anyhow pre-announcement): 900MHz / 800MHz / 670MHz / 525MHz / 400MHz / 305MHz
AS ALWAYS, USE AT YOUR OWN RISK!!!
Github Source:
https://github.com/mrslezak/NX659J_Q_kernel
Initial Release:
https://github.com/mrslezak/NX659J_Q_kernel/releases/tag/1.0.BETA
Second release - gets over the "reset to 490mhz" bug caused by the system software, at the expense of reducing frequencies to 6 total:
https://github.com/mrslezak/NX659J_Q_kernel/releases/tag/1.10BETA
Newest release -> will be posted on the top from now on.
Telegram:
https://t.me/NubiaRedMagic5G_Mods
And note the AnTuTu benchmark is just a first run after installing. 670K is likely a record on any 865 phone. The last bench turning off 4GB ZRAM (12gb/256gb device) I got 673K. AnTuTu doesn't equal performance, but if you've benched you'll see this is an insane improvement over the stock kernel. Only when the demand is there will it scale up to 900mhz. I've been using for a while now and notice no difference in battery life. The Adreno driver is very good at handling extra clock frequencies efficiently without modification (despite an "Adreno Boost" that is often added to kernels). The gamers using the kernel are making statements that they couldn't imagine the game play any better than it already was, but now it's even smoother.
Unfortunately the way the Nubia software behaves, it auto-resets to power level 5 (which was 490mhz) on the 1.0BETA on boot and also after boosting the frequencies up. I tried every possible way to bypass this but eventually just gave in and removed frequencies. So the BETA1.10 and above have less frequencies but will always revert to 305mhz, the base minimum frequency of the device. Hopefully once we have AOSP ready I can add more.
MattoftheDead
I.e. M.O.D. Kernel Developer
The first Red Magic 5G OC kernel.
Xiaomi Mi9 / Mi9T Pro Pie V2 and Q V1.5 Kernel Dev
Nice work. Do you notice any benefits to OCing the GPU like that? I don't think there are many games that would benefit atm.
This is amazing !!! :laugh:
Is this going to work on all roms like CN, NA or EU Roms? Im currently running NA 3.11 flash from CN rom with root and twrp
We have people using it on CN Global and NA versions no problem at all. Works fine on every model.
Kernel is fully functional no issues at all.
CN Rom to NA Rom v3.11
305mhz min to 900mhz max confirmed and using smart pack to control the frequency
Thank you for this hopefully there is more development i really appreciate ur effort
Kernel building is just a hobby of mine, I was posting a minimal kernel to get some more kernel developers on board to hopefully add more features. I usually add Boeffla Wakelock Blocker and Dynamic Fsync and call it a basic kernel. The last super kernel I made took way too long, and I don't have that kind of time anymore - boost functions and underclocking to balance out the battery life and such. Development work doesn't pay anything, I didn't get the phone free, all my donations go to other developers. And I have a full time job and family. But if anyone wants to port over my MOD Kernel Q 1.5 Mi9 features, well that would be a super kernel. It's just really, really time consuming, time I don't have at the moment. And the merging of source has to be EXACT or you end up with a really slow phone rather one that balances underclocking, boost, and overclocking.
MishaalRahman said:
Nice work. Do you notice any benefits to OCing the GPU like that? I don't think there are many games that would benefit atm.
Click to expand...
Click to collapse
All the gamers using the kernel are reporting that the games run smoother than before, which no one thought was possible. It is already a flagship device. But the GPU OC with the Adreno driver scales when needed up to the frequencies that it has in the table and has no issue on 670, 800, and 900mhz reported so far. There are gamers on NA, Global, and CN ROMs, with no bugs reported. No issues and everything works properly. I have tested myself and although I'm not a gamer, all the functions work as they should. It still connects via Bluetooth, it still takes photos and videos, etc. There is no lag whatsoever. Overall I think the frequencies are ideal for this device with it's advanced active cooling system. Other devices however, with passive cooling, are unlikely to handle the increased GPU clocks.
I found an unusual bug where the GPU Minimum Frequency will reset on its own to 490mhz even if i set the minimum frequency to 305mhz im using smart pack kernel manager that you provided and cool tool btw to monitor the gpu frequency.
I also set the battery optimization to off on smart pack so it wont turn off itself.
This also happens when i played games that actually boost to 800 to 900mhz then after i close the game it sets back the minimum frequency to 490mhz so i have to set it again to 305mhz on the kernel manager to save more battery and lower the temps.
I also notice it sets back to 490mhz minimum frequency by just watching youtube videos so i have to set it back to 305mhz again. I tried different kernel manager too like Franco Kernel Manager and Kernel Audiator and still doesnt fix the issue
I think this was a minor bug for sure
I never touch the GPU governor btw
Performance was super nice thou i scored 645k on antutu on my first run but for now im going back to stock and gonna wait for your next update
What to do to root the phone without breaking the fingerprint please. I read the article publish nothing understood someone can explain to me step by step. I am an amateur I never root a phone. I have cn 2.55 16gb.
I don't have the same issue - I just tried to recreate it by watching a YouTube video and I went back to SmartPack and it still shows 305MHz GPU frequency. Although I'm using the debloated / optimized ROM I created Black Magic 5G which has everything setup properly, Nubia apps frozen, everything moved to 3rd party apps. NETFLIX patched to 4K HDR10, YouTube Vanced, a ton of root utilities, AdAway ad blocker, etc. You can find it on the Telegram channel (I'm using the NA/Global version of Black Magic 5G). Then I watched Netflix, still at 305mhz. As I have no idea how you've setup your phone, I just can't recreate it.
shaifabra5 said:
I found an unusual bug where the GPU Minimum Frequency will reset on its own to 490mhz even if i set the minimum frequency to 305mhz im using smart pack kernel manager that you provided and cool tool btw to monitor the gpu frequency.
I also set the battery optimization to off on smart pack so it wont turn off itself.
This also happens when i played games that actually boost to 800 to 900mhz then after i close the game it sets back the minimum frequency to 490mhz so i have to set it again to 305mhz on the kernel manager to save more battery and lower the temps.
I also notice it sets back to 490mhz minimum frequency by just watching youtube videos so i have to set it back to 305mhz again. I tried different kernel manager too like Franco Kernel Manager and Kernel Audiator and still doesnt fix the issue
I think this was a minor bug for sure
I never touch the GPU governor btw
Performance was super nice thou i scored 645k on antutu on my first run but for now im going back to stock and gonna wait for your next update
Click to expand...
Click to collapse
Yeah maybe because you modified the rom.
Im currently running Flash Global V3.11 when i tested your kernel no modification made im just rooted with TWRP Installed and i posted this kernel on red magic 5g group on facebook and 3 of us having the same issues as well.
Im gonna try it again on V3.13
UPDATE:
still returning to 490mhz as minimum frequency after gaming and after watching one youtube clip
kinda sad hopefully you can fix this bug on the global rom that nubia provided if you have the time, great kernel for gaming because of the 900mhz boost and the phone can sustain this boost because of the active fan
Why don't I have a roughly similar score?
Is it possible to overclock the CPU as well? They officially release the specs sheet of ROG Phone 3 it has overclocked CPU (3.091ghz) and an overclocked GPU. I know this phone can keep up with those clocks because of the cooling system but the problem is the battery life. But still, its worth it.
Blink003 said:
Is it possible to overclock the CPU as well? They officially release the specs sheet of ROG Phone 3 it has overclocked CPU (3.091ghz) and an overclocked GPU. I know this phone can keep up with those clocks because of the cooling system but the problem is the battery life. But still, its worth it.
Click to expand...
Click to collapse
I believe Qualcomm blocked overclocking of CPUs quite a while ago from SD845. Only GPUs can be overclocked.
Though I don't know if devs have gotten tools to get around it.
The 490 bug looks like it's related to the gaming mode APK resetting the min frequency. I can't decompile or recompile APKs so I don't have a way to get around the system reverting to 490 without removing 3 other frequencies. It seems hard-coded in the app that it only expects to see 5 frequencies so to have all working properly, 3 need to be removed. This is in contrast to what my buddy dev on the Op8 Pro can do, but this device is designed differently in how it boots and custom apps that increase frequency clocks. If any devs are good with APKs it's a very simple function call that sets the minimum GPU frequency. The only odd thing I see is that the minimum power level stays at 8 (minimum) which corresponds to the lowest clock speed. That number doesn't change in a kernel manager when the min GPU clock reverts to 490.
I'm off on vacation not near a PC but will try to come up with a stock # of clock frequencies that still scrolls smoothly between them and the Adreno GPU driver. May take a few tries but it's quite easy to modify. I already think 180mhz is too low from using it, it's more of a sleep frequency some suggested going this low but I think the phone design is for 300+. I prefer to use more clocks for better throttling but have to work with what we are given and do the best inside those boundaries.
No you can't raise CPU clocks on 865 devices that ROG device is supposedly using the 865+ or whatever the mid device is named between the 865 and 875. They have blocked CPU OC hardware wise for some time now.
mslezak said:
No you can't raise CPU clocks on 865 devices that ROG device is supposedly using the 865+ or whatever the mid device is named between the 865 and 875. They have blocked CPU OC hardware wise for some time now.
Click to expand...
Click to collapse
Qualcomm's Meizu’s CMO Wan Zhiqiang recently commented on Weibo saying that there won’t be a Snapdragon 865 Plus this year.
We will see!
No 865+ this year..
Trust me whatever they call it it's already defined in the source code as a second GPU bin clock for another device ID. So maybe it won't be called an 865+ but there is some device between the 865 and 875 coming out. I have OEM confirmation as well this device exists the name isn't important. I can tell you the top GPU frequency is 670mhz that's it, vs. the 587mhz default on the 865. Still the 865 handles 900mhz GPU no problem the only benefit would be higher CPU clocks. And an extra GPU clock. Which I'll attempt to spoof next time I get near a PC.
mslezak said:
Trust me whatever they call it it's already defined in the source code as a second GPU bin clock for another device ID. So maybe it won't be called an 865+ but there is some device between the 865 and 875 coming out. I have OEM confirmation as well this device exists the name isn't important. I can tell you the top GPU frequency is 670mhz that's it, vs. the 587mhz default on the 865. Still the 865 handles 900mhz GPU no problem the only benefit would be higher CPU clocks. And an extra GPU clock. Which I'll attempt to spoof next time I get near a PC.
Click to expand...
Click to collapse
Is it possible to overclock the memory clock too? I assumed that 900mhz is the core clock.
mslezak said:
Trust me whatever they call it it's already defined in the source code as a second GPU bin clock for another device ID. So maybe it won't be called an 865+ but there is some device between the 865 and 875 coming out. I have OEM confirmation as well this device exists the name isn't important. I can tell you the top GPU frequency is 670mhz that's it, vs. the 587mhz default on the 865. Still the 865 handles 900mhz GPU no problem the only benefit would be higher CPU clocks. And an extra GPU clock. Which I'll attempt to spoof next time I get near a PC.
Click to expand...
Click to collapse
You're right, that makes sense.
I'm glad they are making a refreshed chip.
On another note, do you think we will see an overclocking tool in the future?
Possibly with a custom ROM?

Categories

Resources