• 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

Attinderkahlon

Senior Member
Dec 9, 2014
110
14
Can anyone help with mobile network standby? It's every day n night. Losing 1-2% every hour because of it.
 

Attachments

  • Screenshot_20211205-015755.png
    Screenshot_20211205-015755.png
    181 KB · Views: 155

S8rooted&tooted

Senior Member
Sep 18, 2017
375
186
Google Pixel 3 XL
Google Pixel 6 Pro
Here so you understand what I am saying, this is the past 24 hr. Notice wifi, mobile network stand by and many others listed with the time below. Doesn't matter if you turn off mobile data or not, it still should have a time it has been using that battery power. There is absolutely no time listed but it's using battery power. That is the goofy part. Only 2 in my system apps list that didn't have a time is android system and os which it shouldn't because that runs all the time no matter what, that is the system running.
 

Attachments

  • Screenshot_20211206-092942.png
    Screenshot_20211206-092942.png
    240.8 KB · Views: 66
  • Like
Reactions: Attinderkahlon

Nezorflame

Senior Member
nice catch. :)
yeah by default it should be off on the pixel 6 pro.
I´ll talk to @tbalden , maybe there should be a warning for p6pro.

glad you don´t need to wipe now. every prevented wipe is a good one.
First, thanks for your work! Using your kernel on my new and shiny Pixel 6, all works well!

Second, a note on 60Hz lock issue - faced it here as well and decided to dig a bit.

Just checked both CleanSlate Companion and Configuration apps.
Results while installing/uninstalling both:
  • both Companion and Configuration installed = 60Hz
  • only Companion installed = 60Hz
  • only Configuration installed = 90Hz
  • both uninstalled = 90Hz
So it seems that Companion app is the culprit here. Once you install it and launch - it immediately sets the screen to 60Hz and it doesn't change.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,271
17,046
First, thanks for your work! Using your kernel on my new and shiny Pixel 6, all works well!

Second, a note on 60Hz lock issue - faced it here as well and decided to dig a bit.

Just checked both CleanSlate Companion and Configuration apps.
Results while installing/uninstalling both:
  • both Companion and Configuration installed = 60Hz
  • only Companion installed = 60Hz
  • only Configuration installed = 90Hz
  • both uninstalled = 90Hz
So it seems that Companion app is the culprit here. Once you install it and launch - it immediately sets the screen to 60Hz and it doesn't change.
did you switch off the "enable proximity sensor on screen on" option in the companion app?
 
  • Like
Reactions: roirraW "edor" ehT

arvylas

Senior Member
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
That's probably not a kernel's fault. I used to have around 0.4%/hr while idling and suddenly this has risen to 1.5% for the last 5 days or so. I suspect it's the carrier services but even after installing a newer version and clearing data for both carrier services and play services didn't get better.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,271
17,046

tbalden

Recognized Developer
Nope, I didn't have to - USNF alone works fine for GPay.
Will try with the version from the thread.
Good find, thank you for the report! It's related to a bug in the pixel6 detection in the app I didn't notice yet... rolling out an update to the play store with a fix. As soon as google approves it, should be available.
 

roirraW "edor" ehT

Recognized Contributor
If I reset my phone, can I just Magisk the kernel boot.img for root or do I need to flash everything again to have the kernel installed?
If you're talking about a full factory reset, you can't do so without restoring your phone to 100% stock first (flashing the 100% stock official firmware zip). Never perform an official factory reset on a phone running modified software. Always return to 100% stock first. You don't have to re-lock the bootloader, everything just has to be 100% stock.

If you're talking about some other method to just reset the data partition (similar to a custom recovery / TWRP's "factory reset" which is just a wipe of the data partition), then that doesn't restore the stock (unrooted) kernel. Nothing will restore the stock kernel besides flashing the full factory image.
 
Try enabling Force Peak Refresh rate. But sounds like a bug you should report to Google if occurs on stock.

Factory reset is always an option too. You'll be able to do it while running the kernel and you'll keep root. The magisk app will be gone and replaced by a stub that offers to download magisk app and then says you need to reboot for magisk to be fully installed. I've already done this when fingerprint scanner broke and was rooted with this kernel (not saying kernel caused it).
See
 

KedarWolf

Senior Member
Apr 27, 2012
295
157
If you're talking about a full factory reset, you can't do so without restoring your phone to 100% stock first (flashing the 100% stock official firmware zip). Never perform an official factory reset on a phone running modified software. Always return to 100% stock first. You don't have to re-lock the bootloader, everything just has to be 100% stock.

If you're talking about some other method to just reset the data partition (similar to a custom recovery / TWRP's "factory reset" which is just a wipe of the data partition), then that doesn't restore the stock (unrooted) kernel. Nothing will restore the stock kernel besides flashing the full factory image.

I never read this first, but reset my phone within Settings, and everything seems to be fine.
 

roirraW "edor" ehT

Recognized Contributor
I never read this first, but reset my phone within Settings, and everything seems to be fine.
Some phones and in certain situations factory reset with a modified OS caused problems. Not problems you couldn't usually resolve, but still a headache. You found out it's not a problem on this situation and phone. I wouldn't ever risk it on any phone.
 

Top Liked Posts

  • 4
    It must be something else. The kernel and the apps have nothing to do with that, as @tbalden also confirmed to me just now.

    I called myself a few times and I get a missed call notification each time.
    Yeah, the Android framework doesn't give that kind of liberty for an app like the companion. Not sure why that happens tho. Any changes on your phone for notifications for the phone app/dnd mode filters recently?
    3
    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.
    3
    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.
    You're too kind! Happy to help.

    Is there any difference between the kernels available for Pixel 6 Pro as far as USB OTG file format support? Just tried my USB flash drive that I've used on my other phones no problem and of course the Pixel wants to format it. I'm guessing it's because it's exFAT? Any way to add support? Thanks
    While it would be great if support for ExFAT could be added, I finally bought exFAT/NTFS for USB by Paragon Software, which successfully makes it so I can use my ExFAT formatted MicroSD card through a USB-C adapter, using my file manager of choice, X-plore File Manager.

    Okay thanks, maybe I'll try this app :)

    Something I noticed while using the flashlight call notification:

    I'll don't get a missed call notification. So if I don't answer the call, I can't see that someone has called me until I open the google dialer app.

    Edit: I don't even get missed call notification after reloading defaults and uninstalling cleanslate apps
    I use the flashlight call notification and I still got the missed call notification. As @Nimueh said, maybe this other dialer app below will be the answer for you until the Google Phone app starts working for you completely.

    I just installed that true dialer and it works with that, so for now I'll keep that installed ... at least until Google fixes their new issue.
    But I know we should continue the conversation about this, if needed, in your original question thread.
    2
    So, today I flashed my first kernel on raven 😊
    It's running great so far.

    Any chance that we could get display calibration control?

    And do the cleanslate apps interfere with other config apps like FKM?

    View attachment 5509975
    Regarding the first question check:

    And also this post:


    Regarding the second question:
    No, Cleanslate apps won't conflict with anything. :)
    2
    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.
  • 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.
    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 :)
    7
    Thanks dude! Oddly, everything is the same (except 128gb vs 256gb). Does booting to the opposite partition work for you?

    > fastboot getvar all
    Code:
    (bootloader) battery-soc-ok:yes
    (bootloader) battery-voltage:4052 mV
    (bootloader) current-slot:b
    (bootloader) ddr-manu:Micron
    (bootloader) ddr-size:12GB
    (bootloader) ddr-type:LPDDR5
    (bootloader) enter-reason:reboot bootloader
    (bootloader) erase-block-size:0x1000
    (bootloader) has-slot:persist:no
    (bootloader) has-slot:klog:no
    (bootloader) has-slot:misc:no
    (bootloader) has-slot:frp:no
    (bootloader) has-slot:efs:no
    (bootloader) has-slot:efs_backup:no
    (bootloader) has-slot:modem_userdata:no
    (bootloader) has-slot:metadata:no
    (bootloader) has-slot:fips:no
    (bootloader) has-slot:dtbo:yes
    (bootloader) has-slot:vendor_boot:yes
    (bootloader) has-slot:modem:yes
    (bootloader) has-slot:boot:yes
    (bootloader) has-slot:vbmeta:yes
    (bootloader) has-slot:vbmeta_system:yes
    (bootloader) has-slot:vbmeta_vendor:yes
    (bootloader) has-slot:pvmfw:yes
    (bootloader) has-slot:super:no
    (bootloader) has-slot:userdata:no
    (bootloader) has-slot:bl1:yes
    (bootloader) has-slot:pbl:yes
    (bootloader) has-slot:bl2:yes
    (bootloader) has-slot:dram_train:yes
    (bootloader) has-slot:abl:yes
    (bootloader) has-slot:bl31:yes
    (bootloader) has-slot:tzsw:yes
    (bootloader) has-slot:gsa:yes
    (bootloader) has-slot:ldfw:yes
    (bootloader) has-slot:dpm:yes
    (bootloader) has-slot:devinfo:no
    (bootloader) has-slot:mfg_data:no
    (bootloader) has-slot:system:yes
    (bootloader) has-slot:system_ext:yes
    (bootloader) has-slot:product:yes
    (bootloader) has-slot:vendor:yes
    (bootloader) has-slot:vendor_dlkm:yes
    (bootloader) has-slot:radio:yes
    (bootloader) has-slot:bootloader:yes
    (bootloader) hw-revision:MP1.0
    (bootloader) is-logical:persist:no
    (bootloader) is-logical:klog:no
    (bootloader) is-logical:misc:no
    (bootloader) is-logical:frp:no
    (bootloader) is-logical:efs:no
    (bootloader) is-logical:efs_backup:no
    (bootloader) is-logical:modem_userdata:no
    (bootloader) is-logical:metadata:no
    (bootloader) is-logical:fips:no
    (bootloader) is-logical:dtbo_a:no
    (bootloader) is-logical:vendor_boot_a:no
    (bootloader) is-logical:modem_a:no
    (bootloader) is-logical:boot_a:no
    (bootloader) is-logical:vbmeta_a:no
    (bootloader) is-logical:vbmeta_system_a:no
    (bootloader) is-logical:vbmeta_vendor_a:no
    (bootloader) is-logical:pvmfw_a:no
    (bootloader) is-logical:dtbo_b:no
    (bootloader) is-logical:vendor_boot_b:no
    (bootloader) is-logical:modem_b:no
    (bootloader) is-logical:boot_b:no
    (bootloader) is-logical:vbmeta_b:no
    (bootloader) is-logical:vbmeta_system_b:no
    (bootloader) is-logical:vbmeta_vendor_b:no
    (bootloader) is-logical:pvmfw_b:no
    (bootloader) is-logical:super:no
    (bootloader) is-logical:userdata:no
    (bootloader) is-logical:bl1_a:no
    (bootloader) is-logical:pbl_a:no
    (bootloader) is-logical:bl2_a:no
    (bootloader) is-logical:dram_train_a:no
    (bootloader) is-logical:abl_a:no
    (bootloader) is-logical:bl31_a:no
    (bootloader) is-logical:tzsw_a:no
    (bootloader) is-logical:gsa_a:no
    (bootloader) is-logical:ldfw_a:no
    (bootloader) is-logical:dpm_a:no
    (bootloader) is-logical:bl1_b:no
    (bootloader) is-logical:pbl_b:no
    (bootloader) is-logical:bl2_b:no
    (bootloader) is-logical:dram_train_b:no
    (bootloader) is-logical:abl_b:no
    (bootloader) is-logical:bl31_b:no
    (bootloader) is-logical:tzsw_b:no
    (bootloader) is-logical:gsa_b:no
    (bootloader) is-logical:ldfw_b:no
    (bootloader) is-logical:dpm_b:no
    (bootloader) is-logical:devinfo:no
    (bootloader) is-logical:mfg_data:no
    (bootloader) is-logical:system_a:yes
    (bootloader) is-logical:system_b:yes
    (bootloader) is-logical:system_ext_a:yes
    (bootloader) is-logical:system_ext_b:yes
    (bootloader) is-logical:product_a:yes
    (bootloader) is-logical:product_b:yes
    (bootloader) is-logical:vendor_a:yes
    (bootloader) is-logical:vendor_b:yes
    (bootloader) is-logical:vendor_dlkm_a:yes
    (bootloader) is-logical:vendor_dlkm_b:yes
    (bootloader) is-ramdump-mode:no
    (bootloader) is-userspace:no
    (bootloader) logical-block-size:0x1000
    (bootloader) max-download-size:0xf900000
    (bootloader) nos-production:yes
    (bootloader) off-mode-charge:1
    (bootloader) partition-size:persist:0x4000000
    (bootloader) partition-size:klog:0x1000000
    (bootloader) partition-size:misc:0x100000
    (bootloader) partition-size:frp:0x80000
    (bootloader) partition-size:efs:0xa00000
    (bootloader) partition-size:efs_backup:0x500000
    (bootloader) partition-size:modem_userdata:0x500000
    (bootloader) partition-size:metadata:0x1000000
    (bootloader) partition-size:fips:0x200000
    (bootloader) partition-size:dtbo_a:0x1000000
    (bootloader) partition-size:vendor_boot_a:0x4000000
    (bootloader) partition-size:modem_a:0xc800000
    (bootloader) partition-size:boot_a:0x4000000
    (bootloader) partition-size:vbmeta_a:0x10000
    (bootloader) partition-size:vbmeta_system_a:0x10000
    (bootloader) partition-size:vbmeta_vendor_a:0x10000
    (bootloader) partition-size:pvmfw_a:0x100000
    (bootloader) partition-size:dtbo_b:0x1000000
    (bootloader) partition-size:vendor_boot_b:0x4000000
    (bootloader) partition-size:modem_b:0xc800000
    (bootloader) partition-size:boot_b:0x4000000
    (bootloader) partition-size:vbmeta_b:0x10000
    (bootloader) partition-size:vbmeta_system_b:0x10000
    (bootloader) partition-size:vbmeta_vendor_b:0x10000
    (bootloader) partition-size:pvmfw_b:0x100000
    (bootloader) partition-size:super:0x1fc800000
    (bootloader) partition-size:userdata:0x1b91215000
    (bootloader) partition-size:bl1_a:0x3000
    (bootloader) partition-size:pbl_a:0x14000
    (bootloader) partition-size:bl2_a:0x87000
    (bootloader) partition-size:dram_train_a:0x19000
    (bootloader) partition-size:abl_a:0x200000
    (bootloader) partition-size:bl31_a:0x40000
    (bootloader) partition-size:tzsw_a:0x1400000
    (bootloader) partition-size:gsa_a:0x80000
    (bootloader) partition-size:ldfw_a:0x400000
    (bootloader) partition-size:dpm_a:0x9000
    (bootloader) partition-size:bl1_b:0x3000
    (bootloader) partition-size:pbl_b:0x14000
    (bootloader) partition-size:bl2_b:0x87000
    (bootloader) partition-size:dram_train_b:0x19000
    (bootloader) partition-size:abl_b:0x200000
    (bootloader) partition-size:bl31_b:0x40000
    (bootloader) partition-size:tzsw_b:0x1400000
    (bootloader) partition-size:gsa_b:0x80000
    (bootloader) partition-size:ldfw_b:0x400000
    (bootloader) partition-size:dpm_b:0x9000
    (bootloader) partition-size:devinfo:0x2000
    (bootloader) partition-size:mfg_data:0x334000
    (bootloader) partition-size:system_a:0x16e4000
    (bootloader) partition-size:system_b:0x3549f000
    (bootloader) partition-size:system_ext_a:0x0
    (bootloader) partition-size:system_ext_b:0xf0fe000
    (bootloader) partition-size:product_a:0x0
    (bootloader) partition-size:product_b:0xa6c3e000
    (bootloader) partition-size:vendor_a:0x0
    (bootloader) partition-size:vendor_b:0x1cf4c000
    (bootloader) partition-size:vendor_dlkm_a:0x0
    (bootloader) partition-size:vendor_dlkm_b:0x3555000
    (bootloader) partition-type:persist:ext4
    (bootloader) partition-type:klog:raw
    (bootloader) partition-type:misc:raw
    (bootloader) partition-type:frp:raw
    (bootloader) partition-type:efs:ext4
    (bootloader) partition-type:efs_backup:raw
    (bootloader) partition-type:modem_userdata:raw
    (bootloader) partition-type:metadata:raw
    (bootloader) partition-type:fips:raw
    (bootloader) partition-type:dtbo_a:raw
    (bootloader) partition-type:vendor_boot_a:raw
    (bootloader) partition-type:modem_a:raw
    (bootloader) partition-type:boot_a:raw
    (bootloader) partition-type:vbmeta_a:raw
    (bootloader) partition-type:vbmeta_system_a:raw
    (bootloader) partition-type:vbmeta_vendor_a:raw
    (bootloader) partition-type:pvmfw_a:raw
    (bootloader) partition-type:dtbo_b:raw
    (bootloader) partition-type:vendor_boot_b:raw
    (bootloader) partition-type:modem_b:raw
    (bootloader) partition-type:boot_b:raw
    (bootloader) partition-type:vbmeta_b:raw
    (bootloader) partition-type:vbmeta_system_b:raw
    (bootloader) partition-type:vbmeta_vendor_b:raw
    (bootloader) partition-type:pvmfw_b:raw
    (bootloader) partition-type:super:raw
    (bootloader) partition-type:userdata:raw
    (bootloader) partition-type:bl1_a:raw
    (bootloader) partition-type:pbl_a:raw
    (bootloader) partition-type:bl2_a:raw
    (bootloader) partition-type:dram_train_a:raw
    (bootloader) partition-type:abl_a:raw
    (bootloader) partition-type:bl31_a:raw
    (bootloader) partition-type:tzsw_a:raw
    (bootloader) partition-type:gsa_a:raw
    (bootloader) partition-type:ldfw_a:raw
    (bootloader) partition-type:dpm_a:raw
    (bootloader) partition-type:bl1_b:raw
    (bootloader) partition-type:pbl_b:raw
    (bootloader) partition-type:bl2_b:raw
    (bootloader) partition-type:dram_train_b:raw
    (bootloader) partition-type:abl_b:raw
    (bootloader) partition-type:bl31_b:raw
    (bootloader) partition-type:tzsw_b:raw
    (bootloader) partition-type:gsa_b:raw
    (bootloader) partition-type:ldfw_b:raw
    (bootloader) partition-type:dpm_b:raw
    (bootloader) partition-type:devinfo:raw
    (bootloader) partition-type:mfg_data:raw
    (bootloader) partition-type:system_a:raw
    (bootloader) partition-type:system_b:raw
    (bootloader) partition-type:system_ext_a:raw
    (bootloader) partition-type:system_ext_b:raw
    (bootloader) partition-type:product_a:raw
    (bootloader) partition-type:product_b:raw
    (bootloader) partition-type:vendor_a:raw
    (bootloader) partition-type:vendor_b:raw
    (bootloader) partition-type:vendor_dlkm_a:raw
    (bootloader) partition-type:vendor_dlkm_b:raw
    (bootloader) product:raven
    (bootloader) secure:yes
    (bootloader) secure-boot:PRODUCTION
    (bootloader) slot-count:2
    (bootloader) slot-fastboot-ok:a:yes
    (bootloader) slot-fastboot-ok:b:yes
    (bootloader) slot-retry-count:a:3
    (bootloader) slot-retry-count:b:2
    (bootloader) slot-successful:a:yes
    (bootloader) slot-successful:b:yes
    (bootloader) slot-suffixes:_a,_b
    (bootloader) slot-unbootable:a:no
    (bootloader) slot-unbootable:b:no
    (bootloader) snapshot-update-status:none
    (bootloader) unlocked:yes
    (bootloader) variant:N/A
    (bootloader) version:Little-Kernel-2.0-g214fb3d2
    (bootloader) version-baseband:g5123b-93368-211124-B-7943060
    (bootloader) version-bootloader:slider-1.0-7892371

    Last advice I'm giving here. Don't switch slots manually. You're not really supposed to do that. It can cause all sorts of random issues. Especially if you don't know exactly what or why you're doing that.

    The devices switch slots automatically on OTA. If you're flashing a factory image it won't switch slots as far as I'm aware. If you never did an OTA your original slot might not contain a firmware.
    If you switch into a slot that has vbmeta enabled you're phone will stop booting. Lots of scenarios with no relation to the kernel.

    Please move this discussiom out of this thread as it's going completely off topic, with no relation to the kernel and is derailing the topic confusing others.
  • 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.
    18
    F.A.Q:

    Question:
    How do I return back to stock or another kernel.
    Answer: Extract boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img from the matching factory image provided on googles download page.
    If you want to stay rooted make sure to flash a boot.img that has been patched with magisk.
    Flash those images via fastboot and you will be back on stock kernel. Follow the instructions how to flash those images in post #4.

    Question: How to report bugs properly?
    Answer: Have a look at post #3 in the linked thread. The linked guide is a pretty good starting point.
    Before reporting any bug make sure you´re running on a stock configuration. That´s means you´re not using any mods, tweaks in kernel managers or other root tweaks , magisk modules, scripts or other modifications that alter various functions like sound mods, data traffic, sleeping behaviour, scheduler, magical battery tweaks etc.
    Try to describe the issue as detailed as possible! Give your exact setup, like rom, magisk version, kernel version.
    Is the issue reproducible? Does it happen frequently?
    Provide logs, otherwise debugging is a lot harder. If you can already reproduce the issue and provide logs it greatly limits the amount of time I have to spent until I figure out how to reproduce it.


    Question: What about unlocking, rooting, passing safetynet and other topics that are vaguely related, but not really subject of this thread?
    Answer: I recommend taking a look at this excellent collection of helpful threads from @roirraW "edor" ehT!
    It can be found following this link!