Development [Kernel][21.03.2023][Android 13.0.0]Kirisakura 1.0.0_Raviantah for Pixel 6/Pro aka "RAVIOLE"

Search This thread

amritpal2489

Senior Member
Oct 3, 2010
353
63
There are sources for QPR Beta available, that´s not the problem.

Copy paste from another post in this thread where I already answered the question, why I don´t support dev-previews/betas:

No, I have no plans to support A13 beta or any dev-preview or beta firmware. It will be supported once it´s stable. I don´t have the time, desire and motivation to support it.
It all boils down to the fact that I enjoy doing what I´m doing here, I do it in my free time and share what I´m using myself with others so they can enjoy it with me and I want to release something that´s polished, extensively tested and stable.

Since that questions comes up from time to time:

I´m not comfortable releasing something I´m not running/testing extensively myself with loads of changes compared to the stock base.
I never felt the urge to do beta testing for companies just to run more recent software too.

I don´t have time to test, maintain and build that many compilations, let alone switching between Beta Firmware and Stable firmware on my phone for testing. It´s simply not possible, and I don´t want to release something that´s not extensively tested.
I think sometimes people don´t realize how much time goes into this aspect of my kernels projects alone.

Also try to see it that way:
Merging code updates takes time. Be it linux-stable, f2fs-stable, kernel/common, lrng updates, updates directly from Google or a lot of the features that are descrbied in the OP. Sometimes longer, sometimes shorter.
This kernel is now very very far from the stock base (compared to the other kernels available) as is also reflected in the OP. So while merging code updates will take time as there are many conflicts that need to be solved on my kernel. Even if the branches are somewhat similar I still need a lot of additional time to manage this aspect alone, not to speak of testing on my device to make sure nothing is broken.

There´s no longer just the kernel repo itself to manage. With the introduction of GKI, the kernel is split in several sub repos for different device specific drivers, touchscreen, wifi, uwb, nfc, bt, etc etc. Those needs to be managed too, as well as other repos from the build environment as they´re different between stable and beta.
Powerhal changes need to be monitored and adjusted each month too, as there might be differences between stable and beta as well.

Building takes time. Every compilation, for testing or release purposes takes about 15 minutes. Only building, not adjusting the code. Every release here needs 2 different builds for oriole/raven. Yes I can do something else during the compilation, but it´s still time I need to spend.



No there´s no telegram group. Everything you need is here on XDA. All information is in the first few posts. If you use the search function you´ll find even more I guess.
Your work is really appreciated.. Thanks for the clarification..
 

chewy74

Senior Member
Jul 4, 2010
522
354
Google Pixel 6 Pro
No you're not missing anything. That just happens on most custom roms unfortunately.

You can ask the maintainer of the ROM to look into the issue, but sometimes they don't want to support mods/kernels.
I can't look into it more than I already did, as I don't have the time to wipe for cross flashing between custom ROM/stock firmware. The logs I received from users didn't show anything that would tell me the issue.
It's most likely that custom roms treat ramdisk/boot differently to the stock firmware.
Question, after rebooting and losing root.. Can I manually extract the boot.img and patching it through magisk and flashing in fastboot? Will that give me root on this this kernel?
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,125
21,244
Question, after rebooting and losing root.. Can I manually extract the boot.img and patching it through magisk and flashing in fastboot? Will that give me root on this this kernel?
manually extract boot.img from your rom.zip.
unpack extracted boot.img via magiskboot, replace zImage with the one from my kernel.zip (Image.lz4), repack back to the now modified_boot.img, patch the repacked modified_boot.img via magisk app, flash patched modified_boot.img via fastboot and check for root.
 

ada12

Senior Member
Jul 2, 2017
332
245
Redmi Note 9 Pro
manually extract boot.img from your rom.zip.
unpack extracted boot.img via magiskboot, replace zImage with the one from my kernel.zip (Image.lz4), repack back to the now modified_boot.img, patch the repacked modified_boot.img via magisk app, flash patched modified_boot.img via fastboot and check for root.
I have did your tutorial seriously :

- I take boot.img of ROM
-I unpack using Android boot image editor ( cfig github ).
-I replace zimage from kirisakura zip
-I repack to boot.img.signed
-in fastboot I flash all img from kernel kirisakura + boot.img.signed

Reboot , its boot normally in kirisakura kernel without root

In magisk v25.2 I patch boot.img.signed

Fastboot

I flash magisk img generated

Reboot

Its boot but magisk still no working

For me now :

I prefer use kirisakura kernel without root as its work great to stock a13 kernel used in lineage actually. ( since I no use app root despite no module kirisakura then ).
 
Last edited:

Rachid.Ala

Senior Member
Aug 28, 2012
469
493
Rabat
I have did your tutorial seriously :

- I take boot.img of ROM
-I unpack using Android boot image editor ( cfig github ).
-I replace zimage from kirisakura zip
-I repack to boot.img.signed
-in fastboot I flash all img from kernel kirisakura + boot.img.signed

Reboot , its boot normally in kirisakura kernel without root

In magisk v25.2 I patch boot.img.signed

Fastboot

I flash magisk img generated

Reboot

Its boot but magisk still no working

For me now :

I prefer use kirisakura kernel without root as its work great to stock a13 kernel used in lineage actually. ( since I no use app root despite no module kirisakura then ).
If you have Kirisakura installed but you don't have root try this :

1- Take boot.img of ROM and patch it with magisk app.
2- fastboot boot patched-boot.img
3- Direct install root from magisk App
4- Reboot
 

ada12

Senior Member
Jul 2, 2017
332
245
Redmi Note 9 Pro
manually extract boot.img from your rom.zip.
unpack extracted boot.img via magiskboot, replace zImage with the one from my kernel.zip (Image.lz4), repack back to the now modified_boot.img, patch the repacked modified_boot.img via magisk app, flash patched modified_boot.img via fastboot and check for root.
So Everyones I have find solution for have magisk in custom rom witch kirisakura kernel ( Also you keep your custom recovery in rom )

Tools used for unpack / repack :


Edit vendor_boot.img =

Unpack vendor_boot.img of kirisakura

Copy all module of root.2/lib/modules

Unpack vendor_boot.img of custom rom

Replace from kirisakura all modules here root.2/lib/modules

Repack it & rename vendor_boot.img.signed to vendor_boot.img

Replace img vendor_boot inside zip kirisakura kernel

Flash , done & enjoy you have your recovery no replaced & Root magisk is Still working 😎

Edit : its only vendor_boot.img for the issue recovery & Root magisk no working !
 

Attachments

  • Screenshot_20221121-134512_Paramètres.png
    Screenshot_20221121-134512_Paramètres.png
    130.9 KB · Views: 97
  • Screenshot_20221121-134518_Magisk.png
    Screenshot_20221121-134518_Magisk.png
    189.9 KB · Views: 100
Last edited:

w_tapper

Senior Member
So Everyones I have find solution for have magisk in custom rom witch kirisakura kernel ( Also you keep your custom recovery in rom )

Tools used for unpack / repack :


Edit vendor_boot.img =

Unpack vendor_boot.img of kirisakura

Copy all module of root.2/lib/modules

Unpack vendor_boot.img of custom rom

Replace from kirisakura all modules here root.2/lib/modules

Repack it & rename vendor_boot.img.signed to vendor_boot.img

Replace img vendor_boot inside zip kirisakura kernel

Flash , done & enjoy you have your recovery no replaced & Root magisk is Still working 😎

Edit : its only vendor_boot.img for the issue recovery & Root magisk no working !
i think it works. thank you!

edit: ITS BOOTLOOPING HELP
 

boxemall

Member
Feb 2, 2012
45
15
I hope this isn't too off-topic, so I'll ask it real quick:

I decided to go back to stock (OFW) but dunno how to do it without losing all my data. Can anyone point me to a guide how to make a proper app/data backup so that I don't have to reinstall all apps and stuff after going back to stock? it's a giant pita having to install everything by hand. I know you can't backup and reinstall google account data, but that's okay as long as it's not every darn app I had installed. Been a while since I've done that, so I wonder what's the best way to do it nowadays.

Sorry again if it's the wrong place to ask, but it's all "kiri" related (for me anyway) :)

regards
 
I hope this isn't too off-topic, so I'll ask it real quick:

I decided to go back to stock (OFW) but dunno how to do it without losing all my data. Can anyone point me to a guide how to make a proper app/data backup so that I don't have to reinstall all apps and stuff after going back to stock? it's a giant pita having to install everything by hand. I know you can't backup and reinstall google account data, but that's okay as long as it's not every darn app I had installed. Been a while since I've done that, so I wonder what's the best way to do it nowadays.

Sorry again if it's the wrong place to ask, but it's all "kiri" related (for me anyway) :)

regards
Flash the appropriate factory image without wiping data (remove -w from flash all file).
 

Top Liked Posts

  • 2
    Is anyone noticing more battery drain since last update?
    Negative, but I'm 99% on wifi. That 5G eats major battery life for me.
  • 34
    Update to Raviantha 1.0.0

    Hey guys and girls,

    So here´s the next release for stable March firmware, which is now QPR2 based. This results in quite a lot of changes and improvements in the vendor specific drivers!
    Aside from that as already hinted at in the Pixel 7/Pro release for March google kind of unified the main kernel tree for the Pixel 6 and Pixel 7 series. That means I´m now able to compile the release for Pixel 6 and Pixel 7 from the same main kernel tree after some modifications to my own changes! This saves me a bit of time and means all not vendor/firmware/hardware specific improvements added to the kernel are now shared automatically, without me constantly merging them back and forth.
    Hence the name change and starting from 1.0.0 again. Pixel 6 Oriole/Pixel 6 Pro Raven combined are Raviole, Pixel 7 Panther/Pixel 7 Pro Cheetah combined are Pantah, so Raviantha is the combination of both Raviole and Pantah. :)
    Please note there are still separate zips due to the powerhal being different and the ramdisk in vendor_boot not being exactly identical.
    As part of this development all improvements from the linked pixel 7 release found its way into this release plus a few more. ;) So this time you guys are the first.
    Short explanation follows below.

    Please note that this release is not for the QPR Beta firmware, but the stable android 13 march firmware!
    Please make sure to not use magisk canary 25210. It breaks module loading and causes a lot of issues! Please use either stable canary or canary 25206.
    Latest platform tools have issues flashing super.img, please use platform tools 33.0.3!



    Maple Tree / Per VMA-locks via Maple Tree in RCU-Mode
    Updated this patchset to a new refined version that´s currently been tested.
    Bit of a graph that shows app launch times with and without this patchset:
    Link to the graph can be found here.

    Explanation of the patchset in hide tags below!
    Linux 6.1 finally merged the Maple Tree patchset. I had my eyes on that patchset for quite a while now. I backported it a few months ago (back in november iirc) but at that time I still ran into a few problems with it so it never made it into a release on XDA.
    However after discovering work done on per vma-locks, which builds directly on the benefits that maple-tree provides interest was sparked again. Decided to pull it in again and fix the remaining issues.
    If you´re interested in details read the linked topics.
    Basically those patches reduce app launch time as well as lock contention. Additionally per vma-locks directly utilizes lazy-rcu, which was backported in 1.1.0. Usually I´m very hesitant when it comes to kernel changes actually translating to real world power consumption improvements, but lazy-rcu is one of the few patchsets that translate to a small improvement for everyone regardless of the usage.
    So the new per VMA-lock patchset directly benefits from the previous backport of lazy-rcu.

    Improve Uclamp
    Improve uclamp patchset and detect capacity inversion. This greatly reduces the few missed frames we had.


    Camera Launch Speed
    Speed Up Camera launch by quite a bit. Also improve animations around camera compared to stock kernel.


    There are other small improvements as well. Please check my github for those.

    The kernel is made for stable A13 firmware, not beta.

    I wish everyone a nice day.


    Changelog:

    - Linux-Stable bumped to 5.10.175 containing tons of stability and security fixes
    - kernel is now built with latest clang 17.0.0 prebuilt from google
    - Update Per VMA-locks patchset from previous release (this benefits greatly from lazy rcu!)
    - improvements to MGLRU
    - bump f2fs to latest f2f2 stable state
    - improvements to the scheduler
    - improvements to uclamp, prevent capacity inversion (reduce missed frames)
    - greatly speed up camera launch time!
    - ported improvements from QPR3 beta
    - fixes/improvements to to memory management
    - security fixes/ improvements from kernel/common
    - optimize code around nr_cpus from latest linux
    - other fixes please check github
    - fixes/improvements to to memory management
    - security fixes/ improvements from kernel/common
    - other fixes please check github



    Download:
    Attached to release post as AFH is currently down.

    Make sure to not delete and keep the powerhint ak3 module installed via Magisk Manager after flashing!



    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img before flashing or simply dirty flash. Thank you.

    Make sure to meet the requirements and read the OP as well as the FAQ before flashing.

    I wish everybody a great day/evening!
    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
    14
    I’m planning to release the next update later today.

    I’ll drop this little screenshot as a hint. Maybe someone can make a guess based on the screenshot regarding one of the bigger changes.

    Stay tuned, this will be a very very nice update :)

    Screenshot_20230321-113008.png
    4
    Yes, I understand. I have been using the CleanSlate battery saver to keep temps down myself. I was just curious where all the logic is for the thermal throttling that is based on the various sensors. I'd love to take a look at it myself. I'm not necessarily looking to just increase the limits. I want to understand it more.

    As a side note, I find that a lot of heat is actually produced from the modem (even on LTE) as I'm often on the road and don't have WiFi. If you start transferring large files the phone quickly heats up.
    Yes, cpu is only one source of heat.
    As you already pointed out modem is another one, just like the camera array itself will produce heat while using it (especially noticeable while taking videos, which presents two issues, if cpu is throttled to much hi-res video might produce stutter, if heat is not kept in check camera sensors might get damaged).

    If you want to take a look at the thermal throttling you can find this on the device tree. This one is for p6 pro (raven).
    Which file do I download? The multi_touch one or the magisk.zip? (Have Magisk and FKM)
    13 (TQ1A.230105.002) (I'm sorry if I sound stupid)
    Release for January firmware is attached to the release post for january, you can find those in the OP.

    Can someone take a look at the attached logs and see why my phone's been shutting off randomly? It started after installing the Feb update and 4.4.2. I don't necessarily think it's the kernel, but want to rule it out. Thanks!
    Thanks a lot for taking the time and actually posting logs!
    That issue is the same I replied to in this post and will be fixed on the next release.
    4
    do you have any idea as to why my YouTube app may have also been deleted?
    not really :)
    Were you using Youtube vanced and a corresponding magisk module? I suppose the hot reboot might kill the overlay somehow.
    Maybe a logcat would help but it would be a huge off-topic. The most appropriate place for this would be the revanced thread.
    But as stated here, it’s not really kernel related so I guess we won’t be able to fix it anyway if its some firmware/framework related issue. :)
    For losing the app, if it’s indeed vanced you’re using a logcat in that thread or on github might be the best way. :)
    4
    I miss flashing a new version of Kirisakura more than the March google update 😂
  • 120
    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 A13 kernel sources from Google, Kernel is made for Android 13
    - Linux-Stable-Upstream included to 5.10.170
    - Compiled with prebuilt Google clang 17.0.0
    - Backport entire RCU subsystem to Linux 6.0
    - Lazy RCU which should result in power-savings while the device is lightly-loaded or idling, more information here
    - Backport Maple tree from Linux 6.1
    - Per VMA-locks in conjunction with Maple Tree RCU-Mode (improve app launch time, this feature in general benefits greatly from lazy rcu!)
    - FHD Support for Pixel 6 Pro (display is able to run at 1080p), more info here and here
    - merged kernel/common (improvements to android-common-kernel straight from google)
    - MM subsystem reworked (more info and some patchsets linked in this post)
    - Multi-gen LRU backported/reworked and enabled (more info here, here as well and here) to improve mm and reduce cpu cycles, latest V15 state
    - improvements to uclamp, prevent capacity inversion (reduce missed frames)
    - greatly speed up camera launch time!
    - Utilize an additional kswapd thread to increase throughput for memory reclaim
    - pelt multiplier tied into powerhal to speed up scheduler during interaction (more info here)
    - prevent frequency spikes caused by small transient tasks when the device is idle(more info here)
    - tie mechanism to prevent frequency spikes caused by small tasks also into powerhal
    - scheduler improvements for RT (realtime) tasks
    - introduce and setup PMU limiter (prevents CPU from spiking to max when it isn´t needed, based on PMU reads, more information here)
    - improve camera performance by tuning the powerhal during recording
    - bias tasks of rt, sf and ta groups to prefer high capacity cpus during app launches, interactions
    - improve app launches via powerhal
    - improve trusty driver performance which connects to fingerprintscanner-hal by using high perf wq during fp unlock
    - restrict maximum CPU-Freqs during screen off/ idle to 1.1GHZ for all clusters to save power
    - introduce unfair f2fs rwsems to prevent writer starvation and improve IO perf under heavy load
    - fuse: give wakeup hints to scheduler to speed up compress/decompress in internal storage (details)
    - enable RCU_BOOST (details here), also fix RCU_BOOST behaviour
    - F2FS-Stable updated
    - merge and enable f2fs block_age-based extent cache (improve the accuracy for data temperature classification, reduce the garbage collection overhead after long-term data updates)
    - TCP backports from mainline
    - SSG IO scheduler for reduced overhead and less CPU cycles (more lightweight and android optimized)
    - Scheduler updates from linux-main
    - use improved energy model for exynos cpu cooling/thermal control
    - allow GPU to scale down to 150mhz, but boost to higher value in case of interaction via powerhal
    - affine IRQS to CPU 7 during camera usage for improved performance as it tends to overload the little cores
    - use bbr as default TCP congestion algorithm (fasted algo according to this excellent research from @kdrag0n found here )
    - include bbrv2 from google, more info here
    - Enable support for TTL spoofing
    - Include LRNG, see here and here for more info, bump to v45 with 3.0.0
    - important patches from kernel/common for 5.10 (here are more details)
    - CleanSlate Features from @tbalden, big applause here! (s2s, notification booster, battery saver, flashlight notifications. Please note: cleanslate features that work otherwise with rooted devices like kadaway (adblocking) are not implemented on this kernel since I´m running rooted)
    - dirty pipe exploit fixed
    - supports direct usb access for hi-res playback over USB-C DACs
    - improve ZRAM usage
    - flashing the kernel will preserve root

    Various Optimizations:
    - update several drivers to use power efficient workingqueues (for example wlan driver)
    - kernfs: use buffer from the stack space
    - printk: use buffer from the stack space
    - kthread: use buffer from the stack space
    - bpf: avoid dynamic memory allocation for small value buffers
    - binder: Reserve caches for small, high-frequency memory allocations
    - kernfs: use kmem_cache pool for struct kernfs_open_node/file
    - cgroup: use kmem_cache pool for struct cgrp_cset_link
    - f2fs: reduce timeout for uncongestion
    - f2fs: Demote GC thread to idle scheduler class
    - f2fs: set ioprio of GC kthread to idle
    - mm: vmstat: use power efficient workingqueues
    Wakelock Blocker:
    - advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
    - please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info

    AK3 Helper Module:
    - restrict little cluster to 1,19ghz mid cluster to 1,19ghz and big cluster to 1,1ghz during screen off, to reduce battery usage for example during music playback
    - only use little cores during screen off/device suspend
    - tie pelt multiplier into the powerhal (more info here)
    - prevent frequency spikes caused by small transient tasks during idle operation (more info here)
    - boost scheduler using the pelt multiplier during fingerprint unlock operation
    - setup and control PMU limiter via powerhal (more info here)
    - dynamically adjust target load for memory interface during interaction
    - boost memory interface controller during interaction (decreased missed frames, improved soc efficiency according to google docs)

    DOWNLOAD:
    Download is always located in this folder:
    4.2.0, 4.3.0, 4.4.0, 4.4.1, 4.4.2 are attached to the release posts linked below as AFH is wonky at the moment.


    Changelog:
    Android 12.0.0

    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
    1.7.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86390563
    1.8.4 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86541727

    Android 12.1.0 Stable (March feature drop and more recent)
    2.0.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86617873
    2.0.1 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86637233
    2.1.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86695911
    2.3.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86821331
    2.4.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86834981

    Android 12.1.0 Stable (June feature drop and more recent)
    3.0.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86992705
    3.0.1 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-86996237
    3.0.17 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-87127695

    Android 13.0.0 Stable (not QPR beta!)
    4.1.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-87290247
    4.1.6 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-87399635
    4.2.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-87524609
    4.3.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-87697425
    4.4.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-87823333
    4.4.1 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-87944879
    4.4.2 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-88118201
    Raviantha 1.0.0 https://forum.xda-developers.com/t/...pixel-6-pro-aka-raviole.4358435/post-88316223



    Android 12L QPR Beta - Deprecated

    Requirements

    - the kernel is made for the stock firmware provided by Google, pay attention to flash a kernel release matching the firmware (flashing on custom roms might work, but you may need workarounds!)
    - 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 latest magisk stable in case you want to be absolutely safe)
    - IMPORTANT: Unrelated to the kernel, but update both slots of your phone to A13! (take a look here)


    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)
    2. Flash the correct kernel.zip via EXKM, FKM or kernel flasher. Root will be preserved. The AK3 magisk helper module will be automatically installed during flashing the kernel.zip and be present on next reboot.
    Do not remove or disable the AK3 Magisk Helper Module otherwise the device will bootloop.
    3. Reboot and profit.


    Manual installation is no longer supported starting with release 3.0.0, as there´s a free open-source option to flash kernel.zips now.
    Instead use the free kernel flasher, which can be found here.

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



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

    Credits:
    @osm0sis for all his work on AK3.
    @tbalden for being the best HTC, Pixel, OnePlus and Asus wingman!
    @capntrips for all his work on the pixel 6!
    @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
    44
    Update to 4.1.0

    Hey guys and girls,

    I hope everyone started into a good week. Here´s the next release. It´s for stable Android 13.
    Thanks to Google releasing the kernel source for the previews and the betas I´m able to push this update out very quickly. As in the past, the code didn´t change between last beta and stable release.

    There are again a lot of changes in this release. I´ll try to keep the release post short as I don´t have that much time lately.


    FHD/1080P Support for Pixel 6 Pro

    The biggest change is FHD support for the Pixel 6 Pro. If you follow twitter you might have seen this tweet from @MishaalRahman.
    Instead of using the display driver that´s supposedly for the Pixel 7 Pro, FHD support was added to the Pixel 6 Pro display driver. There were a few obstacles to make it run properly on the Pixel 6 Pro, but I got it working nicely so far. If anyone has more experience than me regarding panel timings, display drivers etc, feel free to push any improvement as a pull request to my github or point me towards any improvement.

    As a result you can now select 1080p resolution from settings after flashing the kernel. Dynamic refresh rate works, brightness scaling works, no tints, colour shifts or contrast issues either. AOD has a 1080p Low-Power timing as well.

    You´ll find a few more infos with a short video on my tweet here:
    Screenshot_20220816-083147.png
    Screenshot_20220816-083204.png

    It´s perfectly usable on a daily basis so far. I ran it for a few days without issues on my end. While the advantage might be debatable (saving battery, less load on GPU, still needing to drive the same amount of pixels in the end even on lower resolution, etc etc) having options is nice and this is why I decided to ship it.

    Apps need to redraw after switching resolution, sometimes 1080p on big display size selected in settings the UI looks a bit sketchy. So I think Google is still working on that.

    There´s however one bug I found so far that makes me believe this is still very much a WIP from google. If having the "show current refresh rate" option from dev settings enabled while switching resolutions, the display will black out and a restart needs to be forced by keeping the power button pressed or using adb interface to restart the phone. This is not due to the kernel, but display settings in framework getting scrambled as it´s not yet implemented 100% on googles end. So be warned. :)


    MM Subsystem Rework

    MM subsystem was completely reworked including many improvements from linux-mainline. During this MGLRU was also reworked a bit and works better now. I´ll include links to a few of the improvements/patchsets in hide-tags below, if you´re interested beyond that please check out my github.
    links:

    Additionally tie in a few of the MM changes into the powerhal. For example Proactive compaction is more aggressive during screen-off/device suspended operations to improve long term-performance.

    Other changes:

    Also tune the powerhal and implement all A13 changes, according to the changes that were already present on A12.

    Latest changes from f2fs-stable are included, which include several bugfixes and small improvements.
    Binder improvments/fixes, scheduler improvements from kernel/common, performance for exfat formatted storage device improved (niche use case, but still nice) and other little improvements.
    For other changes and details please take a look at github.


    I wish everyone a nice day.

    If you´re one of the unfortunate ones that suffer from the device is corrupt bug on pixel 6 series please take a look at the FAQ at the beginning of this thread it contains a solution. The issue is probably caused by a bug that affects pixel 6 devices and has nothing to do with magisk or a kernel, it just happens to get triggered when using any of those.



    Changelog:

    - Rebase kernel fully on A13 trees
    - Linux-Stable bumped to 5.10.136
    - FHD/1080p support for Pixel 6 Pro
    - all previous features and improvements kept intact
    - bump f2fs-stable to latest available
    - rework mm subsystem (check git for more details)
    - scheduler improvements
    - binder improvements from kernel/common
    - improve exfat performance (if someones uses exfat formatted devices)
    - loads of other changes from kernel/common
    - update powerhal to account for a13 changes and port existing changes over
    - loads of other changes, please check github



    Download:


    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img before flashing. Thank you.

    I wish everybody a great day/evening!
    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
    43
    Update to 4.2.0

    Hey guys and girls,

    I hope everyone started well in the new week. Here´s the next release and it´s a rather big one with lots of under the hood improvements.
    We already had all the changes in from the October security patch release released, due to merging linux-stable stable and kernel/common in advance.
    The kernel is now at 5.10.146 way ahead of the stock kernel. To further emphasize the importance of this. About 90% of kernel security issues are solved in linux stable. While I didn´t check the actual number myself, I´d have estimated about the same (80-90%) before actually reading the slides from @arter97 presentation.
    What also needs to be kept in mind is that a big part of those security issues are resolved in linux-stable sometimes months ago before those patches end up in a monthly security patch. Additionally to that the security patches are about 3 months behind the discovery of those vulnerabilities.

    Amongst linux-stable upstream there are a few other not minor updates in this kernel.

    Clang
    The kernel is now compiled with the latest prebuilt Clang from Google. This was quite a journey as this is a pretty big update to clang. This is quite experimental to be on googles side of a "bleeding" edge compiler, but after fixing several issues that originated from the new compiler it ran stable for over 2 weeks.

    There´s a potential for CFI failures that originates from that new Clang rather than a "real attack", due to the changes in clang.
    Short reminder what CFI actually does: Control flow integrity (CFI) is a security mechanism that disallows changes to the original control flow graph of a compiled binary, making it significantly harder to perform such attacks.
    A typical crash (that´s not wanted and originates from compiler changes rather than an actual attack, which is already resolved of course ) would look like the following: Open camera app, due to compiler changes CFI is accidentally tripped every time this code is executed.
    I think we catched all of these newly CFI failures and everything is nice and stable. In case you discover such a behaviour please send me the contents of sys/fs/pstore, once the phone booted back up.

    There´s always the possibility of a "real" attack in which CFI will crash the phone, before the attacker can compromise the phone. That´s why keeping subsystems updated is important.


    Powerhal
    The powerhal was retuned due to changes to the scheduler introduced. It should work even better now, regarding efficiency and performance. Of course I try to tune it also to my personal needs, while trying to keep it working for all workloads. The changes are not drastic, so please don´t post after several hours you see drastic differences.

    Other improvements
    Several other improvements from kernel/common (for higher branches than 5.10) and linux-main were backported to this branch so we can benefit from those improvements. For details please check my git.



    I´d like to write all of this with more detail, but at the moment I lack the time to do so.

    Kernel is compiled for stable A13, not A13 QPR Beta!


    I wish everyone a nice day.

    If you´re one of the unfortunate ones that suffer from the device is corrupt bug on pixel 6 series please take a look at the FAQ at the beginning of this thread it contains a solution. The issue is probably caused by a bug that affects pixel 6 devices and has nothing to do with magisk or a kernel, it just happens to get triggered when using any of those.



    Changelog:

    - Linux-Stable bumped to 5.10.146
    - kernel is compiled with latest prebuilt google clang 15.0.2
    - improvements from linux-mainline
    • locking subsystem
    • memory management
    • more details please check github
    - patches to f2fs
    - updates from kernel/common to several subsystems
    - tweak powerhal for improved performance/efficiency


    Download:
    Attached to release post as AFH is currently down.
    I´ll push to AFH once it´s back up.



    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_boot.img and vendor_dlkm.img before flashing. Thank you.

    I wish everybody a great day/evening!
    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
    37
    Update to 1.8.4

    Hey guys and girls,


    So here´s the next update. It´s kind of an off schedule update, as I planned to update the kernel with the next security update/feature drop.

    But in the light of recent events regarding the new exploit called "Dirty Pipe" (more info here), which is similar to the "Dirty Cow" exploit from a while ago, but easier to exploit this time, I decided to release an update ahead of schedule.

    This exploit was fixed in linux-stable 5.10.102, as opposed to a single commit in AKC (android kernel common, commit here). This shows once more why merging linux-stable is beneficial as explained in detail in the OP.

    Since one of the key aspects of this kernel is security and staying on par with upstream (which often fixes exploits way ahead of android security bulletin updates, even before an exploit is even known or fixed via a patch on the security bulletin) I decided to release this update as quickly as possible, so this exploit is fixed on devices running this kernel.

    Several other notable improvements and changes in this release:
    Bring in scheduler updates from Android 13 Developer Preview, which aim at improving task placement. (adjust powerhal accordingly)
    BFQ IO-Sched is now on par with linux-mainline.
    Several fixes to mm subsystem, f2fs and others.

    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.103
    - contains fix for the dirty pipe exploit
    - built with clang 14.0.2 prebuilt by google
    - improvments from kernel/common
    - fix memory leaks
    - security related patches
    - mm improvments
    - f2fs fixes
    - scheduler fixes
    - for details please check github
    - built with improvements from A13 Dev Preview to display driver
    - 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.
    37
    Update to 1.7.0

    Hey guys and girls,


    So here´s the next update. It includes the february security update. Most of the changes brought by the February kernel source drop, were already included in this kernel by merging kernel/common and linux-stable.


    Several other notable improvements and changes in this release:
    Improve f2fs performance by merging a patchset to prevent writer starvation for the checkpoint thread. This was discussed this month in the f2fs mailing list and is already merged to the kernel/common tree. It´ll improve performance under heavy I/O utilization.
    You can find more information following the discussion here.
    Necessary backports were brought to the kernel and the platform specific f2fs-implementation was also adjusted.
    Latest f2fs-stable was also merged to the kernel.

    Update the patchset to prevent frequency spikes caused by small tasks as well. Tie those new changes into the powerhal. (That means users not flashing the kernel.zip, but instead use the manual installation method, which are only a handful from the download count, need to flash the updated magisk helper module. Users that flash the kernel.zip via FKM/EXKM have to just flash and forget)

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


    Changelog:
    - February Security update merged
    - linux-stable 5.10.96
    - include latest f2fs-stable
    - improvments from kernel/common
    - fix memory leaks
    - security related patches
    - mm improvments
    - for details please check github
    - introduce unfair f2fs rwsems to prevent writer starvation and improve IO perf
    - update patchset to prevent freq spikes caused by small transient tasks (also tie this into powerhal)
    - give pelt multiplier power hint for scheduler performance boost during fingerprint unlock
    - fuse: give wakeup hints to scheduler to speed up compress/decompress in internal storage (details)
    - enable RCU_BOOST (details here), also fix RCU_BOOST behaviour
    - update LRNG implementation (thanks to arter97 )
    - improvements/fixes for CleanSlate features
    - 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.