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

[Kernel][10.01.2022][4.14.261][A12] Kirisakura 8.0.3 for Pixel 4/XL aka FLORAL

Search This thread

ap1618

Senior Member
I may have missed this in my thread search... but what is the best kernel manager app to use with this kernel?

I'm on the latest Android 12 release, tried EX and FKM managers, but neither of them show any of the extra kernel hooks, in those apps it really just looks like a stock kernel.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,288
17,138
I may have missed this in my thread search... but what is the best kernel manager app to use with this kernel?

I'm on the latest Android 12 release, tried EX and FKM managers, but neither of them show any of the extra kernel hooks, in those apps it really just looks like a stock kernel.
to control the cleanslate features take a look at the cleanslate-kernel thread here on xda.
you´ll find both, the config and companion app there.

It´s mentioned in the OP where the CleanSlate features are mentioned. Everything else is just flash and forget.
 

Flyview

Senior Member
May 17, 2010
2,489
1,644
Toronto/San Diego
Is there a way to tweak low memory killer values? I don't see the page for it in EX Kernel Manager on my Pixel 4XL with Android 12 and Kirisakura kernel.

I am trying to disable ZRAM but the lmk is killing apps due to low ZRAM as a result:

"reason: low watermark is breached and swap is low (0kB < 209712KB)"
 
  • Like
Reactions: Suavie103

Suavie103

Senior Member
Jun 15, 2014
171
30
Google Pixel C
Google Pixel 4 XL
Is there a way to tweak low memory killer values? I don't see the page for it in EX Kernel Manager on my Pixel 4XL with Android 12 and Kirisakura kernel.

I am trying to disable ZRAM but the lmk is killing apps due to low ZRAM as a result:

"reason: low watermark is breached and swap is low (0kB < 209712KB)"
does your phone feel alil slower, I feel like my apps keep refreshing every time I switch back to them. ie chrome. maps keeps cutting off navigation in the background. are you having similar issues?
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,288
17,138
Is there a way to tweak low memory killer values? I don't see the page for it in EX Kernel Manager on my Pixel 4XL with Android 12 and Kirisakura kernel.

I am trying to disable ZRAM but the lmk is killing apps due to low ZRAM as a result:

"reason: low watermark is breached and swap is low (0kB < 209712KB)"
does your phone feel alil slower, I feel like my apps keep refreshing every time I switch back to them. ie chrome. maps keeps cutting off navigation in the background. are you having similar issues?
low memory killer is no longer in the kernel on pixels. (except if you use kernels that still make use of a kernel based implementation)

It´s handled by the userspace since a while now.
More info here and also props you can tweak. Disabling ZRAM is not a good idea on the Pixel 4 XL.

 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,288
17,138
here's a small teaser for you all :cowboy:


Screenshot_20211207-222415.png
 
Hi, i have an issue with google meet online meeting, display freeze 5 mins into the video conference calls. Didnt have any modules install in magisk except for kiri. The issue disappear after flash stock rooted without custom kernel. Im on latest A12 build.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,288
17,138
Hi, i have an issue with google meet online meeting, display freeze 5 mins into the video conference calls. Didnt have any modules install in magisk except for kiri. The issue disappear after flash stock rooted without custom kernel. Im on latest A12 build.
I can´t reproduce this issue on my end. had several google meet video calls that were over an hour without a hitch.
Maybe it was fixed during the bringup of 8.0.0 which I´m about to release.
There are a lot of updates, but I can´t reproduce the issue on the kernel I´m currently running, neither did I face it the last months.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,288
17,138
Update 8.0.0

Hey guys and girls,


I hope everybody had a great week so far. So that´s finally the "real" release for stable Android 12, that´s why I bump the kernel to 8.x.x. When stable a12 dropped there were no changes, we didn´t already have from devpreview/beta source.
I think the kernel "should" still run fine on A11, if somebody chooses to not update as nothing integral has changed. But no active support might be given if you´re on A11 and face issues.

There was a lot of other work done on the kernel, so I´m happy to release that after a lot of testing.

Everything else in the changelog and on github as usual.

I wish everybody a great day.
Enjoy the device and the kernel, because I certainly do :)

Before troubleshooting and reporting any issues make sure to not use any additional mods, scripts or tweaks. This includes all mods and magisk modules, even the tiniest modification you did.

big thanks to all my testers again:

@Mrcactuseater
@MArtyChubbs @ilal2ielli
@toastyp @Alcolawl
@i5lee8bit


Detailed changelog below.


Changelog:

- December source merged
- Linux-Stable to 4.14.256
- CAF-Upstream merged
- f2fs-stable upstream included
- update to schedutil
- msm: camera: kill vsync for reduced cpu cycles ( thanks for @sultanxdas´s work!)
- reintroduce have_move_pud memory management backport from mainline ( documentation commit here ), crashes with certain games like COD fixed


Magisk Module:
- After flashing the kernel, you will see a module called AK3 Helper Module in Magisk Manager. This will fine tune the power-hal. Do not delete it!


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

Why is linux-stable beneficial?

I wish you all a nice day/evening!


Download is below :)

Download:


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



How to flash the Kernel:

1. Make sure you are rooted, are using the latest magisk suited for your OS version and a kernel manager capable of flashing a zip is installed. If available you'll can use TWRP as well. Download the kernel.zip to your device.
1a. If you used the SQLITE3 Magisk Module and the GPay Fix Magisk Module in the past (prior to 2.0.0) look at this post: click me

2. Flash kernel zip in via your favorite method. Kernel Managers and Recoveries need to be updated to work with a specific Android Version. It's your job to ensure compatibility! :) Root will be preserved! (Make sure to be on the latest firmware the kernel is made for)

3. Reboot and profit! Before reporting any issues make sure to read the first three posts of this thread!
Instructions can be found in the OP 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
 

knopie

Member
Sep 16, 2007
40
10
Update 8.0.0

Hey guys and girls,


I hope everybody had a great week so far. So that´s finally the "real" release for stable Android 12, that´s why I bump the kernel to 8.x.x. When stable a12 dropped there were no changes, we didn´t already have from devpreview/beta source.
I think the kernel "should" still run fine on A11, if somebody chooses to not update as nothing integral has changed. But no active support might be given if you´re on A11 and face issues.

There was a lot of other work done on the kernel, so I´m happy to release that after a lot of testing.

Everything else in the changelog and on github as usual.

I wish everybody a great day.
Enjoy the device and the kernel, because I certainly do :)

Before troubleshooting and reporting any issues make sure to not use any additional mods, scripts or tweaks. This includes all mods and magisk modules, even the tiniest modification you did.

big thanks to all my testers again:

@Mrcactuseater
@MArtyChubbs @ilal2ielli
@toastyp @Alcolawl
@i5lee8bit


Detailed changelog below.


Changelog:

- December source merged
- Linux-Stable to 4.14.256
- CAF-Upstream merged
- f2fs-stable upstream included
- update to schedutil
- msm: camera: kill vsync for reduced cpu cycles ( thanks for @sultanxdas´s work!)
- reintroduce have_move_pud memory management backport from mainline ( documentation commit here ), crashes with certain games like COD fixed


Magisk Module:
- After flashing the kernel, you will see a module called AK3 Helper Module in Magisk Manager. This will fine tune the power-hal. Do not delete it!


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

Why is linux-stable beneficial?

I wish you all a nice day/evening!


Download is below :)

Download:


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



How to flash the Kernel:

1. Make sure you are rooted, are using the latest magisk suited for your OS version and a kernel manager capable of flashing a zip is installed. If available you'll can use TWRP as well. Download the kernel.zip to your device.
1a. If you used the SQLITE3 Magisk Module and the GPay Fix Magisk Module in the past (prior to 2.0.0) look at this post: click me

2. Flash kernel zip in via your favorite method. Kernel Managers and Recoveries need to be updated to work with a specific Android Version. It's your job to ensure compatibility! :) Root will be preserved! (Make sure to be on the latest firmware the kernel is made for)

3. Reboot and profit! Before reporting any issues make sure to read the first three posts of this thread!
Instructions can be found in the OP 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
Thanks, I’m happy
 
  • Like
Reactions: Freak07
Update 8.0.0

Hey guys and girls,


I hope everybody had a great week so far. So that´s finally the "real" release for stable Android 12, that´s why I bump the kernel to 8.x.x. When stable a12 dropped there were no changes, we didn´t already have from devpreview/beta source.
I think the kernel "should" still run fine on A11, if somebody chooses to not update as nothing integral has changed. But no active support might be given if you´re on A11 and face issues.

There was a lot of other work done on the kernel, so I´m happy to release that after a lot of testing.

Everything else in the changelog and on github as usual.

I wish everybody a great day.
Enjoy the device and the kernel, because I certainly do :)

Before troubleshooting and reporting any issues make sure to not use any additional mods, scripts or tweaks. This includes all mods and magisk modules, even the tiniest modification you did.

big thanks to all my testers again:

@Mrcactuseater
@MArtyChubbs @ilal2ielli
@toastyp @Alcolawl
@i5lee8bit


Detailed changelog below.


Changelog:

- December source merged
- Linux-Stable to 4.14.256
- CAF-Upstream merged
- f2fs-stable upstream included
- update to schedutil
- msm: camera: kill vsync for reduced cpu cycles ( thanks for @sultanxdas´s work!)
- reintroduce have_move_pud memory management backport from mainline ( documentation commit here ), crashes with certain games like COD fixed


Magisk Module:
- After flashing the kernel, you will see a module called AK3 Helper Module in Magisk Manager. This will fine tune the power-hal. Do not delete it!


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

Why is linux-stable beneficial?

I wish you all a nice day/evening!


Download is below :)

Download:


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



How to flash the Kernel:

1. Make sure you are rooted, are using the latest magisk suited for your OS version and a kernel manager capable of flashing a zip is installed. If available you'll can use TWRP as well. Download the kernel.zip to your device.
1a. If you used the SQLITE3 Magisk Module and the GPay Fix Magisk Module in the past (prior to 2.0.0) look at this post: click me

2. Flash kernel zip in via your favorite method. Kernel Managers and Recoveries need to be updated to work with a specific Android Version. It's your job to ensure compatibility! :) Root will be preserved! (Make sure to be on the latest firmware the kernel is made for)

3. Reboot and profit! Before reporting any issues make sure to read the first three posts of this thread!
Instructions can be found in the OP 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
Rock on! Works flawless on my PX4XL running LOS A11!!
 
  • Like
Reactions: Freak07
I can´t reproduce this issue on my end. had several google meet video calls that were over an hour without a hitch.
Maybe it was fixed during the bringup of 8.0.0 which I´m about to release.
There are a lot of updates, but I can´t reproduce the issue on the kernel I´m currently running, neither did I face it the last months.
First of all, thank you very much for the kernel, it's undoubtedly awesome.

2ndly, issue happens again on latest build, 8.0. im on latest A12, no modules on magisk stable 23. How do i extract dmesg, logcat or ramoops. It freeze the screen while the audio still going, then reboot after several minutes.

Edit: this time it happens after 40 minutes of google meet video call
 
  • Like
Reactions: Freak07
First of all, thank you very much for the kernel, it's undoubtedly awesome.

2ndly, issue happens again on latest build, 8.0. im on latest A12, no modules on magisk stable 23. How do i extract dmesg, logcat or ramoops. It freeze the screen while the audio still going, then reboot after several minutes.

Edit: this time it happens after 40 minutes of google meet video call

Not to derail your comment, but I believe you are saying that after 5sh minutes with Meet (voice call) your device locks up and slows down (video freezes/ETC)? I have not, and cannot reproduce that issue on my PX4XL. I use Teams/DUO/VIDEO/MEET calls all day/night long on my device for work, and they go into multiple hours on a video call without breaking (video nor audio). Never a slowdown, or lockup, or video issues so I cant reproduce it myself.

I am letting the dev know I don't have the same issue and I cannot reproduce it during long a$$ calls myself. I will add, right now I am on LOS A11 using Kirisakura 8.0.0 as my kernel. When I get time, I will flash an A12 firmware to test out Android 12 with Kirisakura 8.0.0 kernel to see if I can reproduce it.

Not too long though, I was on Android 12 (factory firmware) ROOT'd with those same long a$$ work video calls, still no issues. the only caveat with this comment is that I was on stock kernel so assuming you are on A12, stock firmware (Google), with Kirisakura 8.0.0 kernel, and you have the issues 5 minutes into a voice call, I will try to reproduce it that way (but confirm your OS so I can setup my device the same way).
 
  • Like
Reactions: Freak07

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,288
17,138
First of all, thank you very much for the kernel, it's undoubtedly awesome.

2ndly, issue happens again on latest build, 8.0. im on latest A12, no modules on magisk stable 23. How do i extract dmesg, logcat or ramoops. It freeze the screen while the audio still going, then reboot after several minutes.

Edit: this time it happens after 40 minutes of google meet video call
Thanks for the kind words. I really appreciate it.

If the device is "frozen" you can connect via adb shell and then can get a logcat and a dmesg that way. Dmesg needs root, so it's best to do the procedure one time when the device is still working fine, as you can't grant root to shell when the device is locked.

After the device has rebooted by itself zip up contents of sys/fs/pstore to get ramoops. :)
 
Not to derail your comment, but I believe you are saying that after 5sh minutes with Meet (voice call) your device locks up and slows down (video freezes/ETC)? I have not, and cannot reproduce that issue on my PX4XL. I use Teams/DUO/VIDEO/MEET calls all day/night long on my device for work, and they go into multiple hours on a video call without breaking (video nor audio). Never a slowdown, or lockup, or video issues so I cant reproduce it myself.

I am letting the dev know I don't have the same issue and I cannot reproduce it during long a$$ calls myself. I will add, right now I am on LOS A11 using Kirisakura 8.0.0 as my kernel. When I get time, I will flash an A12 firmware to test out Android 12 with Kirisakura 8.0.0 kernel to see if I can reproduce it.

Not too long though, I was on Android 12 (factory firmware) ROOT'd with those same long a$$ work video calls, still no issues. the only caveat with this comment is that I was on stock kernel so assuming you are on A12, stock firmware (Google), with Kirisakura 8.0.0 kernel, and you have the issues 5 minutes into a voice call, I will try to reproduce it that way (but confirm your OS so I can setup my device the same way).
Im on stock rooted A12 build SQ1A. I was actually been getting this issue since beta with custom kernel but the issue disappear with stock kernel.

Can i get those 3 logs from termux? Im not sure how to extract them.
 
Im on stock rooted A12 build SQ1A. I was actually been getting this issue since beta with custom kernel but the issue disappear with stock kernel.

Can i get those 3 logs from termux? Im not sure how to extract them.
Interesting so are you saying that you ONLY have the issue with CUSTOM kernels but not on stock kernel? And you're saying that it's ANY custom kernel, not only just this one Kirisakura?

I'm trying to rule down the possible scenarios so I can reproduce it and see what's going on, but right now I can't reproduce it.

You get the logs from adb, using PC connected to droid using ROOT'd ADB with "shell". For ramoops (after it reboots or FCs), zip the folder contents under sys/fs/pstore (picture example but note my folder is empty because it's not a crashed state), yours would have files. Zip those and ship off to the dev for ramoops. The rest of logs you can get from adb shell. Here are a few examples but you have TONS of options, including apps from the PlayStore to see/collect logs:

adb pull /sys/fs/pstore/console-ramoops --> FILEPATH/FILENAME
adb shell su -c dmesg > dmesg.log (FILEPATH/FILENAME) --> NEEDS ADB ROOT
adb logcat -d > logcat.txt (FILEPATH/FILENAME)

On device:
logcat -d -f /sdcard/logcat.txt

Those two log outputs, plus the zipped ramoops file is what the dev needs so collect all 3, zip into one file and send to the dev.

Use the following article links for more examples/explanations. These two links will give you everything you need to know/do for logs:

 

Attachments

  • Screenshot_20211209-074622_FX.png
    Screenshot_20211209-074622_FX.png
    58.2 KB · Views: 39
Last edited:

Curiousn00b

Senior Member
Dec 3, 2011
3,167
1,002
Delaware
Google Pixel 4 XL
Odd enough, the issue described above is what I just experienced, although I do have many things active within my system, the only thing that changed the last 3 days was installing this kernel.

I figured it was just my Pixel Stand causing the issue, but during a Duo call and my device is on the Pixel Stand, it would just freeze and I'd have to hard reboot. Experienced it 2 times yesterday and once today so far. I'll do more messing around later today and see what happens, but it only clicked in my head after seeing the posts here.
 

danielaniq28

Senior Member
Odd enough, the issue described above is what I just experienced, although I do have many things active within my system, the only thing that changed the last 3 days was installing this kernel.

I figured it was just my Pixel Stand causing the issue, but during a Duo call and my device is on the Pixel Stand, it would just freeze and I'd have to hard reboot. Experienced it 2 times yesterday and once today so far. I'll do more messing around later today and see what happens, but it only clicked in my head after seeing the posts here.
Mine would occured very fast if you minimized the video calls into a pip mode, and while browsing youtube/facebook etc it would get locked up very fast and the phone overheats like crazy.
 

ryandxter

Senior Member
Mar 12, 2013
279
84
The Special Region of Yogyakarta
hello again, I can confirm latest 8.0.0 compatible on A11 latest security patch just as described. THANKSS



I've faced boot stuck for 2mins but I'm tried hold vol button + replug charger immediately enter safe mode, without enter any passcode / pass keyguard you can reboot directly it'll boot normally


it may occur anytime once you've made some change with magisk modules (update / add / remove) even lsposed modules too, workaround is repeat step above with or w/o pluging charger as long you know how to enter safe mode
 

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    Update 8.0.3

    Hey guys and girls,


    I hope everybody had a great new year so far. It might be a bit to late, but I wish a Happy New Year to everyone here. :)

    There were not much changes for the kernel in the January source, however January security update was merged to the kernel.

    I also updated the location of the CleanSlate config file in the kernel to be compliant with new Android APIs that will be enforced sooner or later.
    That means you either need to update the CleanSlate config and companion app by joining the beta channel in the playstore or update to the latest possible versions found in the CleanSlate thread.
    To migrate the config file easily from the old location to the new location without needing to set the up completely fresh follow the instructions provided in this post from @tbalden

    I wish everybody a great day.
    Enjoy the device and the kernel, because I certainly do :)

    Before troubleshooting and reporting any issues make sure to not use any additional mods, scripts or tweaks. This includes all mods and magisk modules, even the tiniest modification you did.

    big thanks to all my testers again:

    @Mrcactuseater
    @MArtyChubbs @ilal2ielli
    @toastyp @Alcolawl
    @i5lee8bit


    Detailed changelog below.


    Changelog:

    - January source merged
    - merge linux-stable to 4.14.261
    - update CleanSlate implementation
    - update ak3 zip


    Magisk Module:
    - After flashing the kernel, you will see a module called AK3 Helper Module in Magisk Manager. This will fine tune the power-hal. Do not delete it!


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

    Why is linux-stable beneficial?

    I wish you all a nice day/evening!


    Download is below :)

    Download:


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



    How to flash the Kernel:

    1. Make sure you are rooted, are using the latest magisk suited for your OS version and a kernel manager capable of flashing a zip is installed. If available you'll can use TWRP as well. Download the kernel.zip to your device.
    1a. If you used the SQLITE3 Magisk Module and the GPay Fix Magisk Module in the past (prior to 2.0.0) look at this post: click me

    2. Flash kernel zip in via your favorite method. Kernel Managers and Recoveries need to be updated to work with a specific Android Version. It's your job to ensure compatibility! :) Root will be preserved! (Make sure to be on the latest firmware the kernel is made for)

    3. Reboot and profit! Before reporting any issues make sure to read the first three posts of this thread!
    Instructions can be found in the OP 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
    9
    Hello there @Freak07,

    I checked @Queentus's dmesg output and found this. I faced a kernel crash during my testing on my own P4a because of that log getting excessively printed. I believe that the following commit could possibly fix the issue if it is caused by the same phenomenon.

    Code:
    [33469.220338] msm_vidc:  err: This control 980927 is not supported yet
    [33469.250628] binder_alloc: 13104: binder_alloc_buf failed to map pages in userspace, no vma

    Edit: I submitted a pull request if you're interested!
    7
    I wish those who celebrate it Merry Christmas!🎄⛄✨

    I hope everybody has a nice time and is enjoying the holidays with their beloved ones.
    5
    Hi! Long time Kiri user here. Just wondering if its gonna keep getting updates for the P4. I know P6 development is going on for Kiri.

    Anyways, thanks for all the amazing years of support and development :)
    I already compiled the release and tested it, but I haven't found any time to release it.
    I hope later today in the evening.
    2
    Many thanks as always my friend. Your December version still works great on the January update, but we always appreciate your timely and informative updates. (y) :D
    Happy to hear.

    Yeah there were next to no changes from Google for the kernel released here, but I needed to implement the new changes for CleanSlate kernel to satisfy new a12 API needs regarding the location of the config file (not yet enforced, but better to comply while there's still time) which needed a bit more work, since I don't use everything straight up from CleanSlate. (The features that work on rooted phones, via magisk modules, like adblocking for example, I'm not importing from cleanslate as using magisk modules is easier there).
  • 84
    Kirisakura-Kernel for the Pixel 4 and Pixel 4 XL

    Hello everyone,

    After rising to the most popular kernel on the Pixel 3/XL forums, here is Kirisakura-Kernel for the Pixel 4 (FLAME) and Pixel 4 XL (CORAL), together FLORAL.
    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!

    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, CAF-Upstream, F2FS-Mainline 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.


    Main Features:
    - Based on latest kernel sources from Google, Kernel is made for Android 12
    - Linux-Stable-Upstream included to latest 4.14.261
    - CAF-Upstream usually based on one of the latest tags for sm8150
    - include all important fixes/improvements from kernel/common
    - compiled with latest Clang 13.0.1 from Google prebuilts and built with -O3 optimizations
    - F2FS implementation updated to latest state of kernel/common and kernel.org maintained by Jaegeuk Kim.
    - devfreq backports from 5.4 (sd 888 qcom kernel base)
    - Safety Net patches are included -> Kernel passes Safety Net (hardware attestation is not related to these kernel patches)
    - Flashing the kernel will keep root!
    - Tested to work on custom ROMs

    - Flashable via EXKM and FKM on a rooted system!
    - remove extensive Memory Management logging from Google
    - removed nolog usage, remove rtb logging from the kernel
    - remove selinux auditing from kernel for lower overhead
    - remove IPC logging from the kernel
    - introduce kmalloc reclaimable caches for improved memory management
    - AnyKernel3 powered by @osm0sis (big thanks!)

    EAS related features:
    - CleanSlate options to dynamically control freq boosting and sched boosting of powerhal
    - small improvements to tasks placement
    - fixes from kernel/common to EAS
    - improvements from Pixel 5


    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 (WLAN, MM, audio, charger, power, thermal, glink etc) to user power efficient workingqueues. This should work well in conjunction with EAS
    - include cpuidle patches from CAF
    - s2idle-flow improvements from mainline
    - improve efficiency while music playback
    - arm64: lse: Prefetch operands to speed up atomic operations

    File System related features:
    - Include latest f2fs changes found on f2fs stable git
    - Include rapid GC by @arter97 ( best thing is to read the commit description linked here. I compared GC on stock google f2fs, upstreamed f2fs and f2fs with rapid GC. Rapid GC is the most effective, followed by upstreamed f2fs.)

    GPU related features:
    - KCAL to control various RGB related display configs (RGB, Hue, Saturation etc -> accessible via CleanSlate Config App)
    - add ability to reduce minimum brightness
    - add high-brightness-mode (HBM)
    - Update GPU driver to latest CAF state
    - improve GPU performance (overall smoother experience)
    - reduce power consumption when rendering static images
    - enable of usage of SD855+ GPU frequencies as optional feature

    UI/UX/Usability related features from CleanSlate:
    - CleanSlate features made by @tbalden
    - Adjust all CleanSlate features with the CleanSlate-Apps found in the CleanSlate-Thread (if you profit from the CleanSlate features make sure to buy the premium versions on Play-Store to support
    @tbalden
    - CleanSlate options that require permissive selinux in any way are not included, as they can be easily achieved otherwise on a rooted environment and this kernel is not intended to be used rootless (adblocking, props spoofing etc.)
    - Flashlight Notification/Call blinking
    - Vibrating Notification Reminder
    - Sweep to Sleep touchscreen gesture - highly customizable
    - DoubleTap on Sweep2Sleep's area gestures - new way to pull down android Notification Area
    - Face down screen off - new gesture, e.g. conveniently use together with 'flip to shh' to turn screen off

    Network related features:
    - Wireguard Support (Details)

    Memory related features:
    - updated PSI monitor with latest changes
    - improved mm with patches from latest mainline
    - various other changes from mainline
    - included zstd and lz0-rle as options for ZRAM-algorithm (lz4 is probably the best all around, so only change it if you know why and what you are doing)
    - allow swappiness up to a value of 200
    - Backport to enable CONFIG_HAVE_MOVE_PMD (see here)
    - Backport to enable CONFIG_HAVE_MOVE_PUD (see here) (reverted for now as it breaks audio driver)
    - improvements to ZRAM writeback (thanks @arter97 )
    - disable per cgroup tracking via psi to reduce overhead

    Security related features:
    - CFI and LTO both kept intact and are used to keep additional security Google implemented for us!
    - ThinLTO used as of 3.9.0
    - Shadow Call Stack

    Tuned PowerHal
    - allow kernel to idle on lowest frequencies when no interaction is happening
    - increase swappiness during periods without interaction to favor swapping memory, relax swappiness otherwise
    - scheduler camera processes to the big cluster and prime core when faceunlock is used
    - adjust powerhal behaviour when the camera is used

    Misc Features:

    TCP Congestion Algorithms:
    - advanced algorithms enabled
    - includes new bbr2
    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

    Other features:
    - disable logging to make the kernel more lightweight in various places (includes mm, vma, gpu, ipa etc)
    - remove VLAs from the kernel (more info)
    - add support for steam controller
    - add support for nintendo switch controller
    - merge upstream solution for PM/Wakeup driver, which reduces unnecessary logspam and also improves sleeping behaviour
    - merge freezer v2 backport from google gerrit (required for developer option ""suspend execution for cached apps"")

    Feature section for the "non visible" but perceptible improvements:
    - updated binder section (responsible for interprocess communication)
    - updated sdcardfs ; have a read about it here:


    Requirements

    - unlocked Bootloader
    - USB-Debugging in developer options enabled
    - latest adb and fastboot binaries
    - working adb and fastboot environment
    - working magisk environment


    How to flash the Kernel:

    1. Download the kernel.zip to your device

    1a. While it may not be necessary all times when coming from another custom kernel: You may want to restore stock boot.img as well as stock dtbo.img, which can both be found in the factory image. If you´re on a custom rom, simply dirty flash your ROM. Reroot with magisk and optionally install twrp.zip (if existing). Before reporting issues make sure you do that! Thank you!

    1b. If you used the SQLITE3 Magisk Module and the GPay Fix Magisk Module in the past look at this post: click me

    You only need to do either 2a OR 2b
    2a. If TWRP is available for this device and specific android version, boot to TWRP and flash my kernel.zip. Root will be preserved!
    or
    2b. Flash kernel zip in EX Kernel Manager or FKM app. Root will be preserved! If a kernel manager is not yet updated to work on a specific Android Version, you need to wait until it is updated or use another one.

    4. Reboot and profit!



    DOWNLOAD:
    Download is located always in this folder:

    https://www.androidfilehost.com/?w=files&flid=301179


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


    Changelog:

    Android 10/ Q Kernels
    1.0.0 Initial Release
    1.0.1 https://forum.xda-developers.com/showpost.php?p=80712545&postcount=51
    1.0.3 https://forum.xda-developers.com/showpost.php?p=80791393&postcount=181
    2.0.0 https://forum.xda-developers.com/showpost.php?p=81069625&postcount=341
    2.1.0 https://forum.xda-developers.com/showpost.php?p=81168297&postcount=424
    2.3.0 https://forum.xda-developers.com/showpost.php?p=81244627&postcount=491
    2.3.4 https://forum.xda-developers.com/showpost.php?p=81311861&postcount=561
    2.6.0 https://forum.xda-developers.com/showpost.php?p=81408591&postcount=611
    2.9.0 https://forum.xda-developers.com/showpost.php?p=81527369&postcount=692
    2.9.2 https://forum.xda-developers.com/showpost.php?p=81575075&postcount=702
    3.1.0 https://forum.xda-developers.com/showpost.php?p=81625099&postcount=725
    3.2.0 https://forum.xda-developers.com/showpost.php?p=81679343&postcount=761
    3.9.0 https://forum.xda-developers.com/showpost.php?p=81926617&postcount=802
    3.9.1 https://forum.xda-developers.com/showpost.php?p=81943269&postcount=824
    4.2.0 https://forum.xda-developers.com/showpost.php?p=82189985&postcount=851
    4.5.0 https://forum.xda-developers.com/showpost.php?p=82485339&postcount=892
    4.5.6 https://forum.xda-developers.com/showpost.php?p=82562029&postcount=941
    4.7.5 https://forum.xda-developers.com/showpost.php?p=82725499&postcount=986
    5.0.0 https://forum.xda-developers.com/showpost.php?p=83019609&postcount=1022
    5.2.2 https://forum.xda-developers.com/showpost.php?p=83206123&postcount=1066
    5.2.6 https://forum.xda-developers.com/showpost.php?p=83387505&postcount=1078

    Android 11/ R Kernels
    6.0.0 https://forum.xda-developers.com/showpost.php?p=83476821&postcount=1092
    6.1.3 https://forum.xda-developers.com/showpost.php?p=83649491&postcount=1131
    6.2.4 https://forum.xda-developers.com/showpost.php?p=83849179&postcount=1143
    6.6.0 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-84068177
    6.6.6 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-84227741
    6.8.2 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-84408147
    7.1.0 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-84588667
    7.1.1 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-84603881
    7.2.3 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-84747379
    7.4.0 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-84900715
    7.4.1 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-84951399
    7.4.2 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-85000553
    7.4.3 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-85079523
    7.4.4 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-85155405
    7.9.0 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-85298631
    7.9.1 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-85424575
    7.9.2 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-85473277
    7.9.3 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-85674963

    Android 12
    8.0.0 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-86063673
    8.0.3 https://forum.xda-developers.com/t/...r-pixel-4-xl-aka-floral.3992213/post-86236075

    Donations:
    Donations are not mandatory but very welcome if you want to support development or just buy me a coffee :)
    If you like my work: http://paypal.me/freak07

    Credits:

    @osm0sis for all his work, including the ak3 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 all of his work and the stuff I could learn from him
    @flar2 for all his work
    @joshuous for all the help he provided to me in the past!
    @topjohnwu for magisk!
    @arter97 , @kdrag0n for helping me out several times!

    XDA:DevDB Information
    Kirisakura Kernel, Kernel for the Google Pixel 4 XL

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

    Kernel Special Features:

    Version Information
    Status:
    Stable

    Created 2019-10-27
    Last Updated 2020-11-03
    59
    Update to 2.0.0

    Hey guys and girls,

    So here´s the update finally. I worked on this kernel in parallel to the initial release I uploaded on XDA, since I started developing for the Pixel 4 XL. Because ultimately the 2.0.0 release is built upon the kernel base I wanted initially, but wasn´t able to create.
    This will be a longer post, but have a bit patience and tenacity when reading this post it might be worth it.

    A little context so everybody can follow a bit more easily:
    Starting with the Pixel 3/XL, the pixel kernels are more close to "CAF" than on previous Google phones. CAF stands for codeaurora-forums, where the development from Qualcomm for our SOC, the SD855, happens.
    Usually OEMs get a snapshot of a CAF-Base from Qualcomm, stop updating it, implement own device or company specific drivers/necessary changes and only add minimal changes to the kernel as soon as it is deemed stable.
    The CAF-Developers however constantly push updates to their CAF-Base on their git. It´s a lot of work to completely merge all CAF updates into the kernel, but since there are a lot of device and soc specific fixes and improvements it´s very worth it.

    Google used a very early snapshot of the CAF-source to base their Pixel 4/XL kernel upon.
    So one of my initial goals was to merge a more recent CAF-Base. This proved to be very difficult however. It ended up in so many failed attempts with a non successfully booting phone that I lost count of it and was on the verge of giving up a few times.

    I worked on it for weeks, excluding more and more changes, piece by piece, until I finally got the phone to a state, where I was able to pull a log and work in a specific direction.
    After that it was just a lot of time, that went into merging and doing tedious work. I took a peek into many corners of the kernel, while fixing all the conflicts and understanding some of the fixes google applied, which were also fixed by CAF at a later stage.
    So I tried to always pick the best solution for the problems Google and CAF faced. Sometimes I reverted a fix from Google, sometimes I reverted a fix from Qualcomm and rather picked the Google one.
    I understand the kernel a lot better and learned a lot in the last weeks.
    The main difficulties I had to fight with, were the fact that Google is the only OEM that uses LTO in conjunction with CFI and ShadowCallStack for increased security. This requires some low-level changes to arm64/kernel, which conflicts with some more recent changes from CAF. These changes were identified and reverted.
    The Pixel 3 and Pixel 4 phones are also the only phones, which make use of the Userspace-Low Memory Killer (ULMK) instead of relying on the kernel side low memory killer. Google put a lot of work and thought into this after the Pixel 3 was released. Very exciting work started on the dev previews of Android 10 on the Pixel 3, regarding the ULMK. I tried these changes on a personal Pixel 3 Rom and was in contact with the google dev responsible for it. I like the approach and thought process behind it. Since CAF is still on the kernel space low memory killer, there were more conflicts, which needed to be identified.
    Some of these commits were really inconspicuous. That´s the main reason this took a lot of time.

    One more point I´d like to describe:
    CAF maintains various tags, which can be merged. There´s a regular CAF-Tag for the sd855, where most OEMs base their kernel upon. It´s also very similar to the CAF-Snapshot google received from Qualcomm, just the OEM version instead of the open-source version.
    F2FS state is pretty old on this CAF-base (Google did upstream this to a pretty recent state, because the official f2fs-maintainer/developer is employed by google) , as well as other subsystems. Linux-stable upstream is at 4.14.117.
    For comparison the Pixel 4 XL stock kernel is still at 4.14.111. Another symptom of the rather not recent CAF-Base Google built the kernel upon.

    Now lets get to the sweet stuff :)
    Then there´s a more advanced CAF-Tag/Branch maintained by CAF for the sd855.
    Most of the soc specific and other related drivers have way more recent CAF-Upstream patches. F2FS is on the same level as the Pixel 4. Linux-stable upstream is at 4.14.146. Just to give you an idea.


    A short summary of how the new base works in comparison to the 1.x.x releases:

    1.x.x: Googles Code + necessary changes to compile as a standalone kernel + linux-stable upstream from kernel.org to 4.14.15x + upstreaming of various subsystems + kernel features

    2.0.0: Googles Code + necessary changes to compile as a standalone kernel + nextgen CAF base (includes linux-stable to 4.14.146) + regular CAF base for the sd855+ missing linux-stable upstream (up to 4.14.156) + upstreaming of various subsystems + kernel features

    Example 1:
    As you can see merging that nextgen CAF base brings more than one advantage. It´s tested code from Qualcomm/CAF which includes upstream updates for various subsystems and also linux-stable updates. That means less rooms for errors introduced by me merging thousands of lines of code.
    We have linux-stable upstream up to 4.14.146 tested by Qualcomm on the SD855 in the new kernel base. On the initial 1.0.x kernel I merged linux-stable myself all the way from 4.14.111 to 4.14.15x.
    That´s just one example but I think it serves as a good way to understand my motivation better.
    Even though one can´t see the updated SOC-specific drivers, the kernel runs way better than the 1.0.x release.
    Updates include drivers as GPU, CPU, Modem, Bluetooth, basically nearly all drivers.
    For example my bluetooth range when connected to my earstudio has significantly increased due to some CAF-Updates!

    Example 2:
    Just so you all can see how far away we are from the stock kernel now we take a look at the amount of code changes:

    Merging the next-gen CAF-tag: 3,171 changed files with 241,690 additions and 23,565 deletions.
    Merging the regular SD855 tag on top: 223 changed files with 5,754 additions and 1,852 deletions.

    Not all of these changes end up in drivers we actually use, but it´s still a good indicator.


    There were many other changes done to the kernel as well. I try to list them in the changelog!



    Regarding the freezes some people faced straight after rebooting:
    The only issue I could reproduce myself and solve with the help of a tester that was affected by the freezes too, where caused by F2FS-Upstream not working well with the SQlite3 module and the Gpay Fix Module.
    So for now I have excluded F2FS-Upstream from my kernel. Judging from my experience with the Pixel 3 XL Google will soon merge these changes by themselves and then even the stock kernel will exhibit this behaviour.
    I can´t see anything wrong with the F2FS-Upstream kernel patches so a solution will have to be found anyway when Google merges these changes into the stock kernel.
    If you have used the SQLite3 Module and the GPay Fix Module in the past, please follow step 1a from my instructions.

    Screen freezes when using HBM in conjunction with AOD and Android Auto are resolved too.

    Please keep in mind. I only looked at the issue with the GPay Fix Module, because I saw some courage from @ilal2ielli providing logs and trying to actively help me.
    No magisk modules, scripts, tweaks, modifications, xposed, sound mods or similar are officially supported!
    If you face issues, try to reproduce them without any modifications done to the system at all. Then provide logs and steps to reproduce (instructions in post #2). This way I can look into it.
    Sometimes a clean flash after using to many mods like xposed, even if installed systemlessly gets rid of all perceived issues!
    Posts like: "I have issues please fix will be simply ignored. "


    Magisk Module fixing the stock powerhal behaviour:
    The power hal of the pixel 4 is partially controlled by a config file. On stock the setup of the power-hal causes the kernel to not idle at 576mhz on the little cluster after some random length of uptime, depending on usage and setup.
    This module fixes this behaviour. It´s not critically needed, but may increase battery life a tiny bit.

    On stock this config file sets up the power hal to boost top-app schedtune boost to 30 upon interaction and after the boost duration is finished, back to a value of 10.
    There are different groups for tasks. top-app tasks are ui-critical tasks, rt-tasks, all that are critical for a smooth experience of the phone.
    Setting top-app schedtune boost to 30 causes the follwoing: The scheduler will expect tasks of the top-app group to use 30% more CPU time than they (probably) actually will, and the CPU-frequency governor will speed up the processor accordingly. "Boosting" a process in this way, thus, does not affect its scheduling priority, but it will affect the speed of the CPU on which it ends up running.
    The problem is resetting the value back to 10, when no interaction is happening. This seems to cause the little cluster to idle at 1036mhz after the phone is up and running a few hours on 4.14 kernels.
    With my module the value gets reset back to 0 instead of 10, when the phone is not being interacted with
    As you can see this is not kernel related, but a userspace thing, that just influences how the kernel handles load. So it can´t be fixed in the kernel, it needs to be fixed in userspace.
    That´s why I created this magisk module. It can be used on the stock kernel and other kernels as well!



    This kernel was more than a month work and I spent countless hours during my free time (and the nights) to get it to this state! Especially preparing the CAF-Base I merged, understanding all changes and consequences which happen by merging it!
    I´m glad it worked out and a bit proud it can finally be released!

    So please enjoy it hopefully as much as I am :) I´m going to enjoy the rest of my sunday now!


    The kernel was tested for a week without a single issue reported by my testers :)
    A huge thanks to them at this place!
    @wrongway213
    @Mrcactuseater
    @MArtyChubbs
    @ilal2ielli
    @toastyp


    Detailed changelog below.

    Enjoy!


    Changelog:

    Kernel Base
    - Completely new kernel base based upon latest Google source
    - Next-Gen CAF-Tag LV.AU.0.0.1-02420-qtiquingvm.0 merged
    - Regular CAF-Tag for SD855 merged LA.UM.8.1.r1-12200-sm8150.0
    - linux-stable upstream to latest 4.14.156
    - included patches from kernel/common
    - removed F2FS upstream due to conflicts with SQLite operations introduced by SQLite3 Magisk Module and GPay fix magisk module
    - remove extensive Memory Management logging from Google
    - removed nolog usage, remove rtb logging from the kernel
    - remove selinux auditing from kernel for lower overhead
    - remove IPC logging from the kernel
    - introduce kmalloc reclaimable caches for improved memory management



    Features:
    - all previous features kept intact
    - reduce power consumption when rendering static images
    - add support for steam controller
    - introduce bbr2 tcp congestion control algorithm
    - improve bbr congestion control algorithm

    Further Kernel Changes:
    - make bluetooth driver more lightweight
    - remove IPC logging from several drivers
    - improve memory allocations (thanks @arter97 @Sultanxda)
    - remove VLA usage (thanks @arter97)
    -

    Other changes:
    - look at github :)

    Magisk Module:
    - Add Module to fix config for power hal

    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=4349826312261650873

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



    How to flash the Kernel:

    1. Make sure you are rooted and either EXKM or FKM is installed. Download the kernel.zip to your device.
    1a. If you used the SQLITE3 Magisk Module and the GPay Fix Magisk Module in the past look at this post: click me

    2. Optionally: Flash the magisk module provided in the release post!

    3. Flash kernel zip in EXKM or FKM app. Root will be preserved!

    4. Reboot and profit! Before reporting any issues make sure to read the first three posts of this thread!
    Instructions can be found in the OP 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
    Progress Report/Small Teaser :)

    Hey everybody,

    Testing of the new kernel I mentioned some time ago seems very very promising.
    I really hope I find some time this weekend to get the release ready.

    I started more than 3 times from scratch until everything worked out as I intended it to. That´s the reason, why there were no updates for over two weeks here now.
    It´s a completely new kernel base from CAF (basically from their Next-Gen branch) and essentially the kernel like I wanted it from the beginning but wasn´t able to build so it boots up.
    I will give a detailed description of everything done in the release post. That will be a long post. ;)
    The wait will be worth it so stay tuned.

    The new kernel should have the freezing on bootup issue fixed, when any sort of GPay fix is used. I will give short instructions once the kernel is released, to make sure you can start clean there.
    A big thanks to @ilal2ielli for debugging this issue with me, patiently providing logs all the time and keeping up with all the test builds I sent to him.

    The display issues related to Android Auto when used in conjunction with HBM will also be fixed in the new kernel. Thanks to @toastyp for taking the time, providing me logs and giving feedbacks on test builds I sent him over the last weeks.


    I wish everybody a nice day :)
    41
    Update to 4.7.5

    Hey guys and girls,

    I try to be quite fast with the monthly security updates indeed. Google always publishes the source code, when I´m going to sleep, so depending on your timezone you might have to wait a few hours or a day longer. :)
    Keep in mind, I´m just a human being so if it takes a little bit longer, it´s probably because there´s something else keeping me busy.

    With that said here´s the security update for June. We already had most of the changes from merging CAF, Linux-Upstream and other things.

    Upstream linux-stable is merged to 4.14.182 as well as CAF-Upstream and mainline f2fs-updates :)


    All recently developed CleanSlate options can be easily accessed via the CleanSlate apps on this kernel as well! Please make sure to buy the premium versions if you profit from these features and want to give a little bit back to @tbalden ! Or just drop him a small donation!
    This includes the option to reduce the freq boosting from the stock powerhal and EAS scheduler boosting with adjustable levels. This is a very handy way to safe power on the fly without using the stock powersaver profile.

    All option to use different gamma settings to reduce the green tint can be found as well! This includes a few different choices as well.
    Please take look at the latest release posts from @tbalden ! These include more detailed explanations!

    https://forum.xda-developers.com/showpost.php?p=82660965&postcount=219

    https://forum.xda-developers.com/showpost.php?p=82688341&postcount=228

    https://forum.xda-developers.com/showpost.php?p=82696759&postcount=233

    https://forum.xda-developers.com/showpost.php?p=82725109&postcount=255





    Before troubleshooting and reporting any issues make sure to not use any additional mods, scripts or tweaks. This includes all mods, even the tiniest modification you did.
    Once you know things are working add them back one by one to make sure everything works.



    More details in the changelog! :)

    I wish everybody a great weekend :)

    big thanks to all my testers again:

    @Mrcactuseater
    @MArtyChubbs @ilal2ielli
    @toastyp @Alcolawl


    Detailed changelog below.

    Enjoy!


    Changelog:

    Kernel Base
    - Merge June Security Update
    - Linux-Stable-Upstream to 4.14.182
    - Merge latest CAF-Tag for the SD855 as usual
    - patches from kernel/common
    - updates to f2fs to be inline with f2fs-stable
    - update WiFi driver with upstream CAF to remove some logging

    Features:
    - add all recently developed CleanSlate features! They are all accessible via cleanslate apps, which can be found on the CleanSlate thread! Please make sure to buy the premium versions if you profit from these features and want to give a little bit back to @tbalden !
    - option to reduce frequency boosting
    - option to reduce EAS Scheduler related boosting
    - option to reduce green tint by using different gamma tables (please refer to the release posts I linked above)


    Other changes:
    - see github :)

    Magisk Module:
    - Now included in the kernel.zip (will appear as AK3-Helper Module in Magisk Manager)

    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=4349826312261823892



    How to flash the Kernel:

    1. Make sure you are rooted, are using the latest magisk stable and either EXKM or FKM is installed. Download the kernel.zip to your device.
    1a. If you used the SQLITE3 Magisk Module and the GPay Fix Magisk Module in the past (prior to 2.0.0) look at this post: click me

    1b. Remove the old powerhint-magisk module in magisk manager starting with version 4.5.6 as it´s now included in the kernel.zip. After flashing the kernel it will show up as AK3 Helper Module in Magisk Manager.

    2. Flash kernel zip in EXKM or FKM app. Root will be preserved! (Make sure to be on the latest firmware the kernel is made for)

    3. Reboot and profit! Before reporting any issues make sure to read the first three posts of this thread!
    Instructions can be found in the OP 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
    38
    Update to 2.1.0

    Hey guys and girls,

    So here´s the next update. I guess you all have noticed by now, that I try to not constantly update the kernel, immediately for every single new commit that makes its way into the kernel.
    This has mainly two reasons. I want the kernel to be tested thoroughly. I´m not trying to develop a very close to stock kernel, but I still want it to be stable. Testing needs time and some issues only creep up after a while.
    The other reason I´m short on time lately and updating the thread takes time. :)

    Short explanation on some logs I examined, the new CAF-Merge and the December update from Google.


    Regarding the logs. I further dug through the source and while testing we stumbled upon a few things.

    I took a look at the log @rickysidhu_ send me a few days ago. It´s unfortunately caused by a warning that´s also present in the stock kernel on the Pixel 3 and I saw the same on a log from one of my testers. @rickysidhu_ confirmed it happens on EX-Kernel on the Pixel 4 as well, which is very close to stock. So I´m sure it isn´t something I introduced.
    I never encountered the warning or the following reboot on my own device, so it might be something network related tied to a very specific scenario or some sequence of events.
    I´m aware of the issue and still looking for a solution.

    problem number two is connected to another issue one of my testers run into.
    Looking at the log I found this commit from Google present in the stock kernel related to a problem where the device fails to switch between suspend and resume.
    It essentially forces a kernel panic, when the device is stuck between suspend and resume. This issue appears to be quite rare, but it happens more frequently for some people.
    It seems to me Google had no other choice, than to implement that non-desirable "workaround" for the issue.
    If this happens the radar chip and some thermal driver related code seems to be at play.

    If you encounter a reboot, immediately go to sys/fs/pstore, zip up the contents and upload them here for me. Give all details about your setup and I will look at the logs.


    This brings us to the December update from Google.
    Google now enforces warm reboots on thermal related shutdowns. That means logs are kept intact in case a random reboot happens.
    I think this is directly related to the suspend/resume issue described above. So google is aware of the issue and seems to work on it.

    On the good side, they worked on the face-detection driver and made it work more quickly and efficiently.
    Google maxed out PCIe speeds, and fixed an encryption related problem which both impacted file system performance as well
    Follow this link for an androbench taken on the December update

    There are many other little improvements from Google in the December drop, so the wait was definitely worth it for me. :)


    The last point is reserved for some of my own changes.

    The nextgen-CAF tag is now merged to the most recent state to what´s available on the CAF-repos. This second merge brought again many fixes from CAF-Upstream and I can tell the kernel runs better than before from the logs and usage.
    I was able to revert a few "emergency" google fixes in the source and replace them again with CAF-Upstream solutions. Some of these reverts seemed over a year old and seemingly forgotten by Google. This might have been the issue for some deep sleep issues. I didn´t encounter a single instance where my phone was left with broken deepsleep for over 2 weeks now.
    Additionally I merged an upstream solution for PM/Wakeup driver from kernel/common, which reduces unnecessary logspam and also improves sleeping behaviour/operation.
    Since there are some problems with sleep/suspend/resume behaviour on the Pixel 4, I wanted to give this a few weeks before it gets in the release kernel.
    Alongside these commits, the Google and CAF drivers which make use of the upstream PM/Wakeup solution, were updated to work properly.

    The CAF-Tag brought many improvments to SOC-related driver and EAS- Implementation as well. I certainly haven´t noticed any negative performance issues for now. Hundreds of files were updated. Take a look at github if you´re interested in detailed changes.

    Removal of kernel side enforced HBM.

    There are currently two ways to enable HBM on this kernel, either use the kernel side enforced HBM (toggleable in EXKM) or enable the hidden factory disabled HBM from Google.

    After some Pixel 4 owners reported issues with the HBM toggle in EXKM, I decided to remove this implementation from the kernel for now.
    The Pixel 4 and the Pixel 4XL share different BL values. Which made toggling HBM on the Pixel 4 reset the brightness to 1/4 of maximal brightness.
    The HBM mode enforced by the kernel makes the display drop to 60hz, maxes the brightness out and renders the brightness slider non-functional.

    However enabling the HBM mode baked into stock kernel, but disabled by Google leaves the display at 90hz and the brightness slider functional.
    It´s described in the following artice: How to enable disabled factory HBM from Google on the Pixel 4/XL

    Since that method works way more smoothly, I decided to remove the kernel side enforced HBM from my kernel.
    So refer to that XDA article above for high brightness mode, in case you want it enabled.

    A word of warning however. HBM is one of the mods, that can damage your device and Google could arguably deny any warranty claim, if you decided to use it.

    Google made the Pixel 4/XL devices only use HBM on HDR video playback.
    That might have a few reasons other than to save battery or to "limit" and leave users with a dimmer display.

    Yes limiting the maximum brightness saves a bit battery especially when 90hz is used. I guess we all like a bit more battery life.
    However what also needs to be seen is the relation of battery life versus increased usability in sunlight by HBM!

    here´s a comparison shot with a camera on manual controls. One in a dark corner of the room and one in the "not so bright" German winter sun.
    https://photos.app.goo.gl/wmN56Gd6unhvXBym8

    As you can see the difference isn´t really big. I wouldn´t say enabling HBM makes usability in the sun better by a huge margin. Even the super bright displays of other phones are not comfortable to use in bright sun.

    With the method above every can try by themselves if they increased brightness is worth the increased power consumption and decide for themselves.

    Now the warning. Google deliberately made HBM only available on HDR Video playback. That means moving content with less chance of burn in.
    Since we don´t have documentation about the safety limites of the displays available, you´re touching ground that isn´t clearly labeled as safe for the display on a daily basis.
    Rendering static images on highest brightness in HBM, may "benefit" and accelerate burn in.
    If you´re not using HBM and make a warranty claim for burn in, law is on your side when asking for a replacement. If you decide to use HBM and overwrite googles intentions, your in another zone.



    Anyway :) have fun with the release. I´m very satisfied with the kernel so far :)


    Small update on the magisk module:

    Magisk Module fixing the stock powerhal behaviour:
    The power hal of the pixel 4 is partially controlled by a config file. On stock the setup of the power-hal causes the kernel to not idle at 576mhz on the little cluster after some random length of uptime, depending on usage and setup.
    This module fixes this behaviour. It´s not critically needed, but may increase battery life a tiny bit.

    On stock this config file sets up the power hal to boost top-app schedtune boost to 30 upon interaction and after the boost duration is finished, back to a value of 10.
    There are different groups for tasks. top-app tasks are ui-critical tasks, rt-tasks, all that are critical for a smooth experience of the phone.
    Setting top-app schedtune boost to 30 causes the follwoing: The scheduler will expect tasks of the top-app group to use 30% more CPU time than they (probably) actually will, and the CPU-frequency governor will speed up the processor accordingly. "Boosting" a process in this way, thus, does not affect its scheduling priority, but it will affect the speed of the CPU on which it ends up running.
    The problem is resetting the value back to 10, when no interaction is happening. This seems to cause the little cluster to idle at 1036mhz after the phone is up and running a few hours on 4.14 kernels.
    With my module the value gets reset back to 0 instead of 10, when the phone is not being interacted with
    As you can see this is not kernel related, but a userspace thing, that just influences how the kernel handles load. So it can´t be fixed in the kernel, it needs to be fixed in userspace.
    That´s why I created this magisk module. It can be used on the stock kernel and other kernels as well!

    I recommend using the module as I´m using it myself :)

    V2 boosts the CPU cores to max for 5 seconds instead of only 1, when launching the camera app to ensure smoother operation.



    The changes introduced by the new CAF-Tags were tested for over a week without a single issue reported by my testers :)
    A huge thanks to them at this place again.
    @wrongway213
    @Mrcactuseater
    @MArtyChubbs
    @ilal2ielli
    @toastyp
    @Alcolawl


    Detailed changelog below.

    Enjoy!


    Changelog:

    Kernel Base
    - Merge all Google related changes from December Security Drop
    - Next-Gen CAF-Tag updated to LV.AU.0.1.0.r2-00200-qtiquingvm.0
    - revert some Google changes, which could lead to a non deep sleep behaviour and replace them with CAF-Upstream solutions
    - additionally merge upstream solution for PM/Wakeup driver, which reduces unnecessary logspam and also improves sleeping behaviour
    - update Google and CAF drivers to make use of the upstream PM/Wakeup solution
    - linux-stable upstream to latest 4.14.158
    - update AK3 zip to latest state (thanks to @osm0sis )


    Features:
    - Remove kernel enforced HBM (only disadvantages at the moment, use this instead: how to activate factory disabled HBM from Google
    - make WLAN driver more lightweight and user power efficient workingqueues
    - remove an unnecessary wakelock from the WLAN driver (the wlan has more than enough ways to acquire wakelocks)


    Further Kernel Changes:
    - look at github

    Other changes:
    - look at github :)

    Magisk Module:
    - update to v2
    - boost cpu-cores to max when opening the camera app 5 seconds instead of only 1 second to ensure smoother operation until all necessary firmware and drivers are loaded

    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=4349826312261667498

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



    How to flash the Kernel:

    1. Make sure you are rooted and either EXKM or FKM is installed. Download the kernel.zip to your device.
    1a. If you used the SQLITE3 Magisk Module and the GPay Fix Magisk Module in the past look at this post: click me

    2. Optionally: Flash the magisk module provided in the release post!

    3. Flash kernel zip in EXKM or FKM app. Root will be preserved!

    4. Reboot and profit! Before reporting any issues make sure to read the first three posts of this thread!
    Instructions can be found in the OP 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