• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Development [Kernel][15.01.2022][Android 12] Kirisakura 1.5.0 for Pixel 6/Pro aka "RAVIOLE"

Search This thread

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,295
17,168
Does this kernel need disabled verify and verification? I am just rooted and used the latest magisk canary on november build.
So I think both are enabled for me.

Thanks
The information you're looking for is in this post, which I found by choosing the "Search This thread" button at the top of each page in a thread, typed verity as a search term, and for the username of posts to search in this thread I typed Freak07, then looked to see which search result was the most recent: https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86109665

It also turns out I could've just followed the link in the OP for the changelog to the most recent version:
don´t flash 1.4.0 on November build. It´s made for december and won´t boot on november firmware.


If you´re running November firmware you need to flash 1.3.0, which can be found in the download section and by following the instructions in the OP for version 1.3.0 and below on the bottom.
1.3.0 is not in a flashable zip format, but instead you need to flash the images provided following the download link.
 

roirraW "edor" ehT

Forum Moderator
Staff member
Does this kernel need disabled verify and verification? I am just rooted and used the latest magisk canary on november build.
So I think both are enabled for me.

Thanks
don´t flash 1.4.0 on November build. It´s made for december and won´t boot on november firmware.


If you´re running November firmware you need to flash 1.3.0, which can be found in the download section and by following the instructions in the OP for version 1.3.0 and below on the bottom.
1.3.0 is not in a flashable zip format, but instead you need to flash the images provided following the download link.
Oops, glad you noticed that.

To spell it out for @Lycidias, Verity and Verification *do* need disabled (and you'll have to factory reset) in order to use the 1.3.0 kernel, but if you manually update to the December firmware (third link in my signature below), then you can use the 1.4.0 kernel and not disable Verity and Verification.
 
  • Like
Reactions: Lycidias

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,295
17,168
Oops, glad you noticed that.

To spell it out for @Lycidias, Verity and Verification *do* need disabled (and you'll have to factory reset) in order to use the 1.3.0 kernel, but if you manually update to the December firmware (third link in my signature below), then you can use the 1.4.0 kernel and not disable Verity and Verification.
I think it should work to not disable the vbmeta flags on 1.3.0 if the boot.img provided in the download section is patched with magisk 23016 and the instructions are followed correctly.

Same as patching stock boot.img with magisk 23016 works on the november build as is seemingly confirmed by @Lycidias previous post.
There shouldn´t be a difference between stock boot.img and the boot.img of my kernel if magisk 23016 is used, that´s why I´d assume so.

However I´m not able to confirm this 100%, since I´m no longer on November firmware and have the vbmeta flags still disabled from when I rooted initially.
 

roirraW "edor" ehT

Forum Moderator
Staff member
I think it should work to not disable the vbmeta flags on 1.3.0 if the boot.img provided in the download section is patched with magisk 23016 and the instructions are followed correctly.

Same as patching stock boot.img with magisk 23016 works on the november build as is seemingly confirmed by @Lycidias previous post.
There shouldn´t be a difference between stock boot.img and the boot.img of my kernel if magisk 23016 is used, that´s why I´d assume so.

However I´m not able to confirm this 100%, since I´m no longer on November firmware and have the vbmeta flags still disabled from when I rooted initially.

Okay, thanks. It's a confusing situation. I got the below response regarding this subject and @Freak07's kernel:
It has nothing to do with the kernel itself. The anykernel.zip uses magiskboot to "repack" the kernel during the flashing kernel.
 

Lughnasadh

Senior Member
Mar 23, 2015
2,780
2,452
Google Nexus 5
Huawei Nexus 6P
Okay, thanks. It's a confusing situation. I got the below response regarding this subject and @Freak07's kernel:
I think the difference is that there is no flashable zip for 1.3, so the 3 separate images have to be flashed. But patching the provided boot image with Magisk 23016 before flashing should bypass the need to disable verity & verification.

1.4, however, has a flashable zip with the magiskboot binaries updated to 23016.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,295
17,168
Okay, thanks. It's a confusing situation. I got the below response regarding this subject and @Freak07's kernel:
yes, it´s ultimately related to magisk, but it also affects the kernel.zips.

If magisk 23016 is used to patch/repack the boot.img vbmeta flags don´t need to be disabled as there´s a commit that removed the need for this.

So if somebody manually patches a boot.img with magisk 23016 or flashes a kernel.zip with magiskboot binary (which the kernel.zip uses to essentially switch out the zImage) updated to magisk 23016 vbmeta flags don´t need to be disabled.

If the kernel.zip contains however magiskboot 23015, the user will end up in a bootloop as magiskboot 23015 needs the vbmeta flags disabled, even if the user previously rooted fine with 23016.

If the user flashes 1.4.0 on November firmware (that´s no longer possible as it should abort, since I updated the kernel.zip a few days ago) there will be a bootloop.

There´s no flashable kernel.zip for 1.3.0 (which works fine on November firmware) so the user needs to manually patch the provided boot.img with magisk 23016 and flash all provided images via fastboot/d at the moment.

It´s a bit of a confusing situation, with vbmeta, the magisk canaries and now the removed firmware images for December firmware...
 

Lycidias

Senior Member
Jan 17, 2013
1,226
575
Sony Xperia Tablet Z
OnePlus 8 Pro
Thank you very much for the great support and the detailed answers ☺️

So I'll wait for the upcoming january update (and probably the corresponding kernel update?) before flashing this beauty.

I want to flash it as a flashable zip and do not want to do a factory reset. For my understanding I don't need to disable the verify and verification flags for future kernel updates with the latest magisk canary?

All a bit confusing. Wasn't that complicated on the phones I had before 😆
 
  • Like
Reactions: roirraW "edor" ehT

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,295
17,168
Thank you very much for the great support and the detailed answers ☺️

So I'll wait for the upcoming january update (and probably the corresponding kernel update?) before flashing this beauty.

I want to flash it as a flashable zip and do not want to do a factory reset. For my understanding I don't need to disable the verify and verification flags for future kernel updates with the latest magisk canary?

All a bit confusing. Wasn't that complicated on the phones I had before 😆
That's probably the easiest solution if you're patient enough :)

Or try to see if somebody has a mirror of the December factory image, update to December and flash 1.4.0.zip :)

If you're brave patch boot.img 1.3.0 with magisk 23016 or higher and flash all images according to instructions. Maybe someone did and reports back here. Maybe it's not possible, but I can't confirm to be absolutely sure.
 

roirraW "edor" ehT

Forum Moderator
Staff member
Okay, thanks. It's a confusing situation. I got the below response regarding this subject and @Freak07's kernel:
yes, it´s ultimately related to magisk, but it also affects the kernel.zips.

If magisk 23016 is used to patch/repack the boot.img vbmeta flags don´t need to be disabled as there´s a commit that removed the need for this.

So if somebody manually patches a boot.img with magisk 23016 or flashes a kernel.zip with magiskboot binary (which the kernel.zip uses to essentially switch out the zImage) updated to magisk 23016 vbmeta flags don´t need to be disabled.

If the kernel.zip contains however magiskboot 23015, the user will end up in a bootloop as magiskboot 23015 needs the vbmeta flags disabled, even if the user previously rooted fine with 23016.

If the user flashes 1.4.0 on November firmware (that´s no longer possible as it should abort, since I updated the kernel.zip a few days ago) there will be a bootloop.

There´s no flashable kernel.zip for 1.3.0 (which works fine on November firmware) so the user needs to manually patch the provided boot.img with magisk 23016 and flash all provided images via fastboot/d at the moment.

It´s a bit of a confusing situation, with vbmeta, the magisk canaries and now the removed firmware images for December firmware...
Thanks! I must've been confused and thinking that I was responding in someone else's kernel thread. Oh crazy me! :)
 
  • Like
Reactions: Freak07

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,295
17,168
just a heads up. there´s no january source code released yet and it´s getting late here.

Working day for me tomorrow, but I´ll try to update the kernel as soon as possible once January sources are released.

In the meantime the 1.4.0 zip works fine for me on January update. There seem to be not that many kernel changes as the stock kernel still has a November build date. :)
 

Jerreth

Senior Member
Mar 9, 2011
479
102
Oregon
unable to flash update via flash-all.bat gets stuck at boot partition missing or some such thing anyone else having that issue?

AHAHAHAH!!! i found it i guess that the Fastboot stuff i had in my path was old i just plopped the latest fastboot files in to the image folder and boom its working sorry for off topic by the way
 
Last edited:
  • Like
Reactions: roirraW "edor" ehT

KedarWolf

Senior Member
Apr 27, 2012
295
157
Yes flashed it too, it works fine.

Boot failure, but on a dirty flash of the January factory image using the below method and flashing the kernel with the EK Kernel Manager.

Rooting with the newest Magisk.

 

P6P

Senior Member
Boot failure, but on a dirty flash of the January factory image using the below method and flashing the kernel with the EK Kernel Manager.

Rooting with the newest Magisk.

I was on December build.
1. dirty flashed January Update
2. Patched the stock boot image with latest magisk canary and flashed it
3. Installed kirisakura 1.4.0 with exkm

Works fine so far.
 

P6P

Senior Member

Attachments

  • Screenshot_20220115-023040.png
    Screenshot_20220115-023040.png
    199.8 KB · Views: 51
  • Like
Reactions: roirraW "edor" ehT

Top Liked Posts

  • 3
    I thought it's not necessary to disable verity anymore with the new canary magisk builds?
    Didn´t you have to do this yourself to get rid of the device is corrupted warning? Unless I misunderstood your previous post?

    I just answered the question whether or not a wipe is required on consecutive firmware flashes with vbmeta flags disabled and keeping them disabled.

    Disabling the flags should not be needed any longer if everything goes according to plan, with the new magisk canaries that´s also correct. One of my testers runs with vbmeta flags not disabled and has no issues.

    But given all the issues some people run into, when they end up with the device is corrupted message (seems also to happen when flashing/updating just factory images without the involvement of anything else, at least what I saw in the guide threads) there still seems to be something wonky.
    I didn´t find any clue what exactly is happening, so unfortunately I can´t comment any more on this.
    3
    Adjusted the features detailed in the OP a bit and improved the instructions to clear up some steps regarding keeping root, the ak3 helper zip etc.

    Next release is already under testing.
    Thanks for sharing your work. My P6 Pro runs so smoothly on your kernel
    3
    @Freak07 boss, any intention of adding battery idle mode supporting? As far as I know, there is no Pixel 6 Kernel which supports battery idle mode.
    No i don't have any intentions to modify the charging driver at all, sorry. I leave my fingers from this.

    It's up to google to add this. I don't have the necessary means to do broad and thorough field testing. Battery is not easily swappable.

    Any tweak recommendations for the Pixel 6 Pro? I decided to root and do all this fun stuff again and see what the rooting world has to offer these days and I really missed tinkering around! I skimmed through all the posts and didn't really see much so if I missed it, sorry! But so far I'm just leaving it as is after installing the kernel and love it so far! Amazing as always OP!!
    Besides the CleanSlate features there's not much to set. The magisk helper module does most of this by adjusting the powerhal so settings are changed dynamically depending on the type of input scenario. :)

    Forgive me if i miss it, does fpr on this kernel disabled during aod? It works fine once the screen is on. But not at all while on aod.

    Update: turns out its the new magisk 24. Back to canary build now.
    Works just fine for me.

    Oh I just saw the edit, I'm still on the canary. Thanks for checking. (y)
    2
    No i don't have any intentions to modify the charging driver at all, sorry. I leave my fingers from this.

    It's up to google to add this. I don't have the necessary means to do broad and thorough field testing. Battery is not easily swappable.


    Besides the CleanSlate features there's not much to set. The magisk helper module does most of this by adjusting the powerhal so settings are changed dynamically depending on the type of input scenario. :)

    This, your detailed changelogs and the great support is why I love this kernel :)
    2
    @Freak07 boss, any intention of adding battery idle mode supporting? As far as I know, there is no Pixel 6 Kernel which supports battery idle mode.
  • 32
    Update to 1.5.0

    Hey guys and girls,

    I hope everybody started into a Happy New Year 2022. I´m very happy how this project turned out so far. The kernel runs absolutely great and despite many complaints I don´t really had a single issue on my pixel 6 pro. Luckily it seems my carrier and the bands that are used for network were unaffected by the bug that plagued a lot of users.
    Aside from that I´m also very happy how this thread turned out so far. There seems to be some sort of community spirit that I´m missing often lately on XDA, people help each other and there´s a friendly constructive atmosphere. Big thanks to @roirraW "edor" ehT who constantly pops up here and helps other users and everybody else contributing one way or the other too.

    I´m giving my best to reply to questions in a timely manner, at least as timely as my time allows, so it´s great to see this thread evolving over time and everybody helping each other. Thank you all for that and keep it up.


    Alright here´s the next update then. :) There were only very minimal changes to this kernel in the January Source drop, but I managed to squeeze out two builds before I have to leave for work. :)

    The mechanism that prevents small tasks to cause frequency spikes is now tied into the powerhal. That means when interaction is needed (app launches, camera launches, interaction) this mechanism is toned back as the device gets boosted anyway.
    In all other cases the mechanism now gets more strict to prevent frequency spikes, videos, audio, navigation etc.

    Next release will probably have a few more very interesting changes that are currently under testing so stay tuned. Didn´t think google would drop this before Monday.

    Several other improvements are included as well. More details in the changelog.
    Download is below.
    Updated instructions in the OP!


    Changelog:
    - January Source update merged
    - linux-stable 5.10.91
    - use latest google prebuilt clang 14.0.1 for compilation
    - improvments from kernel/common
    - tie "prevent frequency spikes caused by small tasks into the powerhal"
    - add latest CleanSlate features and updates (huge thanks to @tbalden, if you enjoy these features maybe buy the apps from the playstore to give a bit of support :) )
    - other changes please look at my github


    Download:


    Instructions can be found in the OP! Please follow the instructions to avoid any issues.
    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img before flashing. Thank you.
    24
    I´d appreciate if we could keep anything "drama", non XDA-related and other topics that are not at all related to the topic of this thread, out of here.

    I´m not really interested in comparing my kernel versus "other kernels". I´m also not really interested in reading comparisons no matter the outcome of the comparison.

    I´m doing all of this during my free time, because I enjoy doing it and share what I´m personally running with everyone here on XDA.
    There needs to be no "rating" of those hours I spent working on my projects as they´re completely free of charge.
    I assume the same is true for others that work on similar projects too.

    If you appreciate the work, drop a thanks, write a few friendly lines, maybe consider a small donation, participate in the thread, report bugs in a proper manner if you encounter any, be friendly and helpful or contribute to the project here as all the source code is up on github.


    Everyones usage differs, everyone has unique usage patterns. So just try what´s available and choose what suits you best and be glad there are options for this device.
    16
    just a heads up. there´s no january source code released yet and it´s getting late here.

    Working day for me tomorrow, but I´ll try to update the kernel as soon as possible once January sources are released.

    In the meantime the 1.4.0 zip works fine for me on January update. There seem to be not that many kernel changes as the stock kernel still has a November build date. :)
    14
    Adjusted the features detailed in the OP a bit and improved the instructions to clear up some steps regarding keeping root, the ak3 helper zip etc.

    Next release is already under testing.
    10
    Do you envision a new kernel update soon @Freak07 or are you waiting for the January update? Cheers.
    I´m waiting for the January update :)
  • 77
    Kirisakura-Kernel for the Pixel 6/Pro

    Hello everyone,

    To keep it short: Here is Kirisakura - Kernel for the Google Pixel 6 Pro aka Raven and the Pixel 6 aka Oriole, together Raviole.
    I would appreciate if everybody that flashes the kernel, reads at least once through this opening post and the following ones.

    The kernel aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security, stability and performance!
    This includes Linux-Stable, F2FS-Stable and kernel/common!
    If that 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.

    The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
    A big part of improvements originate from @arter97´s, @kdrag0n´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!

    Features:
    Main Features:
    - Based on latest kernel sources from Google, Kernel is made for Android 12
    - Linux-Stable-Upstream included to 5.10.91 (stock is 5.10.43)
    - Compiled with prebuilt Google clang 14.0.1
    - merged kernel/common (improvements to android-common-kernel straight from google)
    - pelt multiplier tied into powerhal (more info here)
    - prevent frequency spikes caused by small transient tasks (more info here)
    - tie mechanism to prevent frequency spikes caused by small tasks also into powerhal
    - F2FS-Stable updated
    - TCP backports from mainline
    - BFQ updates backported from mainline
    - use bbr as default TCP congestion algorithm (fasted algo according to this excellent research from @kdrag0n found here )
    - Enable support for TTL spoofing
    - Include LRNG, see here and here for more info (thanks @arter97 for the work on his op9 kernel)
    - important patches from kernel/common for 5.10 (here are more details)
    - CleanSlate Features from @tbalden, big applause here! (s2s, notification booster, battery saver, flashlight notifications. Please note: cleanslate features that work otherwise with rooted devices like kadaway (adblocking) are not implemented on this kernel since I´m running rooted)
    - flashing the kernel will preserve root

    Various Optimizations:
    - update several drivers to use power efficient workingqueues (for example wlan driver)
    - kernfs: use buffer from the stack space
    - printk: use buffer from the stack space
    - kthread: use buffer from the stack space
    - bpf: avoid dynamic memory allocation for small value buffers
    - binder: Reserve caches for small, high-frequency memory allocations
    - kernfs: use kmem_cache pool for struct kernfs_open_node/file
    - cgroup: use kmem_cache pool for struct cgrp_cset_link
    - f2fs: reduce timeout for uncongestion
    - f2fs: Demote GC thread to idle scheduler class
    - f2fs: set ioprio of GC kthread to idle
    - mm: vmstat: use power efficient workingqueues
    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

    AK3 Helper Module:
    - restrict little cluster to 1,4ghz, mid cluster to 1,49ghz and big cluster to 1,58ghz during screen off, to reduce battery usage for example during music playback
    - tie pelt multiplier into the powerhal (more info here)
    - prevent frequency spikes caused by small transient tasks during idle operation (more info here)

    DOWNLOAD:
    Download is always located in this folder:

    Changelog:
    Android 12

    1.0.0 Initial Release
    1.0.2 https://forum.xda-developers.com/t/...r-pixel-6-pro-aka-raven.4358435/post-85910621
    1.0.5 https://forum.xda-developers.com/t/...r-pixel-6-pro-aka-raven.4358435/post-85924419
    1.3.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-85976139
    1.4.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86109665
    1.5.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86259863


    Requirements

    - unlocked Bootloader
    - USB-Debugging in developer options enabled
    - latest adb and fastboot binaries
    - working adb and fastboot environment so you can flash back to stock in case something goes wrong
    - working magisk environment (a device rooted with magisk, make sure to use latest canary)


    How to flash the Kernel:
    1a. Make sure you tick all the requirements above
    1. Download the correct kernel.zip depending on your device (Pixel 6 = oriole || Pixel 6 Pro = raven)
    (if you´re for whatever reason on November firmware -> use 1.3.0! More recent kernel releases will bootloop)
    2. Flash the correct kernel.zip via EXKM or FKM. Root will be preserved. The AK3 magisk helper module will be automatically installed during flashing the kernel.zip and be present on next reboot.
    3. Reboot and profit.

    Manual installation without relying on paid apps like fkm/exkm:
    Please have a look at the linked post.


    @osm0sis for all his work on AK3.
    @tbalden for being the best HTC, Pixel, OnePlus and Asus wingman!
    @LeeDroid and @mwilky for their awesome roms and work I used on multiple devices!
    @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 his help and advices!
    @topjohnwu for magisk and his entire work!


    Source Code: https://github.com/freak07/Kirisakura_Raviole
    32
    Update to 1.5.0

    Hey guys and girls,

    I hope everybody started into a Happy New Year 2022. I´m very happy how this project turned out so far. The kernel runs absolutely great and despite many complaints I don´t really had a single issue on my pixel 6 pro. Luckily it seems my carrier and the bands that are used for network were unaffected by the bug that plagued a lot of users.
    Aside from that I´m also very happy how this thread turned out so far. There seems to be some sort of community spirit that I´m missing often lately on XDA, people help each other and there´s a friendly constructive atmosphere. Big thanks to @roirraW "edor" ehT who constantly pops up here and helps other users and everybody else contributing one way or the other too.

    I´m giving my best to reply to questions in a timely manner, at least as timely as my time allows, so it´s great to see this thread evolving over time and everybody helping each other. Thank you all for that and keep it up.


    Alright here´s the next update then. :) There were only very minimal changes to this kernel in the January Source drop, but I managed to squeeze out two builds before I have to leave for work. :)

    The mechanism that prevents small tasks to cause frequency spikes is now tied into the powerhal. That means when interaction is needed (app launches, camera launches, interaction) this mechanism is toned back as the device gets boosted anyway.
    In all other cases the mechanism now gets more strict to prevent frequency spikes, videos, audio, navigation etc.

    Next release will probably have a few more very interesting changes that are currently under testing so stay tuned. Didn´t think google would drop this before Monday.

    Several other improvements are included as well. More details in the changelog.
    Download is below.
    Updated instructions in the OP!


    Changelog:
    - January Source update merged
    - linux-stable 5.10.91
    - use latest google prebuilt clang 14.0.1 for compilation
    - improvments from kernel/common
    - tie "prevent frequency spikes caused by small tasks into the powerhal"
    - add latest CleanSlate features and updates (huge thanks to @tbalden, if you enjoy these features maybe buy the apps from the playstore to give a bit of support :) )
    - other changes please look at my github


    Download:


    Instructions can be found in the OP! Please follow the instructions to avoid any issues.
    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img before flashing. Thank you.
    31
    I wish those who celebrate it Merry Christmas!🎄⛄✨

    I hope everybody has a nice time and is enjoying the holidays with their beloved ones.
    25
    Update to 1.4.0

    Hey guys and girls,

    Alright here´s the next update and it´s a really big one. There are several significant changes in this release.
    Please read through the whole post to understand the changes.

    Flashable kernel.zip
    I decided to ship the kernel now as a flashable zip. (thanks to @eng_stk and @osm0sis)
    I was hesitant to do this at first, since vendor_dlkm is part of super. That means it´s no ordinary partition, which is the reason vendor_dlkm needs to be flashed in fastbootd. Luckily simply dd´ing vendor_dlkm does still work as a bandaid on a running device, until we find a way to "properly" flash vendor_dlkm to super. But for now that way works and is sufficient. What´s more important, I couldn´t cause havoc when I tried.
    That means no more flashing via fastboot. The kernel can be flashed via EXKM or FKM app. Due to ramdisk in vendor_boot being different on Pixel 6 (oriole) and Pixel 6 Pro (raven) there are two seperate zips now.
    That means this project is now completely like I envisioned it in the beginning. The prior release missed several improvements that ended up in the kernel modules, which sit in vendor_boot.img.
    Since we´re flashing all four images now, module verification can be enforced and I don´t need to force load the kernel modules from the stock vendor_boot any longer.
    Flashing the kernel.zip will preserve root.
    Shipping the kernel.zip will allow for easier flashing and for several other changes to be installed when flashing the kernel.zips, which also brings us to the next change.

    Flashable kernel.zip - AK3 Helper Module
    The kernel.zip flashes now all four images that are related to the kernel. boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img.
    Alongside the kernel.zip a magisk module called AK3 Helper Module will be flashed. It will show up in magisk manager after the reboot following the flash of the kernel.zip. Do not delete this module, it ships a modified powerhal, which is an integral part to the changes in this release.
    The powerhal will also restrict CPU-Freqs when the screen is off to save battery during e.g. music/podcast playback.l
    If you used the old powerhint module, please remove that before flashing the kernel.zip.

    Improvements to the Scheduler/Powerhal - Pelt Multiplier
    Next big change, the pelt multiplier. This commit allows to change pelt half-life during runtime, instead of choosing before compilation as was the only way in the past.
    Straight from the documentation:
    prompt "Utilization's PELT half-Life"
    default PELT_UTIL_HALFLIFE_32
    help
    Allows choosing one of the possible values for the PELT half-life to
    be used for the update of the utilization of tasks and CPUs.
    The half-life is the amount of [ms] required by the PELT signal to
    build up to 50% utilization. The higher the half-life the longer it
    takes for a task to be represented as a big one.

    If not sure, use the default of 32 ms.

    config PELT_UTIL_HALFLIFE_32
    bool "32 ms, default for server"

    config PELT_UTIL_HALFLIFE_16
    bool "16 ms, suggested for interactive workloads"
    help
    Use 16ms as PELT half-life value. This will increase the ramp-up and
    decay of utlization and load twice as fast as for the default
    configuration using 32ms.

    config PELT_UTIL_HALFLIFE_8
    bool "8 ms, very fast"
    help
    Use 8ms as PELT half-life value. This will increase the ramp-up and
    decay of utlization and load four time as fast as for the default
    configuration using 32ms.

    Default is 32ms, however this value was changed for example by @kdrag0n on the pixel 5 kernel to 16ms to improve performance. The downside of this approach is, that this needs to be chosen at compilation time, and can´t be changed during runtime. choosing 16ms or lower can lead to higher energy consumption and less battery life, but also better performance.

    The inclusion of the pelt multiplier, together with an edited powerhal allows this kernel now to change pelt half-life depending on workload and interaction while the device is running. If there are certain events like interaction (scrolling, touching the screen), app launches, camera launches, taking a picture the pelt half-life will get changed dynamically. Interaction will result in 16ms half-life while app launches and camera usage will result in 8ms half-life, resulting in a performance boost when performance is needed.
    If there´s no interaction happening, half-life will bump back to default 32ms as to not waste battery.

    Improvements to the scheduler - Prevent frequency spikes caused by small tasks
    uclamp can cause frequency spikes, by small very frequently occurring tasks (such as binder ), as was identified by a few vendors already. The following commit from the ARM-Developers aims to improve this situation.

    BFQ-IO Scheduler
    BFQ is now on par with linux-mainline as those changes were backported

    TCP - Improvements
    A series of patches was backported for the commit mentioned by this article. It can be found in my kernel tree here

    F2FS-Stable Improvments
    Latest F2FS-Stable was merged and tested extensively.

    Several other improvements are included as well. More details in the changelog.
    Download is below.
    Updated instructions in the OP!


    Changelog:
    - linux-stable 5.10.84
    - kernel/common merged
    - ship kernel as flashable zip
    - ship complete gki kernel (boot, dtbo, vendor_boot, vendor_dlkm)
    - include powerhal module in the flashable zip
    - mainline backports to the scheduler
    - introduce pelt multiplier and tie it into powerhal
    - prevent frequency spikes by small transient tasks
    - tcp backport from mainline
    - bfq backports from mainline
    - f2fs-stable included
    wakelock blocker
    - 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
    don´t use this to block any kernel wakelocks you think keep the device awake, most are needed for the device to properly function!
    You won´t know about missed notifications until it´s too late. Random other issues might be introduced by blocking wakelocks.
    This is only intended for use cases like, wifi at work causes endless wakelock and the IT admin says, screw you I won´t update the firmware. In that case this might be the only option for your device to sleep.
    - other changes please look at my github


    Download:


    Instructions can be found in the OP! Please follow the instructions to avoid any issues.
    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img before flashing. Thank you.
    24
    I´d appreciate if we could keep anything "drama", non XDA-related and other topics that are not at all related to the topic of this thread, out of here.

    I´m not really interested in comparing my kernel versus "other kernels". I´m also not really interested in reading comparisons no matter the outcome of the comparison.

    I´m doing all of this during my free time, because I enjoy doing it and share what I´m personally running with everyone here on XDA.
    There needs to be no "rating" of those hours I spent working on my projects as they´re completely free of charge.
    I assume the same is true for others that work on similar projects too.

    If you appreciate the work, drop a thanks, write a few friendly lines, maybe consider a small donation, participate in the thread, report bugs in a proper manner if you encounter any, be friendly and helpful or contribute to the project here as all the source code is up on github.


    Everyones usage differs, everyone has unique usage patterns. So just try what´s available and choose what suits you best and be glad there are options for this device.