After rising to the most popular Kernel on Pixel 3/XL, here it is for the One Plus 7/Pro!
Kirisakura - Kernel is designed to bring a handful of beneficial features to the device, while ensuring excellent performance and smoothness to get you safely through the day!
Being the first kernel on the Pixel 3/XL forum, which features completely merged CAF, it´s now here one the One Plus 7/Pro Forums too!
It´s the first kernel on the OP7/Pro forums to have latest CAF - Source as well as latest linux-stable upstream merged in.
The kernel is fully rebased to latest available CAF source from the Codeaurora-Forums for the 4.14 msm kernel. (except charging driver for now, don´t have the same means as One Plus for testing Battery longevity, no risks there)
The kernel is also upstreamed to latest linux stable for enhanced security and stability.
Have a read about linux-stable and why it is important here
The EAS implementation is heavily updated with changes from CAF, kernel/common and other improvements.
To have a read about our scheduler, which is called EAS, take a look here:
- Based on latest kernel sources from One Plus for Android 10, made for stable OOS releases (kernel for custom roms available without support)
- Kernel for Custom Roms available, starting with 1.9.1 (no official support, see release of 1.9.1)
- Fully rebased on the latest next-gen CAF-tag for the SD855
- CAF -tags LA.UM.8.1.r1-14700-sm8150.0 and LA.UM.8.11.r1-01200-NICOBAR.0 merged, as well as LV.AU.0.0.1-02420-qtiquingvm.0
- Linux-Stable-Upstream included to latest 4.14.198
- compiled with Clang 11.0.3 and built with -O3 speed optimizations
- ZRAM patched up to latest kernel/common state and use LZ4 as default compression algorithm to improve memory managment
- Safety Net patches are included -> Kernel passes Safety Net
- Wake Gestures from @flar2 included
- Flashing the kernel will keep root!
- Kernel zip is flashable via EXKM app
- Anykernel zip is based on the all new Anykernel3 release from @osm0sis
- F2FS updated to latest F2FS stable (see post 3 on how to convert your phone to f2fs!)
EAS related features:
- EAS implementation patched up to latest CAF state
- disable autogroups and use cgroups for more efficient task placement!
- improved schedutil governor
- mimic pixels setup of the schedutil governor
- setup cpusets like on pixel for more efficiency and better performance
CPU related features:
- Power saving workingqueues enabled by default (toggleable in EXKM)
have a read here: https://lwn.net/Articles/731052/
this complements EAS in general
- Change various drivers ( MM, audio) to user power efficient workingqueues. This should work well in conjunction with EAS
- Add hold functionality to schedtune CPU boost
- cpufreq/times vastly improved
File System related features:
- Set the bio REQ_NOENCRYPT flag (When lower layers such as dm-crypt observe the REQ_NOENCRYPT flag, it helps the I/O stack avoid redundant encryption, improving performance and power utilization. ) (CAF default)
Usability related features:
- High Brightness Mode for increasing backlight level related to brightness accessible via EXKM app
- Vibration Intensity adjustable via EXKM app
- DC Dimming setting now fully functional
GPU related features:
- KCAL to control the display
- KLAPSE integrated
- KCAL/KLAPSE: changes safety measures -> allow completely disabling two RGB values (this was requested to, for example, only have red values on night dimming)
- Enabled NAP power saving state of Adreno 640
- Ability to use the new 675mhz GPU step officially introduced by CAF (OP7/Pro is set to only use 585mhz as max)
more information and benches in the 1.2.0 release post
- some display tweaks to save power on statically rendered images
The camera driver is updated to the latest state found on CAF for 4.14 devices with SD855.
These commits contain hundres of changes improving performance, fixing memory leaks, race conditions and general enhancements for the camera driver!
Network related features:
- Wireguard Support (Details)
- advanced TCP algorithms enabled
- includes new bbr
- TCP controller Agile-SD included. more information here and here
Memory related features:
- Memory Management patches from mainline kernel
- Speculative Page Faults (1. 2)
- Fix various memory leaks in different subsystems
- Reap memory of a task that receives sigkill
- enabled per process reclaim
- allow ZRAM to use higher swappiness values than 100
- ZRAM compression algorithm lz0-rle added -> more information linked here
Security related features:
- built with self built clang 10
- use CAF wlan driver and compile it inline, the only way to ensure working wlan with this kernel
- the kernel cannot even force load OP prebuild WLAN module as the kernel base is way to far from stock!
- do no longer rely on the pre compiled OP wlan driver module, where OP doesn´t bother to release the source for
- completely removed qcom_rx wakelock (the amount of wakeups caused by this wakelock over a single night is more than 3 times as high as on my pixel 3 -> this improved overnight deep sleep by a considerable margin)
- removed debugging from wlan driver
- removed logging from wlan driver
- update it to latest CAF state
- use power efficient workingqueues
Magisk Companion Module
- it is necessary to ensure the device is in a fully working state without me needing to hard edit many system files!
- set kernel settings like I intend them to be, without the need to hard edit/add to many files to /system or /vendor
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read this for further info
- Support for OOS Battery Idle Mode
- disable logging to make the kernel more lightweight in various places
- use VDSO_32 patchset from the pixel devices
Feature section for the "non visible" but perceptible improvements:
- updated binder section (responsible for interprocess communication)
- updated sdcardfs ; have a read about it here:
- unlocked Bootloader
- USB-Debugging in developer options enabled
- latest adb and fastboot binaries
- working adb and fastboot environment
- magisk root
How to flash the Kernel:
1. Download the latest kernel.zip and the latest companion magisk module. Make sure to download the correct ones depending if you´re running OOS or a custom ROM!
1a. Optional: While it may not be necessary all times, you may want to restore stock boot.img, re-root with magisk and optionally install twrp.zip if coming from another kernel. Before reporting issues make sure you do that! Thank you!
2. Make sure to use latest Magisk stable.
3. Flash the magisk companion module in Magisk Manager.
4. Flash the kernel.zip either in TWRP or via EXKM or FKM
5. Reboot and profit. Now change the wake gestures in EXKM app to your personal liking! The kernel and the magisk module itself ensure you´re running the setup that´s intended.
If you want to use the additional GPU step, from the SD855+ enable it via your kernel manager.
If you change other settings, you will probably lose some optimizations. Don´t come back here and complain.
Download is located always in this folder:
Important: Read after Download
Please take a look at the second post after flashing the kernel!
1.0.0 Initial Release
Donations are not mandatory but very welcome if you want to support development or just buy me a coffee
If you like my work: http://paypal.me/freak07
@osm0sis for all his work, including the ak2 installer!
@tbalden for being the best HTC wingman!
@LeeDroid for his awesome roms!
@Captain_Throwback for all the mentoring and guidance!
@Eliminater74 for bringing me into the game and the Inspiration
@nathanchance for his upstream guidance and assistance
@RenderBroken for helping me out
@flar2 for all his work
@joshuous for all the help he provided to me in the past!
@arter97 for giving me advice
@topjohnwu for magisk!
@osm0sis for anykernel!
Kirisakura-Kernel, Kernel for the OnePlus 7 Pro
Source Code: https://github.com/freak07/OP7PRO
Kernel Special Features:
Last Updated 2020-09-26