• 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

rogosteve

Senior Member
Dec 17, 2010
70
11
Toronto
I don´t have time to update the thread, so I´ll do it this way until the next official release.
Follow the instructions in the OP.
Thank you sir. I want to use the double tap to sleep on the lock screen from cleanslate on my regular pixel 6. I read in one of your previous posts that it keeps the phone from going into deep sleep, but I wasn't sure if you were talking about an older kernel without cleanslate. Would the deep sleep problem with dt2s still be true for this newest kernel? Thank you for your kernel and your replies.
 
  • Like
Reactions: yyz71

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,274
17,072
Thank you sir. I want to use the double tap to sleep on the lock screen from cleanslate on my regular pixel 6. I read in one of your previous posts that it keeps the phone from going into deep sleep, but I wasn't sure if you were talking about an older kernel without cleanslate. Would the deep sleep problem with dt2s still be true for this newest kernel? Thank you for your kernel and your replies.
No I was talking about something completely different. Sorry for the confusion.

Another driver entirely and also double tap to wake and not double tap to sleep :)
 

rav101

Senior Member
Dec 1, 2013
2,397
1,356
Walsall
Google Pixel 6 Pro
Great to see you here,coming from pixel 3 I loved your kernal and it was always on my device, I'm guessing flashing by ex kernal manager doesn't work now? I liked how easy it was. 🤣

There are three images that need to be flashed to get the benefit of this kernel. Two images via fastboot/ bootloader and one via fastbootd.
 
Last edited:
  • Like
Reactions: roirraW "edor" ehT

flar2

Recognized Developer
Jun 11, 2012
18,699
87,634
Southwestern Ontario
elementalx.org
There are three images that need to be flashed to get the benefit of this kernel. Two images via fastboot/ bootloader and one via fastbootd.
All three images can be flashed in EXKM, separately on the tools screen (DTBO backup, DLKM backup and kernel backup). By dropping those images in the appropriate subfolders, they will appear in the list.
 

Attinderkahlon

Senior Member
Dec 9, 2014
111
15
All three images can be flashed in EXKM, separately on the tools screen (DTBO backup, DLKM backup and kernel backup). By dropping those images in the appropriate subfolders, they will appear in the list.
Do we have to reboot after flash of each image every time or flash all images at once and then reboot ?
 

shag_on_e

Senior Member
Sep 3, 2011
986
282
Google Pixel 6 Pro
I don't know if the same stuff applies on this device, but I made something like kcal for an earlier exynos soc, maybe it will be of use:

BTW, I don't think I will make a kernel for this phone, I bought one but will be returning it because I find it underwhelming, it was very expensive, the source is a clusterf*ck and very few people use my kernels anymore. I'll just update EXKM to work with all the newer exynos stuff before I send it back. I'm also working on a new "flash center" in EXKM that will make it easier to flash and extract all the different images.
Man I was really hoping to see you show up on this phone! I've been rocking your kernel on my Pixel 2xl since the beginning and love it! As long as you're sprinkling some good stuff, even tips, I'll be happy I suppose lol
 

xflowy

Senior Member
Jun 4, 2011
1,770
209
Google Pixel 6 Pro
hey guys! hows your idle drain? i just got aware that mine seems really bad. just lost like 12% over a 9 hour sleep.

thats not good right?

Screenshot_20211201-113157.png
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,274
17,072
hey guys! hows your idle drain? i just got aware that mine seems really bad. just lost like 12% over a 9 hour sleep.

thats not good right?

View attachment 5472203


2-3% over 7-8 hours a night.

12% is too much even on bad network. There’s probably an app or a service keeping the device awake.
 
  • Like
Reactions: shag_on_e

xflowy

Senior Member
Jun 4, 2011
1,770
209
Google Pixel 6 Pro


2-3% over 7-8 hours a night.

12% is too much even on bad network. There’s probably an app or a service keeping the device awake.
is the not really working bbs the only way to find out?
 

shag_on_e

Senior Member
Sep 3, 2011
986
282
Google Pixel 6 Pro


2-3% over 7-8 hours a night.

12% is too much even on bad network. There’s probably an app or a service keeping the device awake.
I just flashed 1.3.0 last night and I was actually shocked that I only lost 1% overnight. I've never seen that on any device I've ever owned. I also didn't flash the magisk module, so just straight kernel.
 

Burt Squirtz

Senior Member
Feb 11, 2018
594
261
Thanks for this. Works great. I was reading the thread, just my observation on the refresh rate, it drops when not needed and jumps to 120 when scrolling and or needed like video. I have noticed the jump around but that will also help with battery. Happens on stock and this the same. My 2 cents observation.
Erm. In other news, water is wet and the sky is blue....
 
  • Haha
Reactions: Mrcactuseater

Top Liked Posts

  • 20
    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.
    5
    Given the contents of the post they were responding to, pretty sure that person was talking about a lack of a feature list for the Despair kernel, not Kirisakura. But that person can correct me if I'm wrong.
    You could very well be correct. Seems my post was out of line.
    4
    @xflowy Yes lets stop comparison on kernel devs thread.
    if you want to compare feel free to create thread on general forum.

    Or even better: Don´t create a thread to compare ROMs/Kernels or other projects at all.
    I don´t understand why there´s the urge to constantly compare projects as if there was some kind of competition. Use what suits you best and be happy it´s available.
    That's what I'd prefer.
    If one is not satisfied about what's available they might even start to get into starting a simple first project themselves.

    The XDA I know from back in the days when I was just a user, when I was not contributing anything in form of a development project because I simply lacked any knowledge and was instead just a mostly lurking and learning user, had a few unspoken rules that included to not do exactly this. (create "comparison" threads)

    Did a clean install of the January build and directly installed your kernel again.

    Thanks, i really appreciate your work. 👍

    Also I like the way off communication with your users.

    Great kernel, smooth as hell and definitely better than stock. 😊

    Gonna buy you a beer mate 🍻

    Happy to hear. :) Thanks for the kind words and the beer.

    Is there a way to further limit the core frequency when the screen is off using the module?
    Yes it could be reduced further, but the lower it gets the more likely it gets to territory once entered where issues like stuttering during music playback etc could occur.
    4
    mind a few questions? ive been looking at this kernel but the lack of a feature list is turning me off.
    - how easy were you able to switch between kiri and despair?
    - just how about any differences between kernels you've used in general <_>
    Apologies for my harsh reply previously. I didn't contribute anything.
    3
    Thank you for your kernel.

    I no longer need to install the p6 powerhint module along with the kernel zip (1.5.0) as it now comes bundled already with the flashable zip. Correct?
    Correct (y)
  • 31
    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.
    20
    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. :)
    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 :)
  • 74
    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
    - 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 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, 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 keep 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)


    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 kernels will bootloop)
    2. Flash the correct kernel.zip via EXKM or FKM. Root will be preserved.
    3. Reboot and profit

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

    1. Download the images provided in the downloads section to your PC.
    1.a Optional: Download the powerhint magisk module found in downloads section and flash it via Magisk Manager like any other magisk module.
    2. Flash the provided images using fastboot/bootloader and fastbootd (these are seperate modes)
    2a. If you want to stay rooted patch the provided boot.img in magisk manager prior to flashing it via fastboot. Of course you need to adjust your command to flash like you did when rooting the device.
    3. vendor_dlkm.img needs to be flashed in fastbootd, while the other images need to be flashed via fastboot/bootloader
    How to boot to fastbootd
    From running phone:
    Code:
    adb reboot fastboot
    From fastboot/bootloader:
    Code:
    fastboot reboot fastboot

    Once in fastbootd:
    Code:
    fastboot flash vendor_dlkm vendor_dlkm.img

    Boot from fastbootd to fastboot/bootloader to flash dtbo.img and boot.img:
    Either select Reboot to bootloader option via buttons
    or type:
    Code:
    fastboot reboot bootloader

    Now in fastboot flash boot.img and dtbo.img
    Commands:
    Code:
    fastboot flash dtbo dtbo.img
    fastboot flash boot boot.img

    4. Reboot either via buttons
    or by typing
    Code:
    fastboot reboot
    5. Profit!

    @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
    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.
    31
    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.
    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.
    20
    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.