[Kernel][21.08.2021][4.14.243][Android 11] Kirisakura 1.3.9_R for OP7/Pro aka Guacamole

Search This thread

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,643
18,738
Was anybody brave enough with a regular OP7 to test the fingerprint sensor?
 

miguelang611

Senior Member
May 14, 2016
395
74
OnePlus 7T
I think it´s not a different FP sensor. So it´s not the same situation that happened on OP8 pro devices that were bought shortly before A11 arrived there.
Back then there was a new batch of op8 pros that had a new FP sensor OnePlus never pushed the source for in their Android 10 repo.
Once they pushed the A11 source, they included the new FP sensor version in the source.
While on their stock kernel on A10 these devices continued to work fine.


However I don´t think it´s the same situation here. Logs from stock kernel and my kernel:

Kernel log of stock kernel shows this:
[ 1.075734] [ 1.075733]@7 gf_spi: gf_init:fp version 4

Log from my kernel shows this:
[ 1.141989] [ 1.141988]@7 gf_spi: gf_init:fp version 4
Then 0 guess why on 7T it fails to detect it? If it is same hardware across all 7 Series why the hell it could fail? It is kinda strange!

Well, hoping there will be a solution soon!

Thanks for the work!
 

mjb337

Senior Member
May 1, 2009
294
18
Baton Rouge, LA
Kirisakura-Kernel for the One Plus 7 Pro

Hello everyone,

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!

This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.
Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features.
The only kernels made by OEMs offering this security feature by default are the ones for the Pixel 3, 4 and 5 devices.
The recently released Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.
If possible the latest Kirisakura-Kernel releases for various devices aim to include CFI in enforcing mode so users can benefit from this security features.

Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixel 3, 4 and 5 kernels use this security feature.
SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
If you´re interested here are a few good links:
Google Security Blog explaining SCS.
LLVM doc about SCS
Android DOCs documenting SCS

If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.

Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 855/+ that´s built into the different SKUs of the OP7/T/Pro.
The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. Most OEMs usually stop updating the initial base after the phone is released, and only cherry-pick certain commits to be in line with the android security bulletin.
This kernel focuses amongst the other features to merge CAF-Updates in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.

The EAS implementation from 4.19 CAF (sd865/+) was ported to this kernel. There are several interesting mechanisms qcom worked on. The basic layout of the soc architecture ( 4xLittle- , 3xBig- and 1x Prime-Core(s)) has not changed from SD855 to SD865. That means instead of revolution there was a very nice evolution the scheduler underwent.

The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
Many of the improvements originate from @arter97´s, @kdrag0n´s, @RenderBroken´s and @Sultanxda´s work. Many others contributed in some way or another to this kernel.
A big thanks to all of them at this place!

Now lets continue with a list of features in the next paragraph!


Main Features:
- Based on latest kernel sources from OnePlus for Android 11
- Upstreamed against latest CAF
- Linux-Stable-Upstream included to latest 4.14.228
- compiled with Clang 12.0.4 prebuilt from Google
- built with -O3 speed optimizations
- Link-Time-Optimization (ThinLTO)
- Kernel Control-Flow-Integration (CFI)
- Shadow Call Stack (SCS) Security-Feature
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
- fix CFI-Violations found in various subsystems like OnePlus/device specific drivers and qualcomm drivers
- Link the kernel with LLD and use RELR-Relocation
- include important fixes/improvements from kernel/common
- Flashing the kernel will keep root!
- Anykernel zip is based on the Anykernel3 repo from @osm0sis
- include vDSO 32 patches to improve 32-bit performance
- disable various debugging configs, that are not needed in a perf build kernel according to google.
- Removed RTB(interrupt) logging entirely
- disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
- fix several coding issues detected by newer Clang-Toolchains

EAS related features:
- EAS scheduler backported from 4.19 CAF
- disable autogroups and use cgroups for more efficient task placement!
- updates from kernel/common
- scheduler updates from Googles Pixel kernel

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
- include cpuidle patches from CAF
- improvements to cpufreq/times/stats
- improve memory allocations in binder driver
- vdso32 patches as found on Google Pixel devices (brief documentation here)
- arm64: lse: Prefetch operands to speed up atomic operations
- improve bluetooth performance
- improve /proc performance
- remove VLA-usage (info)
- option to disable touchboost in msm_performance

File System related features:
- improve memory allocations in sdcardfs
- improve memory allocations in kernfs
- writeback: hardcode dirty_expire_centisecs=3000 based on this commit
- ufs improvements from pixel 4/ pixel 5 kernel
- default IO scheduler to CFQ and readahead to 128

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
- add support for steam controller
- add support for nintendo switch controller

Display 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)
- display tweaks to save power on statically rendered images (taken from samsung galaxy source, which uses a very similar panel)
- improve memory allocation

GPU related features:
- 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
- add low_prio_worker thread for gpu driver (Improves performance when tearing down processes (eg, via LMK) and not blocking currently running UI from submitting work to the GPU
- remove debugging tracing from GPU driver
- improve memory allocation


Network related features:
- Wireguard Support (Details)
- advanced TCP algorithms enabled
- includes new bbr and bbrv2 (default to bbr as advised by @kdrag0n )

Memory related features:
- Memory Management patches from mainline kernel
- Speculative Page Faults (1. 2) (CAF-default)
- Fix various memory leaks in different subsystems
- allow ZRAM to use higher swappiness values than 100
- default ZRAM algorithm set to lz4 (fastest compression/decompression speeds)
- possibility to use lzo-rle as default ZRAM compression algorithm (more information here and there )
- possibility to use zstd as default ZRAM compression algorithm ( higher compression ratio, slightly lower compression decompression speed, more information and benchmarks here)
- free up memory by removing unused memory regions from dts

Security related features:
- Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
- Shadow Call Stack (SCS) Security-Feature
- fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- enable init_on_alloc for even more security, more information can be found in the commit message

WLAN Driver:
- use CAF wlan driver and compile it inline, the only way to ensure working wlan with this kernel
- the kernel cannot even force load prebuild WLAN module as the kernel base is way to far from stock!
- do no longer rely on the pre compiled wlan driver module
- completely removed qcom_rx wakelock in the wlan driver
- removed debugging from wlan driver
- removed logging from wlan driver

Scheduler Setup and Kernel Settings:
- kernel setting get automatically applied at boot
- no magisk module is necessary on OOS 11



Misc Features:
Wakelock Blocker:
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info

- blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!




Requirements

- 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

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!
1b. Optional: The stock kernel can be restored by either dirty flashing the firmware.zip or by restoring the stock dtbo.img as well as boot.img. Those can be extracted via payload extractor from the firmware.zip.

2. Make sure to use latest Magisk stable.

3. Flash the kernel.zip via latest EXKM or FKM app. Alternatively via TWRP if TWRP is working.

4. Reboot and profit.


DOWNLOAD:
Download is located always in this folder:

Android 11:

Android 10:


Android Pie:


Important: Read after Download
Please take a look at the second post after flashing the kernel!

Changelog:

Android 9/Pie


Android 10/Q:


Android 11/R
1.1.0_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84786595

Donations:
Donations are not mandatory but very welcome! :)
If you want to support development or just buy me a coffee/tea to get development going: http://paypal.me/freak07

Credits:
Asus for the Zenfone 6!
@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
@kdrag0n for giving me advice
@topjohnwu for magisk!
@osm0sis for anykernel!


Contributors
Freak07
Source Code: https://github.com/freak07/Kirisakura_OP7Pro_A11

Kernel Special Features:

Version Information
Status:
Stable

Created 2019-05-26
Last Updated 2020-09-26
Great job to all the devs who made this possible I never post anything but had to try this kernel after reading everything. Flashed via the FX App without any hiccups I even flashed a few magic modules as well like (adb and fastboot binaries enabled systemless via magisk manager I even installed the AdAway apk for some reason I don't remember. Smooth sailing OP7P....
 

valeriee

Senior Member
Oct 3, 2013
456
36
What twrp version is recommended and are you guys clean or dirty flashing the update from A10 to A11? Thanks!
 

pitrus-

Senior Member
Sep 4, 2011
1,278
573
Östersund
www.wickenberg.nu
What twrp version is recommended and are you guys clean or dirty flashing the update from A10 to A11? Thanks!
There's no working TWRP available for A11 yet. A10 TWRP will work if you format your device and flash encryption disabler, but then you're device is unsafe as it's unencrypted. I'm waiting for compatible TWRP as I want my device to stay encrypted.
 
  • Like
Reactions: khalisz

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,643
18,738
Update to 1.1.1_R

Hey guys and girls,


So this update has the fingerprint sensor fixed for the OnePlus 7T. I´ll include the changelog of 1.1.0_R again to this post as I´m sure not everybody has updated to the first version of the kernel.
So if you haven´t read the release post of 1.1.0_R I suggest to read the following section! :)


New Things in the Android 11 Update

Here´s the update for Android 11. This will be a longer post. It would be nice if you took the time reading and not head straight to the download button.

OnePlus Source Code "Situation"

As it was already suggested by other people in the OP7/Pro Forums on XDA, the source code OnePlus pushed to github for Android 11 on the OnePlus 7 series is incomplete and does not resemble the stock kernel.
@LuK1337 began to work on the lineage kernel based on the A11 OP 7/Pro source and ported some of the missing stuff from the OnePlus 8 pro. Since his work is made for a source-built custom rom, it´s not a problem to disable most vendor/OnePlus specific implementations in the kernel since Lineage OS´s framework does not rely on them. A big thanks to him for porting some missing code that was very helpful for my project!
However OOS does rely on exactly these changes, that can be removed for Lineage. OOS either fails to boot completely (like described here)or the framework complains about missing stuff in the kernel. That´s also the reason why I never removed the OnePlus specific additions in the Android 10 kernels. (like described there)
The framework complaining can be silenced by "spoofing" the removed values to the framework. The problem with this approach is, that while the kernel is open source, the framework is not. So it´s not clear what will be happening when spoofing these values.
This is a battle I chose to not fight, even if I don´t like some of those vendor/OnePlus specific changes in various parts of the kernel.
The missing code was ported by comparing the OP7 Pro A10 source with the OP8 Pro A11 source. The OnePlus specific code that was not missing in the OP7 A11 source was (almost) identical to the OP8 A11 source.
A lot of people (more than I expected) PMed me offering to test the kernel alongside me. So far nobody complained about anything not working properly and I´m pretty sure this is a very good base to start.
I´ll push several branches to my kernel repo so other developers have a good point to start as well. I hope this helps in getting development started for A11 kernels.
Still, if other developers decide to wait for a proper source code from OnePlus I can also understand that. What OnePlus is doing is violating the GPL.
There´s no longer any doubt that the source they push is not the actual source. There is code missing everywhere.
Even if they maintain a seperate repo for public source code and the private code they actually work with, these discrepancies are no longer tolerable. (not that they ever were)
The reason I decided to go that route now, is the course of events this all is taking. Despite several updates on the OP8 Pro for example, they didn´t push a new source for months on OOS 11 there.
Source code updates get published less timely the more time goes by, starting with A10 on the OP7 Pro last year.
I hope they will fix all of this and get back on track, but at the moment I don´t have much hope.

I´m not in the developer program from OnePlus, but I´m sure that many developers that are part of this are upset about this situation as well and tried to talk to OnePlus.
I don´t have any contact at OnePlus so this is the only thing I could do.

At this point I want to say a huge thanks to all my testers that PMed me! I really appreciate their dedication. Without it this would not be possible and the kernel wouldn´t be where it is.
Remember that I only have a OnePlus 7 Pro to test. That´s why the kernel is posted in the OnePlus 7 Pro section. One of the tester uses the kernel without issues on the OnePlus 7T Pro. So that is confirmed working as well.

New Features and Update for OOS 11

But lets get to the features and the update. I learned a thing or two during the previous years. I waited for the OP7 Pro A11 for a long time now, to start from scratch and implement what I learned and did for other devices.
The way I did the bringup for A10 last year, didn´t really allow for this without starting from scratch. That´s why I decided to wait for A11 to start from scratch and do a new bringup.
I´d advise everybody to re-read the whole OP. It´s updated and contains all the most important changes. I´ll include a few snippets to this post.

This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.

Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features.
The only kernels made by OEMs offering this security feature by default are the ones for the Pixel 3, 4 and 5 devices.
Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.
If possible the latest Kirisakura-Kernel releases for various devices aim to include CFI in enforcing mode so users can benefit from this security features. So far CFI found its way to the ROG 2, the ROG 3, the OnePlus 7 Pro and the Zenfone 6 as well.

Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixel 3, 4 and 5 kernels use this security feature.
SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
If you´re interested here are a few good links:
Google Security Blog explaining SCS.
LLVM doc about SCS
Android DOCs documenting SCS

If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.

Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 855/+ that´s built into the different SKUs of the OP7/T/Pro.
The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. Most OEMs usually stop updating the initial base after the phone is released, and only cherry-pick certain commits to be in line with the android security bulletin.
This kernel focuses amongst the other features to merge CAF-Updates in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.

The EAS implementation from 4.19 CAF (sd865/+) was ported to this kernel. There are several interesting mechanisms qcom worked on. The basic layout of the soc architecture ( 4xLittle- , 3xBig- and 1x Prime-Core(s)) has not changed from SD855 to SD865. That means instead of revolution there was a very nice evolution the scheduler underwent.

Changelog:
Since I don´t have the time to create a changelog specific for this release, lets take the updated feature list from the first post as a changelog!

Main Features:
- Based on latest kernel sources from OnePlus for Android 11
- Upstreamed against latest CAF
- Linux-Stable-Upstream included to latest 4.14.228
- compiled with Clang 12.0.4 prebuilt from Google
- built with -O3 speed optimizations
- Link-Time-Optimization (ThinLTO)
- Kernel Control-Flow-Integration (CFI)
- Shadow Call Stack (SCS) Security-Feature
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
- fix CFI-Violations found in various subsystems like OnePlus/device specific drivers and qualcomm drivers
- Link the kernel with LLD and use RELR-Relocation
- include important fixes/improvements from kernel/common
- Flashing the kernel will keep root!
- Anykernel zip is based on the Anykernel3 repo from @osm0sis
- include vDSO 32 patches to improve 32-bit performance
- disable various debugging configs, that are not needed in a perf build kernel according to google.
- Removed RTB(interrupt) logging entirely
- disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
- fix several coding issues detected by newer Clang-Toolchains

EAS related features:
- EAS scheduler backported from 4.19 CAF
- disable autogroups and use cgroups for more efficient task placement!
- updates from kernel/common
- scheduler updates from Googles Pixel kernel

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
- include cpuidle patches from CAF
- improvements to cpufreq/times/stats
- improve memory allocations in binder driver
- vdso32 patches as found on Google Pixel devices (brief documentation here)
- arm64: lse: Prefetch operands to speed up atomic operations
- improve bluetooth performance
- improve /proc performance
- remove VLA-usage (info)
- option to disable touchboost in msm_performance

File System related features:
- improve memory allocations in sdcardfs
- improve memory allocations in kernfs
- writeback: hardcode dirty_expire_centisecs=3000 based on this commit
- ufs improvements from pixel 4/ pixel 5 kernel
- default IO scheduler to CFQ and readahead to 128

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
- add support for steam controller
- add support for nintendo switch controller

Display 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)
- display tweaks to save power on statically rendered images (taken from samsung galaxy source, which uses a very similar panel)
- improve memory allocation

GPU related features:
- 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
- add low_prio_worker thread for gpu driver (Improves performance when tearing down processes (eg, via LMK) and not blocking currently running UI from submitting work to the GPU
- remove debugging tracing from GPU driver
- improve memory allocation


Network related features:
- Wireguard Support (Details)
- advanced TCP algorithms enabled
- includes new bbr and bbrv2 (default to bbr as advised by @kdrag0n )

Memory related features:
- Memory Management patches from mainline kernel
- Speculative Page Faults (1. 2) (CAF-default)
- Fix various memory leaks in different subsystems
- allow ZRAM to use higher swappiness values than 100
- default ZRAM algorithm set to lz4 (fastest compression/decompression speeds)
- possibility to use lzo-rle as default ZRAM compression algorithm (more information here and there )
- possibility to use zstd as default ZRAM compression algorithm ( higher compression ratio, slightly lower compression decompression speed, more information and benchmarks here)
- free up memory by removing unused memory regions from dts

Security related features:
- Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
- Shadow Call Stack (SCS) Security-Feature
- fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- enable init_on_alloc for even more security, more information can be found in the commit message

WLAN Driver:
- use CAF wlan driver and compile it inline, the only way to ensure working wlan with this kernel
- the kernel cannot even force load prebuilt WLAN module as the kernel base is way to far from stock!
- do no longer rely on the pre compiled wlan driver module
- removed debugging from wlan driver
- removed logging from wlan driver

Scheduler Setup and Kernel Settings:
- kernel setting get automatically applied at boot
- no magisk module is necessary on OOS 11


Misc Features:
Wakelock Blocker:
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info

- blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!



Download:



Instructions can be found in the OP!
But look at this post too :)

Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07
 

valeriee

Senior Member
Oct 3, 2013
456
36
There's no working TWRP available for A11 yet. A10 TWRP will work if you format your device and flash encryption disabler, but then you're device is unsafe as it's unencrypted. I'm waiting for compatible TWRP as I want my device to stay encrypted.
Thank you! Is encryption disabler same as DM-verity?
 

okiesuparno

Member
Feb 24, 2013
18
3
Malang
Vivo X60 Pro
Update to 1.1.1_R

Hey guys and girls,


So this update has the fingerprint sensor fixed for the OnePlus 7T. I´ll include the changelog of 1.1.0_R again to this post as I´m sure not everybody has updated to the first version of the kernel.
So if you haven´t read the release post of 1.1.0_R I suggest to read the following section! :)


New Things in the Android 11 Update

Here´s the update for Android 11. This will be a longer post. It would be nice if you took the time reading and not head straight to the download button.

OnePlus Source Code "Situation"

As it was already suggested by other people in the OP7/Pro Forums on XDA, the source code OnePlus pushed to github for Android 11 on the OnePlus 7 series is incomplete and does not resemble the stock kernel.
@LuK1337 began to work on the lineage kernel based on the A11 OP 7/Pro source and ported some of the missing stuff from the OnePlus 8 pro. Since his work is made for a source-built custom rom, it´s not a problem to disable most vendor/OnePlus specific implementations in the kernel since Lineage OS´s framework does not rely on them. A big thanks to him for porting some missing code that was very helpful for my project!
However OOS does rely on exactly these changes, that can be removed for Lineage. OOS either fails to boot completely (like described here)or the framework complains about missing stuff in the kernel. That´s also the reason why I never removed the OnePlus specific additions in the Android 10 kernels. (like described there)
The framework complaining can be silenced by "spoofing" the removed values to the framework. The problem with this approach is, that while the kernel is open source, the framework is not. So it´s not clear what will be happening when spoofing these values.
This is a battle I chose to not fight, even if I don´t like some of those vendor/OnePlus specific changes in various parts of the kernel.
The missing code was ported by comparing the OP7 Pro A10 source with the OP8 Pro A11 source. The OnePlus specific code that was not missing in the OP7 A11 source was (almost) identical to the OP8 A11 source.
A lot of people (more than I expected) PMed me offering to test the kernel alongside me. So far nobody complained about anything not working properly and I´m pretty sure this is a very good base to start.
I´ll push several branches to my kernel repo so other developers have a good point to start as well. I hope this helps in getting development started for A11 kernels.
Still, if other developers decide to wait for a proper source code from OnePlus I can also understand that. What OnePlus is doing is violating the GPL.
There´s no longer any doubt that the source they push is not the actual source. There is code missing everywhere.
Even if they maintain a seperate repo for public source code and the private code they actually work with, these discrepancies are no longer tolerable. (not that they ever were)
The reason I decided to go that route now, is the course of events this all is taking. Despite several updates on the OP8 Pro for example, they didn´t push a new source for months on OOS 11 there.
Source code updates get published less timely the more time goes by, starting with A10 on the OP7 Pro last year.
I hope they will fix all of this and get back on track, but at the moment I don´t have much hope.

I´m not in the developer program from OnePlus, but I´m sure that many developers that are part of this are upset about this situation as well and tried to talk to OnePlus.
I don´t have any contact at OnePlus so this is the only thing I could do.

At this point I want to say a huge thanks to all my testers that PMed me! I really appreciate their dedication. Without it this would not be possible and the kernel wouldn´t be where it is.
Remember that I only have a OnePlus 7 Pro to test. That´s why the kernel is posted in the OnePlus 7 Pro section. One of the tester uses the kernel without issues on the OnePlus 7T Pro. So that is confirmed working as well.

New Features and Update for OOS 11

But lets get to the features and the update. I learned a thing or two during the previous years. I waited for the OP7 Pro A11 for a long time now, to start from scratch and implement what I learned and did for other devices.
The way I did the bringup for A10 last year, didn´t really allow for this without starting from scratch. That´s why I decided to wait for A11 to start from scratch and do a new bringup.
I´d advise everybody to re-read the whole OP. It´s updated and contains all the most important changes. I´ll include a few snippets to this post.

This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.

Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features.
The only kernels made by OEMs offering this security feature by default are the ones for the Pixel 3, 4 and 5 devices.
Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.
If possible the latest Kirisakura-Kernel releases for various devices aim to include CFI in enforcing mode so users can benefit from this security features. So far CFI found its way to the ROG 2, the ROG 3, the OnePlus 7 Pro and the Zenfone 6 as well.

Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixel 3, 4 and 5 kernels use this security feature.
SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
If you´re interested here are a few good links:
Google Security Blog explaining SCS.
LLVM doc about SCS
Android DOCs documenting SCS

If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.

Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 855/+ that´s built into the different SKUs of the OP7/T/Pro.
The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. Most OEMs usually stop updating the initial base after the phone is released, and only cherry-pick certain commits to be in line with the android security bulletin.
This kernel focuses amongst the other features to merge CAF-Updates in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.

The EAS implementation from 4.19 CAF (sd865/+) was ported to this kernel. There are several interesting mechanisms qcom worked on. The basic layout of the soc architecture ( 4xLittle- , 3xBig- and 1x Prime-Core(s)) has not changed from SD855 to SD865. That means instead of revolution there was a very nice evolution the scheduler underwent.

Changelog:
Since I don´t have the time to create a changelog specific for this release, lets take the updated feature list from the first post as a changelog!

Main Features:
- Based on latest kernel sources from OnePlus for Android 11
- Upstreamed against latest CAF
- Linux-Stable-Upstream included to latest 4.14.228
- compiled with Clang 12.0.4 prebuilt from Google
- built with -O3 speed optimizations
- Link-Time-Optimization (ThinLTO)
- Kernel Control-Flow-Integration (CFI)
- Shadow Call Stack (SCS) Security-Feature
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
- fix CFI-Violations found in various subsystems like OnePlus/device specific drivers and qualcomm drivers
- Link the kernel with LLD and use RELR-Relocation
- include important fixes/improvements from kernel/common
- Flashing the kernel will keep root!
- Anykernel zip is based on the Anykernel3 repo from @osm0sis
- include vDSO 32 patches to improve 32-bit performance
- disable various debugging configs, that are not needed in a perf build kernel according to google.
- Removed RTB(interrupt) logging entirely
- disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
- fix several coding issues detected by newer Clang-Toolchains

EAS related features:
- EAS scheduler backported from 4.19 CAF
- disable autogroups and use cgroups for more efficient task placement!
- updates from kernel/common
- scheduler updates from Googles Pixel kernel

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
- include cpuidle patches from CAF
- improvements to cpufreq/times/stats
- improve memory allocations in binder driver
- vdso32 patches as found on Google Pixel devices (brief documentation here)
- arm64: lse: Prefetch operands to speed up atomic operations
- improve bluetooth performance
- improve /proc performance
- remove VLA-usage (info)
- option to disable touchboost in msm_performance

File System related features:
- improve memory allocations in sdcardfs
- improve memory allocations in kernfs
- writeback: hardcode dirty_expire_centisecs=3000 based on this commit
- ufs improvements from pixel 4/ pixel 5 kernel
- default IO scheduler to CFQ and readahead to 128

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
- add support for steam controller
- add support for nintendo switch controller

Display 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)
- display tweaks to save power on statically rendered images (taken from samsung galaxy source, which uses a very similar panel)
- improve memory allocation

GPU related features:
- 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
- add low_prio_worker thread for gpu driver (Improves performance when tearing down processes (eg, via LMK) and not blocking currently running UI from submitting work to the GPU
- remove debugging tracing from GPU driver
- improve memory allocation


Network related features:
- Wireguard Support (Details)
- advanced TCP algorithms enabled
- includes new bbr and bbrv2 (default to bbr as advised by @kdrag0n )

Memory related features:
- Memory Management patches from mainline kernel
- Speculative Page Faults (1. 2) (CAF-default)
- Fix various memory leaks in different subsystems
- allow ZRAM to use higher swappiness values than 100
- default ZRAM algorithm set to lz4 (fastest compression/decompression speeds)
- possibility to use lzo-rle as default ZRAM compression algorithm (more information here and there )
- possibility to use zstd as default ZRAM compression algorithm ( higher compression ratio, slightly lower compression decompression speed, more information and benchmarks here)
- free up memory by removing unused memory regions from dts

Security related features:
- Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
- Shadow Call Stack (SCS) Security-Feature
- fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- enable init_on_alloc for even more security, more information can be found in the commit message

WLAN Driver:
- use CAF wlan driver and compile it inline, the only way to ensure working wlan with this kernel
- the kernel cannot even force load prebuilt WLAN module as the kernel base is way to far from stock!
- do no longer rely on the pre compiled wlan driver module
- removed debugging from wlan driver
- removed logging from wlan driver

Scheduler Setup and Kernel Settings:
- kernel setting get automatically applied at boot
- no magisk module is necessary on OOS 11


Misc Features:
Wakelock Blocker:
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info

- blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!



Download:



Instructions can be found in the OP!
But look at this post too :)

Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07
I'm using 1.1.0 on my 7t pro mclaren and work perfectly, should I upgrade to 1.1.1?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    There is a download for android generic devices. Point to me the page where it states only for stock rom only?
    Isn't a generic kernel, is a kernel for A11 Oxygen OS, like you can see in every post talking about DC dimming settings, Ram boost etc, no support for custom ROM, it can work or not but usually give issues so don't flash on custom.
    1
    There is a download for android generic devices. Point to me the page where it states only for stock rom only?
    AFH had no section for OP7/pro devices when I started everything here. Don't know if they added it by now.

    I also added to the OP that the kernel is primarily intended for use on OOS and certain custom roms might not boot or have certain features broken.

    I mentioned it in the second to last release, but since it's added to the OP now it should be more clear. (y)

    Post in thread '[Kernel][21.08.2021][4.14.243][Android 11] Kirisakura 1.3.9_R for OP7/Pro aka Guacamole' https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84900619
    1
    AFH had no section for OP7/pro devices when I started everything here. Don't know if they added it by now.

    I also added to the OP that the kernel is primarily intended for use on OOS and certain custom roms might not boot or have certain features broken.

    I mentioned it in the second to last release, but since it's added to the OP now it should be more clear. (y)

    Post in thread '[Kernel][21.08.2021][4.14.243][Android 11] Kirisakura 1.3.9_R for OP7/Pro aka Guacamole' https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84900619
    Okay got it thank you so much for pointing it out.
    1
    So it can work on other rom but just no support right?
    Teorically yes but I saw just Dev replied to you :)
  • 135
    Kirisakura-Kernel for the One Plus 7 Pro

    Hello everyone,

    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!

    This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.
    Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features.
    The only kernels made by OEMs offering this security feature by default are the ones for the Pixel 3, 4 and 5 devices.
    The recently released Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.
    If possible the latest Kirisakura-Kernel releases for various devices aim to include CFI in enforcing mode so users can benefit from this security features.

    Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixel 3, 4 and 5 kernels use this security feature.
    SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
    ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
    If you´re interested here are a few good links:
    Google Security Blog explaining SCS.
    LLVM doc about SCS
    Android DOCs documenting SCS

    If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.

    Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 855/+ that´s built into the different SKUs of the OP7/T/Pro.
    The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
    The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. Most OEMs usually stop updating the initial base after the phone is released, and only cherry-pick certain commits to be in line with the android security bulletin.
    This kernel focuses amongst the other features to merge CAF-Updates in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.

    The EAS implementation from 4.19 CAF (sd865/+) was ported to this kernel. There are several interesting mechanisms qcom worked on. The basic layout of the soc architecture ( 4xLittle- , 3xBig- and 1x Prime-Core(s)) has not changed from SD855 to SD865. That means instead of revolution there was a very nice evolution the scheduler underwent.

    The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
    Many of the improvements originate from @arter97´s, @kdrag0n´s, @RenderBroken´s and @Sultanxda´s work. Many others contributed in some way or another to this kernel.
    A big thanks to all of them at this place!

    Now lets continue with a list of features in the next paragraph!


    Main Features:
    - Based on latest kernel sources from OnePlus for Android 11 primarily intended for use on OOS stock firmware
    - Upstreamed against latest CAF
    - Linux-Stable-Upstream included to latest 4.14.243
    - compiled with Clang 13.0.1 prebuilt from Google
    - built with -O3 speed optimizations
    - Link-Time-Optimization (ThinLTO)
    - Kernel Control-Flow-Integration (CFI)
    - Shadow Call Stack (SCS) Security-Feature
    - Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
    - fix CFI-Violations found in various subsystems like OnePlus/device specific drivers and qualcomm drivers
    - Link the kernel with LLD and use RELR-Relocation
    - include important fixes/improvements from kernel/common
    - Flashing the kernel will keep root!
    - Anykernel zip is based on the Anykernel3 repo from @osm0sis
    - include vDSO 32 patches to improve 32-bit performance
    - devfreq backports from 5.4 (sd 888 qcom kernel base)
    - disable various debugging configs, that are not needed in a perf build kernel according to google.
    - Removed RTB(interrupt) logging entirely
    - disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
    - fix several coding issues detected by newer Clang-Toolchains

    EAS related features:
    - EAS scheduler backported from 4.19 CAF and 5.4 CAF / QCOM SOurce(SD865/SD888)
    - adjust powerhal to account for scheduler backports
    - disable autogroups and use cgroups for more efficient task placement!
    - updates from kernel/common
    - scheduler updates from Googles Pixel kernel

    CPU related features:
    - dynamic WALT-Windows based on FPS (more information here and here )
    - 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
    - include cpuidle patches from CAF
    - improvements to cpufreq/times/stats
    - improve memory allocations in binder driver
    - vdso32 patches as found on Google Pixel devices (brief documentation here)
    - arm64: lse: Prefetch operands to speed up atomic operations
    - improve bluetooth performance
    - improve /proc performance
    - remove VLA-usage (info)
    - option to disable touchboost in msm_performance
    - disable coresight, enable coresight placeholder and add proper disabled clocks for sd 855

    File System related features:
    - improve memory allocations in sdcardfs
    - improve memory allocations in kernfs
    - writeback: hardcode dirty_expire_centisecs=3000 based on this commit
    - ufs improvements from pixel 4/ pixel 5 kernel
    - default IO scheduler to CFQ and readahead to 128

    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
    - add support for steam controller
    - add support for nintendo switch controller

    Display 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)
    - display tweaks to save power on statically rendered images (taken from samsung galaxy source, which uses a very similar panel)
    - improve memory allocation

    GPU related features:
    - 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
    - add low_prio_worker thread for gpu driver (Improves performance when tearing down processes (eg, via LMK) and not blocking currently running UI from submitting work to the GPU
    - remove debugging tracing from GPU driver
    - improve memory allocation


    Network related features:
    - Wireguard Support (Details)
    - advanced TCP algorithms enabled
    - includes new bbr and bbrv2 (default to bbr as advised by @kdrag0n )

    Memory related features:
    - Memory Management patches from mainline kernel
    - Speculative Page Faults (1. 2) (CAF-default)
    - Fix various memory leaks in different subsystems
    - allow ZRAM to use higher swappiness values than 100
    - default ZRAM algorithm set to lz4 (fastest compression/decompression speeds)
    - possibility to use lzo-rle as default ZRAM compression algorithm (more information here and there )
    - possibility to use zstd as default ZRAM compression algorithm ( higher compression ratio, slightly lower compression decompression speed, more information and benchmarks here)
    - free up memory by removing unused memory regions from dts
    - improved performance for unity based games
    - improved lz4 performance

    Security related features:
    - Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
    - Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
    - Shadow Call Stack (SCS) Security-Feature
    - fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
    - enable init_on_alloc for even more security, more information can be found in the commit message

    WLAN Driver:
    - use CAF wlan driver and compile it inline, the only way to ensure working wlan with this kernel
    - the kernel cannot even force load prebuild WLAN module as the kernel base is way to far from stock!
    - do no longer rely on the pre compiled wlan driver module
    - completely removed qcom_rx wakelock in the wlan driver
    - removed debugging from wlan driver
    - removed logging from wlan driver

    Scheduler Setup and Kernel Settings:
    - kernel setting get automatically applied at boot
    - an AK3 helper module is automatically installed during flashing ( do not remove it in magisk manager)



    Misc Features:
    Wakelock Blocker:
    - advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
    - please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info
    - blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!




    Requirements

    - unlocked Bootloader
    - USB-Debugging in developer options enabled
    - latest adb and fastboot binaries
    - working adb and fastboot environment
    - magisk root
    - be aware kernel is primarily made for OOS, certain custom roms might not boot or have features broken


    How to flash the Kernel:

    1. Download the latest kernel.zip

    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!
    1b. Optional: The stock kernel can be restored by either dirty flashing the firmware.zip or by restoring the stock dtbo.img as well as boot.img. Those can be extracted via payload extractor from the firmware.zip.

    2. Make sure to use latest Magisk stable.

    3. Flash the kernel.zip via latest EXKM or FKM app. Alternatively via TWRP if TWRP is working.

    4. Reboot and profit. After flashing the kernel in magisk manager there will be a module called AK3 Helper Module, do not delete it.


    DOWNLOAD:
    Download is located always in this folder:

    Android 11:

    Android 10:


    Android Pie:


    Important: Read after Download
    Please take a look at the second post after flashing the kernel!

    Changelog:

    Android 9/Pie


    Android 10/Q:


    Android 11/R
    1.1.0_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84786595
    1.1.1_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84793145
    1.1.3_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84812661
    1.1.4_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84853537
    1.1.6_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-84900619
    1.3.9_R https://forum.xda-developers.com/t/...r-op7-pro-aka-guacamole.3933916/post-85510637


    Donations:
    Donations are not mandatory but very welcome! :)
    If you want to support development or just buy me a coffee/tea to get development going: http://paypal.me/freak07

    Credits:
    @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
    @kdrag0n for giving me advice
    @topjohnwu for magisk!
    @osm0sis for anykernel!


    Contributors
    Freak07
    Source Code: https://github.com/freak07/Kirisakura_OP7Pro_A11

    Kernel Special Features:

    Version Information
    Status:
    Stable

    Created 2019-05-26
    Last Updated 2020-09-26
    47
    Update to 1.6.0

    Hey guys and girls,

    Just like I started the release of 1.4.0. I know this update took quite a while again.
    Good things take time and patience gets rewarded in this case :D
    When I wanted to release 1.5.0 a few weeks ago, the issue with brainservice and missing sources started creeping up, earlier I was very busy.
    The missing sources from OnePlus were a bit demotivating. There was no real reason to update the kernel, as it worked just fine as it was since the end of november.
    Lets hope the new update works equally well.

    Now we straight skip to 1.6.0. Merged latest CAF again like the last updates, merged latest linux-stable up to 4.14.162, patches from kernel common, brought in most recent f2fs-stable patches from a few weeks ago.
    Latest updates from OnePlus, which dropped yesterday are also included. These should fix the prime core maxing out, because the brainservice is getting stuck.
    So far all testers confirmed the phone behaving nicely. So I guess it´s good to go.

    I removed the rmnet extensions, as they seem to cause issues with wireguard. Please test wireguard again and report back. Maybe that was indeed the culprit.

    My magisk module is updated to work with magisk equal or higher to 20.2. (that means 20200 or higher!). The module won´t work on previous version of magisk most likely.
    Functionality of the module stays the same.
    Make sure to update to magisk 20.2 or the latest canary before flashing the module!


    Detailed changelog below.

    Enjoy!


    Changelog:

    Kernel Base
    - Latest One Plus source updates merged (no more issues with brainservice causing the device to become hot and maxing out prime core)
    - Upstream included from 4.14.156 to 4.14.162
    - Upstream updates from kernel/common
    - Latest CAF tag LA.UM.8.1.r1-13000-sm8150.0 for the SD855 merged
    - remove rmnet extension from the kernel (this might fix wireguard as somebody hinted at in the thread earlier)
    - update f2fs to latest state of f2fs-stable


    Features:
    - no new features

    Other changes:
    - update WiFi driver to LA.UM.8.1.r1-13000-sm8150.0
    - update audio driver to LA.UM.8.1.r1-13000-sm8150.0

    Magisk Module:
    - V3 adjusts the magisk module to the layout required by magisk 20200 or higher (magisk 20.2)

    Have fun flashing and enjoy your device with latest linux-stable :)

    Why is linux-stable important?

    I wish you all a nice day/evening!


    Download is below :)

    Download:


    Kernel: https://www.androidfilehost.com/?fid=4349826312261694297

    Magisk Module: https://www.androidfilehost.com/?fid=4349826312261694298



    Instructions can be found in the OP!
    But look at this post too :)

    Have fun, enjoy the kernel and your phone.

    If you like my work please consider a donation.
    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
    42
    Hey guys and girls,

    I know this took a while, but it´s a very busy time for me currently. I hope you all understand, but here´s finally a new build, that went through some good testing and should have no isses :)
    The OnePlus 7Ts fingerprint scanner should work fine on OOS now.
    All recent changes published by OnePlus are included as well.

    Detailed changelog below.

    Enjoy!


    Changelog:

    Kernel Base
    - Latest One Plus source updates merged
    - Upstream included from 4.14.152 to 4.14.155
    - Upstream updates from kernel/common
    - add support for OnePlus 7T devices.


    Features:
    - no new features


    Other changes:
    - look at github :)

    Magisk Module:
    - no new changes, still v2

    Have fun flashing and enjoy your device with latest linux-stable :)

    Why is linux-stable important?

    I wish you all a nice day/evening!


    Download is below :)

    Download:


    Kernel: https://www.androidfilehost.com/?fid=4349826312261647724

    Magisk Module: https://www.androidfilehost.com/?fid=1899786940962614206



    Instructions can be found in the OP!
    But look at this post too :)

    Have fun, enjoy the kernel and your phone.

    If you like my work please consider a donation.
    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
    41
    Update to 1.9.7

    Hey guys and girls,

    So here´s finally the next update. Linux-stable upstream, CAF upstream.
    For the detailed changelog take a look below.


    Downloads below.

    Enjoy!


    Changelog:

    Kernel Base
    - Upstream included from 4.14.174 to 4.14.182
    - Upstream updates from kernel/common
    - Latest CAF tag LA.UM.8.1.r1-14700-sm8150.0 for the SD855 merged
    - built with clang 11.0.1 from Google prebuilts
    - updates from kernel/common
    - fix two memory leaks - thanks to @anupritaisno1 for the heads up

    Features:
    - Wireguard updated

    Other changes:
    - update WiFi driver to LA.UM.8.1.r1-14700-sm8150.0
    - update audio driver to LA.UM.8.1.r1-14700-sm8150.0

    Magisk Module:
    - no update - use v4

    Have fun flashing and enjoy your device with latest linux-stable :)

    Why is linux-stable important?

    I wish you all a nice day/evening!


    Download is below :)

    Download:

    OOS:
    Kernel: https://www.androidfilehost.com/?fid=4349826312261825431

    Magisk Module: https://www.androidfilehost.com/?fid=4349826312261756065


    Custom ROMs:
    Kernel: https://www.androidfilehost.com/?fid=4349826312261825432

    Magisk Module: https://www.androidfilehost.com/?fid=4349826312261756073




    Instructions can be found in the OP!
    But look at this post too :)

    Have fun, enjoy the kernel and your phone.

    If you like my work please consider a donation.
    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
    40
    Kirisakura 1.0.0 for Android 10

    Hey guys and girls,

    So it was a long time, but I finally found time to release the kernel for Android 10 now.
    Versioning will start at 1.0.0 again on the new Android version now :)

    The kernel was actually ready for bascically 2 weeks, since the stable source was released.
    I fell for it and actually started to work on a kernel with the beta sources from OnePlus for Android 10. Then stable was released and I saw no clean way to merge the stable OOS source into my tree, so I had to start from scratch.
    While merging CAF in both, the beta and the stable source I noticed some very weird merge conflicts. @arter97 dropped me the crucial hint. (thanks to him!)
    The source from OOS appears to be based on a quite recent CAF base, with CAF commits present in history up to September 2nd.
    In fact the source is based on a CAF base that dates to the end of July! When merging CAF, now all the commits between this time frame were left out, because they appeared as commits in the history, but the actual code wasn´t.
    You might call this fraud from OP :D I don´t know what´s the reason for this, but I don´t like it.
    So for this release now, the OP source was reset back to the actual state it was on, all OnePlus driver changes were re-applied and most recent CAF was merged properly!

    Most notable changes for Android 10:
    - OOS specific stuff can´t be removed completely from the kernel without breaking the rom or making things worse in general. Rom side is dependant on these kernel modifications, even if I don´t like them
    - it´s still recommded to flash the companion module, it improves jitter and smoothness
    - nearly all previous features are still intact, check the OP I will update it in time
    - the general ZRAM setup I left untouched this time. OOS on Android 10 is very RAM hungry. So I feel 6GB devices need the 2GB of ZRAM. (turn ram boost in settings on) I enabled LZ4 as compression algorithm compared to lzo from stock for better ZRAM performance.
    - all optimizations plus more are still intact from previous Pie releases.
    - system and vendor don´t get modified. To uninstall simply flash back stock kernel and disable/remove the magisk module

    For detailed changes, have a look further down at the changelog! :)

    Enjoy!


    Changelog:

    Kernel Base
    - Based on latest sources from OnePlus for Android 10
    - Latest CAF merged properly
    - Upstream to 4.14.149
    - latest changes from kernel/common merged
    - build with CLANG 10

    Features:
    - all features from previous releases are still intact
    - GPU Max freq at 585mhz now. I won´t do any hackery to get a higher freq for now. 675mhz isn´t stable for everyone and 585mhz is plenty for every game available.


    Other changes:
    - please check github

    Magisk Module:
    - Update for Android 10 (GCAM is not supported yet this time around)

    Have fun flashing and enjoy your device with latest linux-stable :)

    Why is linux-stable important?

    I wish you all a nice day/evening!


    Download is below :)

    Download:


    Kernel: https://www.androidfilehost.com/?fid=1899786940962607237

    Magisk Module: https://www.androidfilehost.com/?fid=1899786940962607236



    Instructions can be found in the OP!
    But look at this post too :)

    thanks for @arter97 and @kdrag0n for helping me out!

    Have fun, enjoy the kernel and your phone.

    If you like my work please consider a donation.
    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07