Development [Kernel][26.03.2024][Android 14.0.0 Stable]Kirisakura_Raviantah 2.2.1 for Pixel 7/Pro aka "Pantah"

Are you interested in a magisk module introducing a so called summer mode(explanation in the thread)

  • Yes

  • No


Results are only viewable after voting.
Search This thread

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
Kirisakura-Kernel for the Pixel 7/Pro

Hello everyone,

To keep it short: Here is Kirisakura - Kernel for the Google Pixel 7 Pro aka Cheetah and the Pixel 7 aka Panther, together Pantah.
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.
By merging linux-stable regularly we get most security updates months ahead of the stock kernel and also before they even end up in the android security bulletin.


The kernel includes a lot of improvements and contributions from other developers as well. Without those contributtion this kernel would not exist as it is.
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 A14 kernel sources from Google, Kernel is made for Android 14 Stable
- Linux-Stable-Upstream included to 5.10.209
- Compiled with prebuilt Google clang 18.0.0
- EEVDF scheduler patches
- lockless slab shrinker
- Backport entire RCU subsystem to latest linux
- 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
- improve preallocations from maple tree (affects especially android)
- reduce necessity to rewalk the maple tree
- Per VMA-locks in conjunction with Maple Tree RCU-Mode (improve app launch time, this feature in general benefits greatly from lazy rcu!)
- further improve maple tree/per-vma locks introduced in an earlier release
- Dynamic Energy Models depending on device state
- make TEO-Cpuidle util-aware (improves latency, performance and decreases energy consumption for certain workloads, more information here)
- introduce runnable boosting, wire it up with pixel_sched
- improve CPU throttling behaviour
- improvements to uclamp, prevent capacity inversion (reduce missed frames)
- greatly speed up camera launch time!
- 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 (current state disabled, as google remotely controls the prop)
- 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
- restrict maximum CPU-Freqs during screen off/ idle to 1.4GHZ 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 backports from linux-main
- mm updates from linux-main
- locking updates frm linux-main
- improve memory performance by tweaking google´s eh zram implementation
- fix sysfs endpoint for googles eh zram
- 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
- important patches from kernel/common for 5.10 (here are more details)
- increase priority of GPU work
- several updates from QPR beta, and a few from Pixel 6 that googles missed to include in the pixel 7 kernel
- improve thermals
- change compaction proactiveness based on device state for improveed memory management
- improve ZRAM usage
- reduce overhead

- improve performance and efficiency by properly wiring up pixel_sched with teo util awareness (thanks @ada12 for spotting this!)
- update to cpuset/cgroup subsystem (speeds up camera launches, device unlocks etc as cpusets are switched on those conditions, patches reduce overhead in those conditions)
- flashing the kernel will preserve root


CleanSlate Features
- 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)
- Check the CleanSlate thread for more information about those features
- The CleanSlate thread also contains the apps that allows you to control those features!
- If you consider those features useful, maybe consider purchasing the apps in the PlayStore or a small donation to @tbalden, he deserves it! Don´t forget to switch to beta channel for those apps, as this is needed for device running A13!


Various Optimizations:
- update several drivers to use power efficient workingqueues (for example wlan driver)
- f2fs: reduce timeout for uncongestion
- f2fs: Demote GC thread to idle scheduler class
- f2fs: set ioprio of GC kthread to idle
- tcp: enable advanced tcp, give user more options for tcp alorithm
- mm: vmstat: use power efficient workingqueues
Wakelock Blocker:
- advanced wakelock blocker with the ability to block kernel wakelocks (dangerous, use with caution, please read this for further info). You should only block kernel wakelocks in case you face uncontrollable scenarios, like company wifi causing a wakelock to be active 100% of the time! Blocking kernel wakelocks to "improve" battery life almost always backfires and causes issues!


Powerhint Module:
- restrict little cluster to 1,4ghz mid cluster to 1,4ghz and big cluster to 1,4ghz during screen off, to reduce battery usage for example during music playback
- only use little cores during screen off/device suspend
- account for scheduler and other changes done to the kernel
- boost memory interface controller during interaction (decreased missed frames, improved soc efficiency according to google docs)
- 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)
- switch between default and custom idle energy model on device is being interacted with / device idle.
- reduce missed frames during scrolling/device interaction by adjusting uclamp boosts
- dynamically adjust target load for memory interface during interaction.
- remove dynamic GPU policy change as it´s causing instability and is unneeded due to GVFS period
- implement handling during video recording of CPU like Google did on QPR A13
- more small improvements

DOWNLOAD:
Downloads are attached to the release posts linked below in the changelog section.


Please note that androidfilehost is currently not working properly.
Link to AFH:
Deprecated afh download, still here for old releases:


Changelog:
Android 13.0.0 Stable (not QPR beta!)

1.0.0 Initial Release | Mirror for Download in case AFH is not working
1.1.0 https://xdaforums.com/t/kernel-24-1...-pixel-7-pro-aka-pantah.4509795/post-87743627
1.2.0 https://xdaforums.com/t/kernel-18-1...-pixel-7-pro-aka-pantah.4509795/post-87822161
1.2.1 https://xdaforums.com/t/kernel-06-1...-pixel-7-pro-aka-pantah.4509795/post-87878321
1.2.2 https://xdaforums.com/t/kernel-19-1...-pixel-7-pro-aka-pantah.4509795/post-87944505
1.2.3 https://xdaforums.com/t/kernel-04-0...-pixel-7-pro-aka-pantah.4509795/post-87960183
1.2.4 https://xdaforums.com/t/kernel-07-0...-pixel-7-pro-aka-pantah.4509795/post-88108123
1.3.0 https://xdaforums.com/t/kernel-07-0...-pixel-7-pro-aka-pantah.4509795/post-88286027
Raviantah_1.0.0 https://xdaforums.com/t/kernel-14-0...-pixel-7-pro-aka-pantah.4509795/post-88316285
Raviantah_1.0.1 https://xdaforums.com/t/kernel-21-0...-pixel-7-pro-aka-pantah.4509795/post-88323527
Raviantah_1.0.2 https://xdaforums.com/t/kernel-23-0...-pixel-7-pro-aka-pantah.4509795/post-88399915
Raviantah_1.0.4 https://xdaforums.com/t/kernel-11-0...-pixel-7-pro-aka-pantah.4509795/post-88497279
Raviantah_1.1.0 https://xdaforums.com/t/kernel-04-0...-pixel-7-pro-aka-pantah.4509795/post-88645103
Raviantah_1.1.2 https://xdaforums.com/t/kernel-14-0...-pixel-7-pro-aka-pantah.4509795/post-88719667
Raviantah_1.1.3 https://xdaforums.com/t/kernel-06-0...-pixel-7-pro-aka-pantah.4509795/post-88847285
Raviantah_1.1.4 https://xdaforums.com/t/kernel-08-0...-pixel-7-pro-aka-pantah.4509795/post-88866285
Raviantah_1.1.5 https://xdaforums.com/t/kernel-12-0...-pixel-7-pro-aka-pantah.4509795/post-89038079
Raviantah_1.1.6 https://xdaforums.com/t/kernel-23-0...-pixel-7-pro-aka-pantah.4509795/post-89079103
Raviantah_2.0.0 https://xdaforums.com/t/kernel-03-1...-pixel-7-pro-aka-pantah.4509795/post-89085294
Raviantah_2.0.2 https://xdaforums.com/t/kernel-06-1...-pixel-7-pro-aka-pantah.4509795/post-89149195
Raviantah_2.1.0 https://xdaforums.com/t/kernel-08-1...-pixel-7-pro-aka-pantah.4509795/post-89205141
Raviantah_2.2.0 https://xdaforums.com/t/kernel-07-1...-pixel-7-pro-aka-pantah.4509795/post-89384467
Raviantah_2.2.1 https://xdaforums.com/t/kernel-06-0...-pixel-7-pro-aka-pantah.4509795/post-89420910



Requirements

- vbmeta flags for verity/verification disabled (this requires a wipe if you´re coming from stock with those flags enabled), check the FAQ for information on how to do this -> not required starting from Raviantah 2.0.0
- 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, use stable in case you want to be absolutely safe)
- IMPORTANT: Unrelated to the kernel, but update both slots of your phone to A13 before you flash anything to your device!
- it´s handy to have a backup and a way to return back to stock (check the faq for that)
- make sure to download the correct kernel version for your firmware. (you can´t flash a kernel made for stable firmware on a QPR beta or dev preview and expect there to be no isses, the release posts mention which firmware the respective kernel releases are compiled for)
- this kernel is tested on stock google firmware. If you want to use it on custom roms you´re kind of on your own as I can´t account and give support for any changes custom roms apply that could render the kernel incompatible. (e.g. if you´re custom rom is still on the previous months update, there may be issues flashing an updated kernel for the next month on top or custom roms requiring specific kernel changes to work correctly )
- it´s always best to start on stock images and don´t have another custom kernel flashed when flashing this kernel for the first time. consecutive flashes can just be installed on top, if not I´ll mention it in the release post
- read the first and second post, there's a lot of valuable information


How to flash the Kernel:
1a. Make sure you tick all the requirements above
1b. Make sure to flash the release made for your firmware! Usually the release post contains information on that

1. Download the kernel.zip (unified for both devices) and the correct powerhint module depending on your device (Pixel 7 = panther || Pixel 7 Pro = cheetah, starting from raviantah 2.0.0 the module is unified ) no longer necessary since Raviantah 2.0.2
2. Flash the powerhint module via magisk manager as you would any other magisk module! Make sure to flash the latest one. It will be mentioned in the release post if there´s an update. No longer necessary since Raviantah 2.0.2
Make sure to remove all previous installed powerhint modules before flashing Raviantah 2.0.2 and later
3. Flash the kernel.zip via EXKM, FKM or kernel flasher. Root will be preserved.
4. Reboot and profit.


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 pixels, avb, hashtree patcher, the counsel and the kernel flasher!
@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
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
F.A.Q:

Question:
How do I check the state of avb flags for verity/verification on my phone?
Answer: Check @capntrips post here and get the magisk module for this from here. After flashing the magisk module reboot your phone. You can now use the commands from @capntrips post to check.

Question: How do I update my phone to a new monthly update if this kernel is installed?
Answer: The easiest solution is to just use any full firmware package to update your phone to the new stock firmware. You can do so with the android web flash tool, a factory image or a full OTA image.

An excellent guide on how to use the factory image to do so was posted by @roirraW "edor" ehT on this thread. Feel free to use this as a reference.

I also posted what I do each month to update my phone here.

This also serves as the easiest way to return back to stock, if you don´t like the kernel and feel not comfortable flashing anything via fastboot.

Just remember to disable verity/verification vbmeta flags each time you update your phone as described in the next question below.
If you boot once, without them disabled a wipe is required to disable them again.

Question: How do I disable the vbmeta flags for verity/verification?
Answer: The easiest solution is to use the android web flash tool and tick the correct checkbox.
Alternatively extract the vbmeta.img from the matching factory image and flash it in fastboot via:
Code:
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
Please note that disabling those flags will require a full wipe for the device to boot if coming from flags enabled state!
And a further note: You need to repeat this command every time you flash a full firmware zip ( a factory image or a full OTA.zip) to update the firmware of your phone as those contain a vbmeta image. Otherwise the flags will be reset to default enabled and it will require another wipe to disable them again! As with the firmware.zips, you need to tick the checkbox in the webflasher every month you update your phone or flash a firmware there!

Question: How do I return back to stock?
Answer: Extract boot.img, dtbo.img, vendor_kernel_boot.img and vendor_dlkm.img from the matching factory image provided on googles download page.

Before flashing those modules make sure to remove powerhint module called AK3 Helper Module via Magisk Manager!


Flash those images via fastboot/fastbootd and you will be back on stock kernel. If you don't know the fastboot commands to flash the images, check the instructions how to flash those images in post #4.

Starting from Raviantah 2.0.0 it´s only required to flash boot.img, dtbo.img and vendor_kernel_boot.img from original firmware to return back to stock.

Alternatively dirty flash the whole firmware without wiping by using either the android web flash tool, a factory image or a full OTA image. If you disabled the vbmeta flags, don't forget to disable them again (or tick the correct options on the web flash tool) after flashing a full firmware package and re-root.

Kernel flasher has the capability to backup those partitions as well, but if your phone doesn´t boot, because you flashed a kernel for stable firmware on dev preview that backup will not help you.

Question: Does this kernel include a mod similar to the well known KCAL modification?
Answer: No it does not, as KCAL is tapping into a QCOM specific driver and that´s not included in the tensor source as it´s based on exynos.
There´s a very powerful app called CF Lumen from @Chainfire, that serves the same purpose and even includes far more options that were available from kernelspace. Link to the thread here.


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 supported firmware. Usually I'm announcing in the release post, the firmware the kernel.zip is compatible with, but most of the time the kernel is updated when a firmware update drops.
Please make also sure you're running a stock configuration.
That´s means you´re not using any mods, tweaks in kernel managers or other root tweaks , magisk modules, xposed/lsposed etc, 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. (kernel flashing apps usually support exporting logs of flashes too) 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.
I recommend taking a look at this excellent collection of helpful threads from @roirraW "edor" ehT!
It can be found following this link!


Question: I get a device corrupted message after flashing the kernel or just reboot to bootloader. How to get rid of it?
Answer:
There seems to be an issue with verity on Pixel devices that can trigger randomly. That means even if the expected hashes match the device refuses to boot due to this bug.
Short answer, flash magisk patched init_boot.img via fastboot, afterwards flash stock init_boot.img. That should clear this situation.
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
AOSP Build Environment and Standalone Kernel builds (monolithic builds)

I´m sure some of you followed the movement towards the Generic Kernel Image (GKI) and Qcoms adaption to it called QGKI.
You can find more information about GKI following this link.
What does that mean for custom kernels and this custom kernel?
The last few years the kernel on android devices was more or less compiled as a monolith. That means the kernel is in the zImage with all (most) drivers compiled inline.
However with GKI this changed. There´s the base kernel image while vendor/device specific drivers are compiled as dynamically loadable kernel modules.
On last years devices like the Pixel 5 (using a 4.19 kernel) and this years devices with SD888 on a 5.4 kernel base, there was the possibility to change the QGKI kernel back into a monolithic kernel image. (building the drivers that are on stock kernel external modules back into the zImage to end with a monolithic kernel)
On the Pixel 6 I wasn´t able to achieve this yet. Same goes for the Pixel 7. But during my tries I also wondered if maybe finally the time has come to follow suit, instead of trying to enforce old ways, when there´s a new way going forward.
What does that mean. This means that at this point the kernel is shipped as images that are to be flashed via fastboot. At a later stage I´m sure we can modify anykernel3 to allow flashing zips again, but at this early stage fastboot flashable images will be provided.
Those images can be flashed the same way the device is rooted, therefore I think everybody should be able to flash it easily since the device can´t be rooted any other way.

The kernel was compiled using the aosp kernel build environment. Information about it can be found on the documentation page from google.

This kernel needs to be compiled in the aosp kernel build environment just like the stock kernel. All necessary and modified repos are available on my github. Otherwise please refer to the aosp build environment and the instructions there.
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
Fastboot commands:

This serves just as a reference to restore the images via fastboot. This is not to install the kernel.

Flash the images in this order:

Boot to bootloader:
Either select Reboot to bootloader option via magisk manager, use the button combinations or run the following command while in the OS:
or type:
Code:
adb reboot bootloader

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

Now boot to fastbootd
Code:
fastboot reboot fastboot

Once in fastbootd:
Code:
fastboot flash vendor_dlkm vendor_dlkm.img
4. Reboot either via buttons
or by typing
Code:
fastboot reboot
5. Profit!
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
Prebuilts for custom roms.
 

Attachments

  • Kirisakura_Pantah_1.2.4.zip
    688 MB · Views: 355
  • Kirisakura_Pantah_1.3.0.zip
    450.9 MB · Views: 272
  • Kirisakura_Raviantah_1.0.1.zip
    463.1 MB · Views: 106
  • Kirisakura_Raviantah_1.0.2.zip
    486.5 MB · Views: 111
  • Kirisakura_Raviantah_1.0.4.zip
    466.5 MB · Views: 109
  • Kirisakura_Raviantah_1.1.3.zip
    397.2 MB · Views: 114
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
So unfortunately we´re at the moment out of ideas and options for the vbmeta verity/verification disable requirement. @tbalden and me tried a few things and failed with our final idea this morning, which worked on a similar device.

Maybe somebody finds a way so we can actually flash custom images with the avb/vbmeta flags enabled, but at the moment not. I didn´t want to delay the release any further so here we go.

I understand this is a pain for many, but unfortunately that´s how it is now. It was a pain for me too, because on the final test, we really hoped it would work, but we we´re trapped in the wipe ourselves.


Anyway, have fun everyone with the release. It basically includes everything from the Pixel 6 kernel, as they branches are similar. :)
 
Last edited:

Ky0sHiR0

Senior Member
Aug 30, 2013
269
44
@Freak07
Thank You very much for this kernel!
May I ask if this one from CleanSlate is included? How is this works?
VoLTE call properties patched in - no root/magisk needed for non supported carriers/countries and VoLTE calls.
 

Ghisy

Senior Member
Mar 27, 2010
2,256
1,138
HTC Desire
Google Nexus 4
Duuuuude! This kernel sounds amazing. And the Powerhint module? WHAT?!

Probably moving to the 7 Pro this weekend so this is very welcome!

Thanks :)

Edit: I'm a little confused: should we flash the zip as usual through EXKM/Kernel flasher or use the fastboot commands from post #4??

Because the OP also mentions the usual way of flashing...
 
Last edited:

i5lee8bit

Senior Member
Jul 18, 2006
500
1,138
escaped New Jersey 🙏🙌
youtube.com
Duuuuude! This kernel sounds amazing. And the Powerhint module? WHAT?!

Probably moving to the 7 Pro this weekend so this is very welcome!

Thanks :)

Edit: I'm a little confused: should we flash the zip as usual through EXKM/Kernel flasher or use the fastboot commands from post #4??

Because the OP also mentions the usual way of flashing...

I think that was just a copy and paste from the older P6 thread (also now deprecated for that device, from what I understand). Just use EXKM or Kernel Flasher and you'll be good to go!

Edit: and the companion zip in Magisk Manager. Whoops. In other words, you don't need to manually flash each image to install the kernel.
 
Last edited:
  • Like
Reactions: Freak07

rav101

Senior Member
I think that was just a copy and paste from the older P6 thread (also now deprecated for that device, from what I understand). Just use EXKM or Kernel Flasher and you'll be good to go!

Nope,

The powerhint module was never actually depreciated, on P6 he was able to have it included in the kernel zip and it auto-installed into magisk at the same time.

That isn't working here at the moment so you have to manually flash it yourself again
 

Ghisy

Senior Member
Mar 27, 2010
2,256
1,138
HTC Desire
Google Nexus 4
I think that was just a copy and paste from the older P6 thread (also now deprecated for that device, from what I understand). Just use EXKM or Kernel Flasher and you'll be good to go!
Sorry, maybe I wasn't being clear: should I use quote #1 or #2 down there?

How to flash the Kernel:
1a. Make sure you tick all the requirements above

1. Download the kernel.zip (unified for both devices) and the correct powerhint module depending on your device (Pixel 7 = panther || Pixel 7 Pro = cheetah)
2. Flash the powerhint module via magisk manager as you would any other magisk module
3. Flash the kernel.zip via EXKM, FKM or kernel flasher. Root will be preserved.
4. Reboot and profit.

Fastboot commands:


Flash the images in this order:

Boot to bootloader:
Either select Reboot to bootloader option via magisk manager, use the button combinations or run the following command while in the OS:
or type:
Code:
adb reboot bootloader

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

Now boot to fastbootd
Code:
fastboot reboot fastboot

Once in fastbootd:
Code:
fastboot flash vendor_dlkm vendor_dlkm.img
4. Reboot either via buttons
or by typing
Code:
fastboot reboot
5. Profit![/SPOILER]
 

Top Liked Posts

  • There are no posts matching your filters.
  • 17
    Hey everyone,

    2.2.1 is fine to flash on April stable firmware! :)

    I wish everyone a good day!
    15
    Update to Raviantha 2.2.1

    Hey guys and girls,

    Here´s a kernel that fixes the crashes during booting that some seem to experience quite regularly while others not since the March update.

    It´s due to the timing and order of modules being loaded on this kernel vs the stock kernel. Thanks to @Sultanxda´s work we do no longer need to disable the vbmeta flags, because all drivers are built into the zImage and we don´t need to touch vendor_dlkm. This seems to slightly alter the timing/order of the boot process. The issue does not happen on stock, because that issue in the code is "masked" by the kernel being built in a modularized way on the stock kernel.
    However something in the March firmware changed the boot process and triggered this bug now regularly if the kernel is built as a single zImage with all drivers being built into that. Thanks to @Sultanxda for sharing the fix for this issue with me!

    I´ll keep this post and the changelog short because I don´t have much time.



    Since the powerhint module is now unified it makes sense to include it to the kernel.zip. This means there´s no separate zip to flash any longer. After flashing the kernel.zip you´ll see a module called AK3 Helper Module in Magisk Manager. Do not delete this module, it´s crucial for the device to boot/work!

    This means if you want to switch kernels, go back to stock kernel or dirty/flash a new firmware be sure to remove the AK3 Helper Module in Magisk Manager before restoring or flashing another kernel or firmware!
    I also adjusted the FAQ! You have been warned. ;)



    Important:


    Please note that this release is not for the QPR Beta firmware or dev preview, but the stable android 14 firmware!
    Please make use magisk stable if you don´t know your way around bugs and don´t want to actively help debugging magisk development.
    You should download magisk stable only from official magisk release site!

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

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

    I wish everyone a nice day.


    Changelog:

    - Fix reboots during bootup that started happening since March update.



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

    Delete the old powerhint module in Magisk Manager before flashing the new one as the Module ID changes!



    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_kernel_boot.img and vendor_dlkm.img before flashing. 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
    3
    Will this kernel work with custom roms? I'm currently on Matrixx and was curious about custom kernels as well
    First, always read the OP of a thread before asking any questions.

    From the OP

    - this kernel is tested on stock google firmware. If you want to use it on custom roms you´re kind of on your own as I can´t account and give support for any changes custom roms apply that could render the kernel incompatible. (e.g. if you´re custom rom is still on the previous months update, there may be issues flashing an updated kernel for the next month on top or custom roms requiring specific kernel changes to work correctly )
    2
    Most probably yes. There's no source update as far as I can see. :)
    I ended up flashing that newest B1 build and Kirisakura. Things seem OK so far.
    2
    Thanks as always freak. You're an amazing contributior to the community.

    Should we go ahead and use 2.2.1 for April or will you be releasing a new version when you have the time?
    Why would you not use the release he literally said was fine for April? And if he was to release a new one, why can't you install that on top of 2.2.1?
  • 92
    Kirisakura-Kernel for the Pixel 7/Pro

    Hello everyone,

    To keep it short: Here is Kirisakura - Kernel for the Google Pixel 7 Pro aka Cheetah and the Pixel 7 aka Panther, together Pantah.
    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.
    By merging linux-stable regularly we get most security updates months ahead of the stock kernel and also before they even end up in the android security bulletin.


    The kernel includes a lot of improvements and contributions from other developers as well. Without those contributtion this kernel would not exist as it is.
    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 A14 kernel sources from Google, Kernel is made for Android 14 Stable
    - Linux-Stable-Upstream included to 5.10.209
    - Compiled with prebuilt Google clang 18.0.0
    - EEVDF scheduler patches
    - lockless slab shrinker
    - Backport entire RCU subsystem to latest linux
    - 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
    - improve preallocations from maple tree (affects especially android)
    - reduce necessity to rewalk the maple tree
    - Per VMA-locks in conjunction with Maple Tree RCU-Mode (improve app launch time, this feature in general benefits greatly from lazy rcu!)
    - further improve maple tree/per-vma locks introduced in an earlier release
    - Dynamic Energy Models depending on device state
    - make TEO-Cpuidle util-aware (improves latency, performance and decreases energy consumption for certain workloads, more information here)
    - introduce runnable boosting, wire it up with pixel_sched
    - improve CPU throttling behaviour
    - improvements to uclamp, prevent capacity inversion (reduce missed frames)
    - greatly speed up camera launch time!
    - 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 (current state disabled, as google remotely controls the prop)
    - 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
    - restrict maximum CPU-Freqs during screen off/ idle to 1.4GHZ 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 backports from linux-main
    - mm updates from linux-main
    - locking updates frm linux-main
    - improve memory performance by tweaking google´s eh zram implementation
    - fix sysfs endpoint for googles eh zram
    - 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
    - important patches from kernel/common for 5.10 (here are more details)
    - increase priority of GPU work
    - several updates from QPR beta, and a few from Pixel 6 that googles missed to include in the pixel 7 kernel
    - improve thermals
    - change compaction proactiveness based on device state for improveed memory management
    - improve ZRAM usage
    - reduce overhead

    - improve performance and efficiency by properly wiring up pixel_sched with teo util awareness (thanks @ada12 for spotting this!)
    - update to cpuset/cgroup subsystem (speeds up camera launches, device unlocks etc as cpusets are switched on those conditions, patches reduce overhead in those conditions)
    - flashing the kernel will preserve root


    CleanSlate Features
    - 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)
    - Check the CleanSlate thread for more information about those features
    - The CleanSlate thread also contains the apps that allows you to control those features!
    - If you consider those features useful, maybe consider purchasing the apps in the PlayStore or a small donation to @tbalden, he deserves it! Don´t forget to switch to beta channel for those apps, as this is needed for device running A13!


    Various Optimizations:
    - update several drivers to use power efficient workingqueues (for example wlan driver)
    - f2fs: reduce timeout for uncongestion
    - f2fs: Demote GC thread to idle scheduler class
    - f2fs: set ioprio of GC kthread to idle
    - tcp: enable advanced tcp, give user more options for tcp alorithm
    - mm: vmstat: use power efficient workingqueues
    Wakelock Blocker:
    - advanced wakelock blocker with the ability to block kernel wakelocks (dangerous, use with caution, please read this for further info). You should only block kernel wakelocks in case you face uncontrollable scenarios, like company wifi causing a wakelock to be active 100% of the time! Blocking kernel wakelocks to "improve" battery life almost always backfires and causes issues!


    Powerhint Module:
    - restrict little cluster to 1,4ghz mid cluster to 1,4ghz and big cluster to 1,4ghz during screen off, to reduce battery usage for example during music playback
    - only use little cores during screen off/device suspend
    - account for scheduler and other changes done to the kernel
    - boost memory interface controller during interaction (decreased missed frames, improved soc efficiency according to google docs)
    - 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)
    - switch between default and custom idle energy model on device is being interacted with / device idle.
    - reduce missed frames during scrolling/device interaction by adjusting uclamp boosts
    - dynamically adjust target load for memory interface during interaction.
    - remove dynamic GPU policy change as it´s causing instability and is unneeded due to GVFS period
    - implement handling during video recording of CPU like Google did on QPR A13
    - more small improvements

    DOWNLOAD:
    Downloads are attached to the release posts linked below in the changelog section.


    Please note that androidfilehost is currently not working properly.
    Link to AFH:
    Deprecated afh download, still here for old releases:


    Changelog:
    Android 13.0.0 Stable (not QPR beta!)

    1.0.0 Initial Release | Mirror for Download in case AFH is not working
    1.1.0 https://xdaforums.com/t/kernel-24-1...-pixel-7-pro-aka-pantah.4509795/post-87743627
    1.2.0 https://xdaforums.com/t/kernel-18-1...-pixel-7-pro-aka-pantah.4509795/post-87822161
    1.2.1 https://xdaforums.com/t/kernel-06-1...-pixel-7-pro-aka-pantah.4509795/post-87878321
    1.2.2 https://xdaforums.com/t/kernel-19-1...-pixel-7-pro-aka-pantah.4509795/post-87944505
    1.2.3 https://xdaforums.com/t/kernel-04-0...-pixel-7-pro-aka-pantah.4509795/post-87960183
    1.2.4 https://xdaforums.com/t/kernel-07-0...-pixel-7-pro-aka-pantah.4509795/post-88108123
    1.3.0 https://xdaforums.com/t/kernel-07-0...-pixel-7-pro-aka-pantah.4509795/post-88286027
    Raviantah_1.0.0 https://xdaforums.com/t/kernel-14-0...-pixel-7-pro-aka-pantah.4509795/post-88316285
    Raviantah_1.0.1 https://xdaforums.com/t/kernel-21-0...-pixel-7-pro-aka-pantah.4509795/post-88323527
    Raviantah_1.0.2 https://xdaforums.com/t/kernel-23-0...-pixel-7-pro-aka-pantah.4509795/post-88399915
    Raviantah_1.0.4 https://xdaforums.com/t/kernel-11-0...-pixel-7-pro-aka-pantah.4509795/post-88497279
    Raviantah_1.1.0 https://xdaforums.com/t/kernel-04-0...-pixel-7-pro-aka-pantah.4509795/post-88645103
    Raviantah_1.1.2 https://xdaforums.com/t/kernel-14-0...-pixel-7-pro-aka-pantah.4509795/post-88719667
    Raviantah_1.1.3 https://xdaforums.com/t/kernel-06-0...-pixel-7-pro-aka-pantah.4509795/post-88847285
    Raviantah_1.1.4 https://xdaforums.com/t/kernel-08-0...-pixel-7-pro-aka-pantah.4509795/post-88866285
    Raviantah_1.1.5 https://xdaforums.com/t/kernel-12-0...-pixel-7-pro-aka-pantah.4509795/post-89038079
    Raviantah_1.1.6 https://xdaforums.com/t/kernel-23-0...-pixel-7-pro-aka-pantah.4509795/post-89079103
    Raviantah_2.0.0 https://xdaforums.com/t/kernel-03-1...-pixel-7-pro-aka-pantah.4509795/post-89085294
    Raviantah_2.0.2 https://xdaforums.com/t/kernel-06-1...-pixel-7-pro-aka-pantah.4509795/post-89149195
    Raviantah_2.1.0 https://xdaforums.com/t/kernel-08-1...-pixel-7-pro-aka-pantah.4509795/post-89205141
    Raviantah_2.2.0 https://xdaforums.com/t/kernel-07-1...-pixel-7-pro-aka-pantah.4509795/post-89384467
    Raviantah_2.2.1 https://xdaforums.com/t/kernel-06-0...-pixel-7-pro-aka-pantah.4509795/post-89420910



    Requirements

    - vbmeta flags for verity/verification disabled (this requires a wipe if you´re coming from stock with those flags enabled), check the FAQ for information on how to do this -> not required starting from Raviantah 2.0.0
    - 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, use stable in case you want to be absolutely safe)
    - IMPORTANT: Unrelated to the kernel, but update both slots of your phone to A13 before you flash anything to your device!
    - it´s handy to have a backup and a way to return back to stock (check the faq for that)
    - make sure to download the correct kernel version for your firmware. (you can´t flash a kernel made for stable firmware on a QPR beta or dev preview and expect there to be no isses, the release posts mention which firmware the respective kernel releases are compiled for)
    - this kernel is tested on stock google firmware. If you want to use it on custom roms you´re kind of on your own as I can´t account and give support for any changes custom roms apply that could render the kernel incompatible. (e.g. if you´re custom rom is still on the previous months update, there may be issues flashing an updated kernel for the next month on top or custom roms requiring specific kernel changes to work correctly )
    - it´s always best to start on stock images and don´t have another custom kernel flashed when flashing this kernel for the first time. consecutive flashes can just be installed on top, if not I´ll mention it in the release post
    - read the first and second post, there's a lot of valuable information


    How to flash the Kernel:
    1a. Make sure you tick all the requirements above
    1b. Make sure to flash the release made for your firmware! Usually the release post contains information on that

    1. Download the kernel.zip (unified for both devices) and the correct powerhint module depending on your device (Pixel 7 = panther || Pixel 7 Pro = cheetah, starting from raviantah 2.0.0 the module is unified ) no longer necessary since Raviantah 2.0.2
    2. Flash the powerhint module via magisk manager as you would any other magisk module! Make sure to flash the latest one. It will be mentioned in the release post if there´s an update. No longer necessary since Raviantah 2.0.2
    Make sure to remove all previous installed powerhint modules before flashing Raviantah 2.0.2 and later
    3. Flash the kernel.zip via EXKM, FKM or kernel flasher. Root will be preserved.
    4. Reboot and profit.


    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 pixels, avb, hashtree patcher, the counsel and the kernel flasher!
    @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
    51
    Update to 1.2.4

    Hey guys and girls,

    So here´s the next release. February source did basically not contain anything new for this kernel (as all patches were already included since months due to merging linux-stable and kernel/common in advance) except a stability and a security fix for the GPU driver (which is vendor specific so of course not impacted by linux-stable etc).
    Nonetheless this is a very big release with large underlying changes.
    Short explanation follows below.

    Please note that this release is not for the QPR Beta firmware, but the stable android 13 firmware!
    Make sure to update/flash the new powerhint module attached to this post via magisk manager as it´s been updated!

    Maple Tree / Per VMA-locks via Maple Tree in RCU-Mode
    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.
    App launch times in ms for cold launching slack app with and without the Per-VMA lock patchset:
    1675766626796.png


    F2FS block_age-based extent cache
    Latest f2fs-stable update contained an interesting new feature called block_age-based extent cache. It´s another optimization done in hindsight to android needs. It´s always nice to see different OEMs (in this regards xiaomi) cooperating and improving android as a whole and not just keep those patches to themselves. Since it´s pushed to f2fs-stable it will sooner or later (probably rather later as trickling through until it ends up on actual production devices always takes a lot of time) find its way to the majority of android devices.
    The features allows to record data block update frequency of the extent per inode, in order to provide better temperature hints for data block allocation thereby improving the accuracy for data temperature classification and reducing the garbage collection overhead after long-term data updates.

    Memory Interface Controller Boosting
    Boost Memory Interface Controller slightly to a fixed min_freq value during interaction, instead of relying solely on the governor taking the decision as it doesn´t ramp up fast enough during interaction in some cases.
    Research of exynos/tensor characteristic shows that the SOC does not perform optimally when cpu freqs ramp up quickly (during interaction, scrolling, touch the screen) and memory interface controller not following suite quite fast enough. This makes the soc overall perform less efficient. The boost aims to correct this behavior.
    The boost also results in a tiny few less missed frames during interaction as a bonus.


    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.167
    - Backport Maple tree from Linux 6.1
    - Per VMA-locks in conjunction with Maple Tree RCU-Mode (this benefits greatly from lazy rcu!)
    - bump f2fs to latest f2f2 stable state
    - 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)
    - improvements to the scheduler from QPR2 Beta 2 and Beta 3
    - improvements to memory management from QPR2 Beta 2
    - improve ZRAM usage
    - boost memory interface controller during interaction (decreased missed frames, improved soc efficiency according to google docs)
    - import security fixes and performance improvments to camera driver from QPR2 Beta
    - 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 update and keep the powerhint module installed via Magisk Manager!



    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_kernel_boot.img and vendor_dlkm.img before flashing. 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
    49
    Update to 1.2.1

    Hey guys and girls,


    So here´s the next release. As already hinted it includes some of the kernel changes from the QPR2 Beta. Please note the kernel is made for the stable firmware! You need to be on December stable firmware release to be able to install and run this kernel properly!
    Make sure to flash both, the kernel.zip and the powerhint magisk module as both are updated.

    Google did some significant updates in that latest qpr2 update, which is great to see.

    The GPU driver is now based on version r38p1. This fixes several vulnerabilities that made the news recently.

    AOC driver and WiFi driver were also updated and most of those improvements ended up in this kernel release as well.
    There were several improvements to memory management done by google, which should result in improved efficiency, improved reclaim and also reduced jank.
    There are a few other nice patches that should improve performance and generally improve system responsiveness. For specifics please check those on github. :)

    Scheduler patches from linux-main are also included.
    The lazy rcu patchset was updated to the latest state that was also recently merged into the linux kernel. (more info about lazy rcu check here)

    Kernel is now compiled with latest 16.0.2 prebuilt Clang from Google.


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


    I wish everyone a nice day.


    Changelog:

    - Linux-Stable bumped to 5.10.159
    - Bump prebuilt clang to latest 16.0.2 from Google
    - include most of the QPR2 improvements so we can enjoy them ahead of time
    - fixes/improvements to to memory management
    - import all improvments from google QPR2 to powerhint module
    - other fixes please check github



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


    Make sure to update the powerhint module via Magisk Manager!


    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_kernel_boot.img and vendor_dlkm.img before flashing. 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
    43
    Update to Raviantha 1.0.4

    Hey guys and girls,


    So here´s the next release for stable May firmware! (although technically it should still work on April as there were no changes that weren´t already present.)
    This release is not including the bigger changes I was alluding to during my last post in this thread, but it still includes some big improvements that warrant a new release. :)
    More information below.



    Important:

    Make sure to flash the powerhint module attached to this post via magisk manager if you haven´t already done so.
    Please note that this release is not for the QPR Beta firmware or dev preview, but the stable android 13 firmware!
    Please make use magisk stable if you don´t know your way around bugs and don´t want to actively help debugging magisk development.
    You should download magisk stable only from official magisk release site!
    Latest platform tools have issues flashing super.img, please use platform tools 33.0.3 when updating your firmware

    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.179
    - bump clang to 17.0.1 stable
    - bump f2fs-stable to latest
    - loads of improvements, bugfixes etc to memory management from latest linux main
    - improvements to memory management from 6.1 kernel common
    - improvements to MGLRU (check first post for more info about MGLRU)
    - updates/improvements to RCU from latest linux main
    - updates to lazy RCU from latest linux main
    - fixed screen-off max cpufreq restriction (thanks to @elesbb for making me aware)
    - other fixes please check github



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

    Make sure to update and keep the powerhint module installed via Magisk Manager!



    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_kernel_boot.img and vendor_dlkm.img before flashing. 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
    42
    Update to Raviantha 2.0.0

    Hey guys and girls,


    So here´s the next update. It´s for stable Android 14 and it´s a really big update. It contains a lot of the changes I worked on during the previous months and I finally feel they are ready to be pushed.
    I´m short on time so here´s a brief writeup on the changes introduced.

    EEVDF scheduler patches from latest linux are included. Have a read here. You can find more details here and also here. Alternatively use Google, there are a lot of resources. :)
    I tested this for a few months now. Since it´s merged to linux, it will be properly updated and tested for regressions in case there are any. That was what finally pushed me over the edge.
    The powerhint module was reworked. This results in less energy usage for various scenarious, scrolling in apps, watching videos, most games. (thereby also improves thermals within the boundaries of what's achievable on tensor/exynos ) This was achieved by "abusing" the PMU limiting feature from Google and expanding it with a switch that makes it work the opposite. The powerhint module was adjusted for all recent scheduler changes, such as EEVDF patches, scheduler updates from linux and the latest ones from 14 QPR Beta.
    Lockless slab shrinker was backported as well.
    There are a lot of other changes and patchsets for various subsystems, that should be mentioned as well, but I simply lack the time. For RCU, Maple tree, per-VMA locks etc etc.
    You can find them on the changelog and on my git if you´re interested.


    Thanks to @Sultanxda this kernel is now build in a monolithic fashion. That means all drivers are compiled into the zImage. This means no more modules and vendor_dlkm does not need to be modified any longer, which in return means users won´t have to disable the avb flags for veritiy/verification any longer to be able to boot the kernel.
    However there´s something I want to keep everyone in mind. If you currently run with the flags disabled you might want to keep them disabled just like you did over the last months while updating. There´s the slight chance that kernel changes introduced by google in the future, changes to partition layout or undiscovered bugs will screw the monolithic build up. I tested it as best as I could and didn´t find any issues, but that´s just an advice I want to put out.

    There are loads of other changes as well, but I don´t have enough time for a more detailed writeup.



    Please make sure to delete the old module powerhint from magisk manager before flashing the new one.


    Important:


    Make sure to flash the powerhint module attached to this post via magisk manager if you haven´t already done so.
    Please note that this release is not for the QPR Beta firmware or dev preview, but the stable android 14 firmware!
    Please make use magisk stable if you don´t know your way around bugs and don´t want to actively help debugging magisk development.
    You should download magisk stable only from official magisk release site!

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

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

    I wish everyone a nice day.


    Changelog:

    - Update kernel to Android 14
    - Retain all previous features and updates
    - Bump prebuilt clang to 17.0.4
    - Linux-Stable 5.10.197
    - EEVDF scheduler patches from latest linux-kernel
    - kernel is build in a monolithic fashion, thanks to @Sultanxda
    - latest f2fs-stable patches
    - lockless shrinkers
    - loads of improvements from latest linux to mm subsystem
    - latest updates/fixes to maple tree
    - scheduler improvements from latest linux
    - scheduler improvements from QPR 14 beta
    - improvements/fixes to RCU subsystem
    - improvements to QoS from @Sultanxda
    - improved IRQ balancing, thanks to @Sultanxda
    - improvements to GPU driver performance from QPR beta
    - lockless slab shrinker
    - unify powerhint module for panther and cheetah (please delete the old powerhint module before flashing the new one)
    - rework powerhint module to account for all changes
    - rework powerhint module to reduce energy usage
    - more changes please look at my github





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

    Delete the old powerhint module in Magisk Manager before flashing the new one as the Module ID changes!



    If you´re coming from another kernel restore stock boot.img, dtbo.img, vendor_kernel_boot.img and vendor_dlkm.img before flashing. 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