Development [Kernel][01.06.2023][Android 13] Kirisakura 2.0.24_T for Asus Zenfone 9 aka "DaVinci"

Search This thread
Update to 2.0.6

Hey guys and girls,


Here´s the next update. That´s a bigger one. I´ll explain a few things below in more detail.

The link to the latest firmware can be found following this link.

Monolithic kernel build
Thanks to @arter97 it´s now possible to build the 5.10 qcom kernel now as a monolithic kernel, not needing to build as a GKI style kernel.
To explain it simple: The problem is QCOM/Google are no longer required to test if drivers are loading in the correct order and or test compilation of a monolithic kernel at all.
The gki style kernel has 100s of drivers build as external kernel modules, instead of directly into the zImage.
Having a monolithic build eases development a bit, but won´t directly make an impact to the user.
If you´re interested check my github, it contains the commits. and be sure to drop @arter97 a few thanks somewhere!

Introduction of Lazy RCU

Usually I´m not stating remarks about a change improving battery life notably. But this is one of the few kernel changes that really does make a noticeable difference.

This kernel has the entire(!) RCU subsystem updated to latest linux 6.0 kernel state. This also allowed for Lazy RCU to be merged into the kernel, which should result in power-savings while the device is lightly-loaded or idling (which is basically the case all the time a smartphone isn´t being interacted with (nothing touching the screen and no other workload such as video editing is done).
If you´re interested in details check the slides, which are also linked in the article mentioned/linked above.
A very simplified explanation: RCU functionality can be called 1000s of times a second, batching RCU calls can save power by not calling as often.

Please keep in mind, those are kernel changes and battery life will not be improved magically by huge amounts, but there´s definitely an improvments.

Sony Scheduler Improvements

Import some scheduler changes around Walt from Sony Xperia 1 IV. This improves jitter by a significant amount.


More changes in the changelog below:


Changelog:
- merge latest kernel/common lts branch
- linux-stable to 5.10.160
- merge latest qcom upstream to main branch
- bump clang to latest prebuilt from google 16.0.2
- lazy rcu backported
- scheduler improvements from Sony Xperia 1 IV
- remove wlan rx wakelock as it´s unnecssary
- other improvements and tweaks please check github


Download:
Attached to release post, AFH is currently broken




Instructions can be found in the OP!
But look at this post too :)

Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07

Quick question:
The firmware you linked to is WW-33.0804.2060.73, whereas the most recent firmware is WW-33.0804.2060.88. I suspect the minor version difference is a small hotfix from ASUS, so it should still be compatible, right?
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Quick question:
The firmware you linked to is WW-33.0804.2060.73, whereas the most recent firmware is WW-33.0804.2060.88. I suspect the minor version difference is a small hotfix from ASUS, so it should still be compatible, right?
Yeah, should still be compatible :)

I have an update kind of ready for latest as well i just need to find time to release it.
 

iforek

New member
Feb 21, 2023
1
0
Monolithic kernel build
Thanks to @arter97 it´s now possible to build the 5.10 qcom kernel now as a monolithic kernel, not needing to build as a GKI style kernel.
To explain it simple: The problem is QCOM/Google are no longer required to test if drivers are loading in the correct order and or test compilation of a monolithic kernel at all.
The gki style kernel has 100s of drivers build as external kernel modules, instead of directly into the zImage.
Having a monolithic build eases development a bit, but won´t directly make an impact to the user.
If you´re interested check my github, it contains the commits. and be sure to drop @arter97 a few thanks somewhere
Hi Freak07, thanks for all the hard work! I have a question. I built (with no changes) a kernel Image from your GitHub, put it into the .zip file instead of yours, and flashed using Kernel Flasher. All good. I can see phone running my build.

Now, I adjusted the config and enabled CORESIGHT_SOURCE_ETM4X and CORESIGHT_TRBE, but after rebuilding the Image, and re-flashing the phone, the phone keeps restarting after displaying ASUS logo. I appreciate those are non-trivial changes, so I don't expect you to debug it for me, but anything trivial I may be missing? I didn't expect that adjusting the config would break the kernel straightaway, but again my Android experience is very limited - I only use it as this is one of few pieces of hardware that has ARMv9 and can run Linux (in chroot).

Same happened when I tried to enable loading modules on runtime - I hoped I can load coresight dynamically, but no success.

For completeness I'm running firmware: 33.0804.2060.88.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Update to 2.0.12

Hey guys and girls,


Here´s the next update. I´m short on time, but I wanted to release it.
QCOM and Linux-Stable upstream contain a lot of little improvements and security fixes this time around.
It´s compatible with the recent firmware UL-ASUS_AI2202-ASUS-33.0804.2060.100, but then again there were barely any changes in asus kernel the last few updates.

The link to the latest firmware can be found following this link.


More changes in the changelog below:


Changelog:
- linux-stable to 5.10.169
- merge latest qcom upstream to main branch
- other improvements and tweaks please check github


Download:
Attached to release post, AFH is currently broken




Instructions can be found in the OP!
But look at this post too :)

Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07
 

Attachments

  • Kirisakura_DaVinci_T_2.0.12.zip
    26.5 MB · Views: 125

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Hi Freak07, thanks for all the hard work! I have a question. I built (with no changes) a kernel Image from your GitHub, put it into the .zip file instead of yours, and flashed using Kernel Flasher. All good. I can see phone running my build.

Now, I adjusted the config and enabled CORESIGHT_SOURCE_ETM4X and CORESIGHT_TRBE, but after rebuilding the Image, and re-flashing the phone, the phone keeps restarting after displaying ASUS logo. I appreciate those are non-trivial changes, so I don't expect you to debug it for me, but anything trivial I may be missing? I didn't expect that adjusting the config would break the kernel straightaway, but again my Android experience is very limited - I only use it as this is one of few pieces of hardware that has ARMv9 and can run Linux (in chroot).

Same happened when I tried to enable loading modules on runtime - I hoped I can load coresight dynamically, but no success.

For completeness I'm running firmware: 33.0804.2060.88.
It seems i forgot to reply.

I'd start by looking at pstore/ramoops, which might point you in the right direction.

Simply flash your working first compilation using my zip (dtb from my zip must be included) and let the phone just sit there for 5 minutes. Do a reboot and confirm you can see a file in sys/fs/pstore. (That's the kernel log from the last running session before the reboot)
Backup the boot.img from that working first compilation and copy it to your PC so you can restore it via fastboot.

Now flash the kernel with your changes, let the phone crash and try to time the button combination so you get back to bootloader.
Flash the boot.img you backup earlier. Check sys/fs/pstore to see what happened.
 

sakun-ice

Senior Member
Nov 10, 2012
333
59
This kernel comes with the Cleanslate functions, right? Because after turning on the "k.adaway" ad blocker from the Cleanslate settings app and rebooting, I seem to still see ads in the apps (not YouTube or similar, obviously)
 
  • Like
Reactions: Freak07

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
This kernel comes with the Cleanslate functions, right? Because after turning on the "k.adaway" ad blocker from the Cleanslate settings app and rebooting, I seem to still see ads in the apps (not YouTube or similar, obviously)
Yes they are included, but the Cleanslate adblocker is not one of them.

I don't intended to use my kernel without magisk root. That's why I'm using AdAway/systemless Hosts, which allows me to change/update the host file during runtime. Otherwise it's compile time bound and if hosts change, ads may come through.
 

sakun-ice

Senior Member
Nov 10, 2012
333
59
Yes they are included, but the Cleanslate adblocker is not one of them.

I don't intended to use my kernel without magisk root. That's why I'm using AdAway/systemless Hosts, which allows me to change/update the host file during runtime. Otherwise it's compile time bound and if hosts change, ads may come through.
It is what I had thought from the beginning, but something strange happens to me. When I use adaway with the magisk module to get the hosts file off the system, I get random reboots every few days.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
It is what I had thought from the beginning, but something strange happens to me. When I use adaway with the magisk module to get the hosts file off the system, I get random reboots every few days.
Unfortunately I can´t help you there. I read on a forums for devices that I own that supposedly some users face this, but I never personally had it happen on any of my devices in the last year. Using systemless hosts all the time and never had a random reboot due to it.

Might be either an actual magisk issue or one of the hosts that being blocked can bring the system down for whatever reason, maybe a specific app causes this (that´s very unlikely, but adblocking can cause issues like broken deepsleep, apps constantly trying to reach a server that´s being blocked etc leading to increased cpu usage)

I´m still sticking to magisk canary 25206 as all newer release have some issues like broken module loading.
 

fityanferry

Member
Feb 17, 2023
12
3
Sorry can't take the log. but its rebooting when activate usb tethering on this latest kernel build sir.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Update to 2.0.18

Hey guys and girls,


Here´s the next update.
QCOM and Linux-Stable upstream contain a lot of little improvements and security fixes this time around.
It´s compatible with the recent firmware UL-ASUS_AI2202-ASUS-33.0804.2060.100.

The link to the latest firmware can be found following this link.


More changes in the changelog below:


Changelog:
- linux-stable to 5.10.175
- merge latest qcom upstream to main branch
- few improvements that should speed up face unlock and camera launch time by quite a bit
- fix a kernel panic when using usb tethering option
- other improvements and tweaks please check github


Download:
Attached to release post, AFH is currently broken




Instructions can be found in the OP!
But look at this post too :)

Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07
 

Attachments

  • Kirisakura_DaVinci_T_2.0.18.zip
    26.5 MB · Views: 46

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Update to 2.0.19

Hey guys and girls,


Here´s the next update.
It´s compatible with the recent firmware UL-ASUS_AI2202-ASUS-33.0804.2060.113.

The link to the latest firmware can be found following this link.


More changes in the changelog below:


Changelog:
- linux-stable to 5.10.176
- merge qcom upstream
- merge UL-ASUS_AI2202-ASUS-33.0804.2060.113


Download:
Attached to release post, AFH is currently broken



Instructions can be found in the OP!
But look at this post too :)

Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07
 

Attachments

  • Kirisakura_DaVinci_T_2.0.19.zip
    26.5 MB · Views: 39
Last edited:
Update to 2.0.19

Hey guys and girls,


Here´s the next update.
It´s compatible with the recent firmware UL-ASUS_AI2202-ASUS-33.0804.2060.113.

The link to the latest firmware can be found following this link.


More changes in the changelog below:


Changelog:
- linux-stable to 5.10.176
- merge qcom upstream
- merge UL-ASUS_AI2202-ASUS-33.0804.2060.113


Download:
Attached to release post, AFH is currently broken



Instructions can be found in the OP!
But look at this post too :)

Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07
Cheers, man.
I have a few questions (again, haha).

The firmware link you provided links to the source code instead of the firmware files.
And the official firmware download page doesn't display the 2060.113 update, both for the kernal source and firmware. Could you direct us to where you got the 2060.113 update?

Thanks in advance!
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Cheers, man.
I have a few questions (again, haha).

The firmware link you provided links to the source code instead of the firmware files.
And the official firmware download page doesn't display the 2060.113 update, both for the kernal source and firmware. Could you direct us to where you got the 2060.113 update?

Thanks in advance!
Fixed the link to the firmware file.


You can "guess" the link. Once the files are uploaded to Asus servers it sometimes takes a while until the website is updated.

Source is here:
 
  • Like
Reactions: adeklipse

NisseGurra

Senior Member
Nov 22, 2005
1,497
603
Xiaomi Mi Pad 4
Samsung Galaxy S22
Note that this fw is for the JP version, not for WW/EU/RU/IN/TW
"Steps of Update:
1. Check software version of your device**
2. Download device software and Update SOP (From “Manual” Item)
3. Only apply to same SKU update, Example: WW->WW, CN->CN, TW->TW.
4. Software update cannot transfer the software SKU and downgrade the software version.
5. Wrong SKU may cause update failure, please update the same SKU version only."
 
Note that this fw is for the JP version, not for WW/EU/RU/IN/TW
"Steps of Update:
1. Check software version of your device**
2. Download device software and Update SOP (From “Manual” Item)
3. Only apply to same SKU update, Example: WW->WW, CN->CN, TW->TW.
4. Software update cannot transfer the software SKU and downgrade the software version.
5. Wrong SKU may cause update failure, please update the same SKU version only."
Thanks for the heads up! I have the WW version, so I guess I'll be waiting for Asus.
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,039
Note that this fw is for the JP version, not for WW/EU/RU/IN/TW
"Steps of Update:
1. Check software version of your device**
2. Download device software and Update SOP (From “Manual” Item)
3. Only apply to same SKU update, Example: WW->WW, CN->CN, TW->TW.
4. Software update cannot transfer the software SKU and downgrade the software version.
5. Wrong SKU may cause update failure, please update the same SKU version only."
Thanks for the heads up. (y)
No problems flashing on WW unit here. Did that a few times in the past on zenfones already. Flashing TW firmware on WW unit 😄

On ROG devices CN firmware won't flash on WW unit and vice versa.
I don't think there's any harm in flashing, but maybe Asus will push an incremental update over this the next few days.
So if users want to be on the safe side don't flash.
Kernel source never differed between different SKUs though.
 
  • Like
Reactions: c19932 and jons99

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    Kirisakura-Kernel for the Asus Zenfone 9

    Hello everyone,

    To keep it short: Here is Kirisakura - Kernel for the Asus Zenfone 9 aka DaVinci. The Zenfone line-up internal codenames were traditionally derived from alcoholic drinks. Two years ago the Zenfone 6 bore the title "Kirin". The Zenfone 7 was codenamed "Tequila", while the Zenfone 8 bore the title "Sake".
    This year seems to make a change however. The Zenfone 9´s internal codename is "DaVinci".
    I would appreciate if everybody that flashes the kernel, reads at least once through this opening post and the following ones.

    As far as we, @tbalden and me, are aware and as far as we know this project, alongside CleanSlate kernel for the Zenfone 9, marks the first release of a source compiled custom QGKI 2.0 kernel as a standalone flashable zip and project here on XDA.
    The introduction of GKI and QCOMs adaptation QGKI means unfortunately that building a kernel not modularized, but in a monolithic fashion becomes harder and harder. GKI/QGKI results in the "kernel" itself no longer just sitting in one partition or the zImage, but it´s spread across different partitions (monolithic build vs. modularized build) now. Since there´s no requirment to keep monolithic builds working as in the past, it´s no longer possible to compile the source as is (without applying major rewrites, tricks or hacks) in the monolithic fashion on 5.10 kernels. The same was true for the Pixel 6/Pro.

    That means the "kernel" project you´re seeing here needs to be compiled in a build environment to achieve the GKI/QGKI way. Since only Google releases the full build environment alongside the kernel sources itself in a proper fashion with git history, it became very complicated and seemingly impossible to do this on the Zenfone 9 at first glance. A big thanks at this place to Asus. From all the sources of SD8 Gen 1 QGKI devices published, the Asus Source is the most complete. A big thanks to Asus for publishing the sources on time and complete! Also for listening to us if the source is not complete and something is missing.

    With excellent teamwork and a lot of hardwork, @tbalden and me managed to compile the Zenfone 9 kernel in QGKI 2.0 fashion after a lot of failed attempts and misery. It´s been a pleasure to work with him over the years here on XDA.


    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!
    If you expect a custom kernel to magically improve your devices battery life manifold and this is your only priority then this might not be the right place for you.
    However the kernel is built to keep battery life close to the same as you would experience the on stock kernel while being tuned to perform better in various UI related benchmarks. The same benches are used by google to verify and ensure UI smoothness on the Pixel devices. The scheduler is tuned to yield lower jitter and reduce jank frames.
    If that got your curious, I welcome you to continue reading if you´re still interested!


    This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.

    A very positive development. Google pushed for CFI and SCS to be enabled by default in the android-common kernel. Starting with 5.4 kernel ( SD 888 ) CFI and SCS were enabled by default. It was a lot of work to get these features working nicely on the kernel I did the years back. So it´s nice to see this is now there by default in everybody can profit from it.
    I put the explanations and links in hide tags here.

    Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features.
    The recently released Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.
    If possible the latest Kirisakura-Kernel releases for various devices aim to include CFI in enforcing mode so users can benefit from this security features.

    Another security feature is Shadow Call Stack (SCS).
    SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
    ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
    If you´re interested here are a few good links:
    Google Security Blog explaining SCS.
    LLVM doc about SCS
    Android DOCs documenting SCS

    If reading about upstream in the paragraph above 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.
    Read more about the Release-Model following this link.
    This conversation on the LKML mailing list also shows the power of Linux-Stable and why it´s very beneficial to not just say it´s not worth and a potentiol source for bugs:
    Starting with the Initial Message , the following reply and a good summarizing statement.



    Quick explanation of QCOM-Upstream. CLO-git is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 8+ Gen1 that´s built into the different SKUs of the Zenfone 9.
    The kernel-bases available on QCOMs git, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
    The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. OEMs usually stop updating the initial base after the phone is released.
    This kernel focuses amongst the other features to provide the latest CAF-Updates merged in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.

    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!


    Main Features:
    - Based on latest kernel sources from Asus for Android 13 and intended to be used on the latest Asus Stock-Firmware
    - compiled with Clang 16.0.2 and built with -O3 speed optimizations
    - Linux-Stable-Upstream included to 5.10.181
    - upstreamed QCOM base for the Snapdragon SD8+ Gen1 (qcoms internal codename "cape")
    - Lazy RCU which should result in power-savings while the device is lightly-loaded or idling, more information here
    - include important fixes/improvements from kernel/common
    - SSG IO scheduler for reduced overhead and less CPU cycles (more lightweight and android optimized)
    - implement ramoops for easier logs in case of kernel panics
    - implement LRNG (see arter kernel OP for more info )
    - Flashing the kernel will keep root!
    - Flashable via EXKM, FKM or Kernel Flasher (free open source solution, get it here)
    - Anykernel zip is based on the Anykernel3 release from @osm0sis


    EAS related features:
    - Implement dynamic WALT-Window size depending on current FPS, collecting information about CPU-Load to provide more precise information for the scheduler
    - EAS implementation patched up to latest CAF state
    - updates from kernel/common

    CPU related features:
    - Power saving workingqueues enabled by default
    - Change various drivers (WLAN, MM, audio, charger, power, thermal, glink etc) to use power efficient workingqueues. This compliments EAS in general
    - vdso32 patches as found on Google Pixel devices (brief documentation here) (CAF 5.10 default, keep for documentation)
    - improve suspend/resume from audio driver (caf-upstream for audio-kernel)
    - enable suspend_skip_sync to save power during suspend/resume
    - speed up face unlock
    - reduce camera launch time

    GPU related features:
    - GPU driver updated to latest CAF-State

    File System related features:
    - f2fs improvements

    UI/UX/Usability related features from CleanSlate:
    - CleanSlate features made by @tbalden
    - Disclaimer: All CleanSlate features can be controlled via the free companion and config app found on CleanSlate thread here on the Zenfone 9 Forums on XDA. Please consider buying the premium versions if you enjoy using the CleanSlate features, to give a little something back to @tbalden.
    - add option to force 240hz touch sample rate

    Network related features:
    - Wireguard Support (Details)
    - advanced TCP algorithms enabled
    - use bbr as default TCP congestion algorithm (fasted algo according to this excellent research from @kdrag0n found here )
    - includes new bbr
    - Enable support for TTL spoofing

    Memory related features:
    - Speculative Page Faults left enabled (1. 2) (CAF 5.4 default, keep for documentation)

    Security related features:
    - Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) (CAF 5.4 default, keep for documentation)
    - Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO (CAF 5.4 default, keep for documentation)
    - Shadow Call Stack (SCS) Security-Feature ( 5.4 default, keep for documentation)
    - enable init_on_alloc for even more security, more information can be found in the commit message (CAF 5.4 default, keep for documentation)

    Other features:
    - clean up asus drivers and fix a few warnings in kernel log
    - enlarge dmesg size to ease debugging


    Flashing Guide, Download and Changelog

    Requirements:
    - unlocked Bootloader (this will void warranty and kill future OTA updates on all asus phones at the moment)
    - USB-Debugging in developer options enabled
    - latest adb and fastboot binaries
    - working adb and fastboot environment
    - magisk root
    - a backup of stock boot.img, vendor_boot.img, vendor_dlkm.img and dtbo.img so you can go back to stock conditions (simplest way is TWRP or to extract from stock firmware via payload extractor)

    How to flash the Kernel:
    1. Download the latest kernel.zip and make sure you have properly updated to the latest matching Asus Stock-Firmware. When the Zenfone 9 receives an OTA update it takes Asus a while to release the source code for the new OS and me a while to build a new kernel. If you don´t want to face any issues, wait until I either release an updated kernel or give green light because there were no kernel changes.
    Always make sure to run the firmware the kernel is built for!
    If you feel adventurous and try in advance, make sure you have a backup ready!

    2. Flash the kernel.zip in your favorite kernel app (I personally use Kernel Flasher by @capntrips as it´s free OSS) or TWRP once available.

    3. Reboot and profit.


    DOWNLOAD:
    Download is located always in this folder:
    AFH is currently down. Please check release posts for attached files.

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

    Changelog:
    Android 12

    1.0.0 Initial Release
    1.1.0 https://xdaforums.com/t/kernel-05-0...s-zenfone-9-aka-davinci.4489055/post-87544785
    1.1.0 https://xdaforums.com/t/kernel-08-1...s-zenfone-9-aka-davinci.4489055/post-87641829
    1.1.3 https://xdaforums.com/t/kernel-28-1...s-zenfone-9-aka-davinci.4489055/post-87761015

    Android 13
    2.0.0 2.0.6 https://xdaforums.com/t/kernel-09-1...s-zenfone-9-aka-davinci.4489055/post-87945357
    2.0.12 https://xdaforums.com/t/kernel-04-0...s-zenfone-9-aka-davinci.4489055/post-88194923
    2.0.18 https://xdaforums.com/t/kernel-23-0...s-zenfone-9-aka-davinci.4489055/post-88332217
    2.0.19 https://xdaforums.com/t/kernel-25-0...s-zenfone-9-aka-davinci.4489055/post-88360955
    2.0.21 https://xdaforums.com/t/kernel-01-0...s-zenfone-9-aka-davinci.4489055/post-88384057
    2.0.24 https://xdaforums.com/t/kernel-07-0...s-zenfone-9-aka-davinci.4489055/post-88600875

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

    Credits:
    Asus for the development device, giving me the opportunity to create this project! This device is absolutely stunning!
    @osm0sis for all his work, including the ak3 installer!
    @capntrips for his relentless work on several projects, including kernel flasher!
    @tbalden for being the best HTC, Pixel, OnePlus and now 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!


    Source Code: https://github.com/freak07/Kirisakura_DaVinci_AI2202/

    For necessary changes to other repos, besides the main kernel tree please check tbaldens github, we did the bringup together:
    8
    Update to 2.0.6

    Hey guys and girls,


    Here´s the next update. That´s a bigger one. I´ll explain a few things below in more detail.

    The link to the latest firmware can be found following this link.

    Monolithic kernel build
    Thanks to @arter97 it´s now possible to build the 5.10 qcom kernel now as a monolithic kernel, not needing to build as a GKI style kernel.
    To explain it simple: The problem is QCOM/Google are no longer required to test if drivers are loading in the correct order and or test compilation of a monolithic kernel at all.
    The gki style kernel has 100s of drivers build as external kernel modules, instead of directly into the zImage.
    Having a monolithic build eases development a bit, but won´t directly make an impact to the user.
    If you´re interested check my github, it contains the commits. and be sure to drop @arter97 a few thanks somewhere!

    Introduction of Lazy RCU

    Usually I´m not stating remarks about a change improving battery life notably. But this is one of the few kernel changes that really does make a noticeable difference.

    This kernel has the entire(!) RCU subsystem updated to latest linux 6.0 kernel state. This also allowed for Lazy RCU to be merged into the kernel, which should result in power-savings while the device is lightly-loaded or idling (which is basically the case all the time a smartphone isn´t being interacted with (nothing touching the screen and no other workload such as video editing is done).
    If you´re interested in details check the slides, which are also linked in the article mentioned/linked above.
    A very simplified explanation: RCU functionality can be called 1000s of times a second, batching RCU calls can save power by not calling as often.

    Please keep in mind, those are kernel changes and battery life will not be improved magically by huge amounts, but there´s definitely an improvments.

    Sony Scheduler Improvements

    Import some scheduler changes around Walt from Sony Xperia 1 IV. This improves jitter by a significant amount.


    More changes in the changelog below:


    Changelog:
    - merge latest kernel/common lts branch
    - linux-stable to 5.10.160
    - merge latest qcom upstream to main branch
    - bump clang to latest prebuilt from google 16.0.2
    - lazy rcu backported
    - scheduler improvements from Sony Xperia 1 IV
    - remove wlan rx wakelock as it´s unnecssary
    - other improvements and tweaks please check github


    Download:
    Attached to release post, AFH is currently broken




    Instructions can be found in the OP!
    But look at this post too :)

    Have fun, enjoy the kernel and your phone.

    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07
    4
    F.A.Q:

    Question:
    How do I return back to stock?
    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/fastbootd and you will be back on stock kernel.

    boot.img, dtbo.img and vendor_boot.img are to be flashed in regular fastboot.
    vendor_dlkm.img is to be flashed in fastbootd (you can get to this with "fastboot reboot fastboot" when you´re in regular fastboot)



    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?
    Please make sure to meet the points described above, provide logs as detailed in the link above, otherwise debugging is a lot more time consuming and harder. If these requirements aren´t met and I don´t find time to either reproduce the issue myself or I´m not able to reproduce the issue myself reports might just be ignored. 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, apps detecting root/modifications and other topics that are vaguely related, but not really subject of this thread?
    Answer: If you want to modify your phone via root/magisk in any way you need to unlock the bootloader. Unlocking will result in safetynet not passing. This has nothing to do with the kernel. At the moment of writing this, safetynet not passing can be worked around with a magisk module called "Universal SafetyNet Fix".
    Not passing safetynet is unrelated to the kernel since hardware attestation is enforced on nearly all newly released devices now.
    If you´re not passing safetynet banking apps might for example be detecting root. There are various tricks to hide root/modifications to the phone from banking apps or others but that´s not really subject of this thread.
    4
    Update to 2.0.12

    Hey guys and girls,


    Here´s the next update. I´m short on time, but I wanted to release it.
    QCOM and Linux-Stable upstream contain a lot of little improvements and security fixes this time around.
    It´s compatible with the recent firmware UL-ASUS_AI2202-ASUS-33.0804.2060.100, but then again there were barely any changes in asus kernel the last few updates.

    The link to the latest firmware can be found following this link.


    More changes in the changelog below:


    Changelog:
    - linux-stable to 5.10.169
    - merge latest qcom upstream to main branch
    - other improvements and tweaks please check github


    Download:
    Attached to release post, AFH is currently broken




    Instructions can be found in the OP!
    But look at this post too :)

    Have fun, enjoy the kernel and your phone.

    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea to keep development going: http://paypal.me/freak07
    4
    Quick question:
    The firmware you linked to is WW-33.0804.2060.73, whereas the most recent firmware is WW-33.0804.2060.88. I suspect the minor version difference is a small hotfix from ASUS, so it should still be compatible, right?
    Yeah, should still be compatible :)

    I have an update kind of ready for latest as well i just need to find time to release it.