[OnePlus 2 Original Android Development] andip71:
** 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: support@boeffla.de

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