[Kernel][10.06.2022][4.9.317][Android 12]Kirisakura_S 5.1.1 for Pixel 3/XL aka Bluecross

Search This thread

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,655
18,824
Kirisakura-Kernel for the Pixel 3 and Pixel 3 XL

Hello everyone,

To keep it short: Here is Kirisakura - Kernel for the Pixel 3 aka Blueline and the Pixel 3 XL aka Crosshatch, together Bluecross.
I would appreciate if everybody that flashes the kernel, reads at least once through this opening post and the following ones.

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!

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 focus during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.

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.

Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 845 that´s built into Pixel 3 and Pixel 3 XL.
The kernel-bases available on the Codeaurora-Forums, 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 EAS implementation is heavily updated with changes from CAF, kernel/common and other improvements.
To have a read about our scheduler, which is called EAS, take a look here:
https://developer.arm.com/open-source/energy-aware-scheduling



Main Features:
- Based on latest kernel sources from Google, Kernel is made for Android 12 (Android S)!
- Linux-Stable-Upstream included to latest 4.9.317
- compiled with prebuilt Clang 13.0.1 from Google and built with -O3 optimizations
- ZRAM patched up to latest kernel/common state and use ZSTD LZ4 as default compression algorithm to improve memory managment (more info see this post regarding the earlier switch to ZSTD) and this post regarding the switch back to LZ4
- fixes the magisk freezes caused by f2fs-stable
- Safety Net patches are included -> Kernel passes Safety Net
- Wake Gestures from @flar2 included
- Flashing the kernel will keep root!
- Tested to work on custom ROMs

- Flashable via EXKM and FKM on a rooted system!
- AnyKernel3 powered by @osm0sis (big thanks!)

EAS related features:
- EAS implementation patched up to latest CAF state
- Schedutil is patched up with kernel/common and CAF patches to improve performance and efficiency!
- Memory Leaks inside EAS are fixed
- disable autogroups and use cgroups for more efficient task placement!
- Enable sched_min_task_util_for_boost_colocation feature from CAF



CPU related features:
- Power saving workingqueues enabled by default (toggleable in EXKM)
have a read here: https://lwn.net/Articles/731052/
this complements EAS in general
- Change various drivers (WLAN, MM, audio, charger, power, thermal, glink etc) to user power efficient workingqueues. This should work well in conjunction with EAS
- improved Schedutil governor
- Add hold functionality to schedtune CPU boost
- WQ_HIGHPRI for the IO and crypt workqueues (replaces googles approach with a better upstream one)
- cpufreq/times vastly improved

File System related features:
- Include rapid GC by @arter97 ( best thing is to read the commit description linked here. I compared GC on stock google f2fs, upstreamed f2fs and f2fs with rapid GC. Rapid GC is the most effective, followed by upstreamed f2fs.)
- Set the bio REQ_NOENCRYPT flag (When lower layers such as dm-crypt observe the REQ_NOENCRYPT flag, it helps the I/O stack avoid redundant encryption, improving performance and power utilization. )

Usability related features:
- High Brightness Mode for increasing backlight level related to brightness accessible via EXKM app
- High Brightness Mode for just boosting display to max level accessible via EXKM app
- Vibration Intensity adjustable via EXKM app
- Backlight dimmer functionality included (adjustable via EXKM App)

GPU related features:
- KCAL to control the display
- KLAPSE integrated
- KCAL/KLAPSE: changes safety measures -> allow completely disabling two RGB values (this was requested to, for example, only have red values on night dimming)
- Enabled NAP power saving state of Adreno 630
- improve GPU profiling for improved rendering performance (1,2 , 3 )
- Update GPU driver to latest CAF state

Network related features:
- Wireguard Support (Details)

Memory related features:
- Enable Userspace LMK/freak07/Kirisakura_bluecross/commit/aac453635549699c13a84ea1456d5b0e574ef855"]2[/URL])
- Patch up kernel LMK backend (PSI) with kernel common upstream
- ZRAM patched up to latest kernel/common state and ZSTD LZ4 as default algorithm. (information can be found in this post regarding the switch to ZSTD, which is now reverted) and this post regarding the switch back to LZ4
- possibility to use lzo-rle as default ZRAM compression algorithm (more information here and there )
- possibility to use zstd as default ZRAM compression algorithm!
- Speculative Page Faults (1. 2)
- Fix various memory leaks in different subsystems
- Reap memory of a task that receives sigkill
- various other changes from mainline

Sound related features:
- Adjust microphone gain via sound control in EXKM
- Adjust speaker gain via sound control in EXKM

Security related features:
- CFI and LTO both kept intact and are used to keep additional security Google implemented for us!
- Shadow Call Stack
- built with latest clang found on google repo

Misc Features:
IO-Schedulers:
- cfq
- maple
- deadline
- noop
- tripndroid
- fiops

TCP Congestion Algorithms:
- advanced algorithms enabled
- includes new bbr and sociopath tcps

Wakelock Blocker:
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read this for further info


Other features:
- enable some additional Sony and XBox controllers
- add support for steam and nintendo switch controller
- patches to loop device, xfrm and usb gagdet
- disable logging to make the kernel more lightweight in various places
- add support so you can enable faster charging for non pixel wireless charging stands (use at your own risk, disabled by default, how to enable here)


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


Requirements

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


How to flash the Kernel:

1. Download the kernel.zip to your device. Make sure your device is rooted properly, with the magisk version suiting your current firmware version.

1a. Optional: While it may not be necessary all times, you may want to restore stock boot.img, reroot with magisk and optionally install twrp.zip if coming from another kernel. Before reporting issues make sure you do that! Thank you!

2. Flash the kernel.zip via either a kernel manager app capable of flashing kernels or TWRP if available. Make sure whatever method/app you decide to use, supports your current Android Firmware. Apps/Recoveries need to be possibly updated for firmware updates!
It´s your job to ensure compatability.
Flashing the kernel will preserve root.

3. Reboot and profit! Before reporting any issues make sure to read the Release-Post of Bluecross_Q_Release_1.0.0!



DOWNLOAD:
Download is located in these respective folders:
Android 9:
Android 10/11:
Android 12:


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


Changelog:

Android 9 / Pie Kernels
1.0.0 Initial Release
1.5.0 https://forum.xda-developers.com/showpost.php?p=78151322&postcount=81
1.5.1 https://forum.xda-developers.com/showpost.php?p=78154423&postcount=112
1.7.0 https://forum.xda-developers.com/showpost.php?p=78196945&postcount=190
1.7.1 https://forum.xda-developers.com/showpost.php?p=78220526&postcount=227
1.7.2 https://forum.xda-developers.com/showpost.php?p=78221906&postcount=228
1.8.0 https://forum.xda-developers.com/showpost.php?p=78249473&postcount=267
1.8.1 https://forum.xda-developers.com/showpost.php?p=78280355&postcount=285
1.8.2 https://forum.xda-developers.com/showpost.php?p=78316038&postcount=345
1.8.3 https://forum.xda-developers.com/showpost.php?p=78330435&postcount=389
1.8.4 https://forum.xda-developers.com/showpost.php?p=78364541&postcount=451
1.8.5 https://forum.xda-developers.com/showpost.php?p=78377334&postcount=481
1.8.6 https://forum.xda-developers.com/showpost.php?p=78396058&postcount=538
1.8.7 https://forum.xda-developers.com/showpost.php?p=78420137&postcount=591
1.8.8 https://forum.xda-developers.com/showpost.php?p=78449511&postcount=621
1.8.9 https://forum.xda-developers.com/showpost.php?p=78496196&postcount=654
1.9.0 https://forum.xda-developers.com/showpost.php?p=78564181&postcount=701
1.9.1 https://forum.xda-developers.com/showpost.php?p=78637123&postcount=758
1.9.2 https://forum.xda-developers.com/showpost.php?p=78672005&postcount=775
Milestone 2.0.0 https://forum.xda-developers.com/showpost.php?p=78689028&postcount=782
2.0.2 https://forum.xda-developers.com/showpost.php?p=78761004&postcount=853
2.0.3 https://forum.xda-developers.com/showpost.php?p=78767857&postcount=867
2.0.4 https://forum.xda-developers.com/showpost.php?p=78805387&postcount=896
2.0.5 https://forum.xda-developers.com/showpost.php?p=78838240&postcount=928
2.0.6 https://forum.xda-developers.com/showpost.php?p=78840488&postcount=936
2.0.7 https://forum.xda-developers.com/showpost.php?p=78851682&postcount=953
2.0.8 https://forum.xda-developers.com/showpost.php?p=78898745&postcount=981
2.0.9 https://forum.xda-developers.com/showpost.php?p=78913421&postcount=991
2.0.10 https://forum.xda-developers.com/showpost.php?p=78950068&postcount=1007
2.0.11 https://forum.xda-developers.com/showpost.php?p=78975193&postcount=1025
2.0.12 https://forum.xda-developers.com/showpost.php?p=79009799&postcount=1041
2.0.13 https://forum.xda-developers.com/showpost.php?p=79043694&postcount=1067
2.0.14 https://forum.xda-developers.com/showpost.php?p=79050238&postcount=1103
2.1.0 https://forum.xda-developers.com/showpost.php?p=79136483&postcount=1182
2.1.1 https://forum.xda-developers.com/showpost.php?p=79159209&postcount=1221
2.1.2 https://forum.xda-developers.com/showpost.php?p=79190516&postcount=1261
2.1.3 https://forum.xda-developers.com/showpost.php?p=79214430&postcount=1279
2.2.0 https://forum.xda-developers.com/showpost.php?p=79291045&postcount=1372
2.2.1 https://forum.xda-developers.com/showpost.php?p=79332619&postcount=1452
2.2.2 https://forum.xda-developers.com/showpost.php?p=79425173&postcount=1531
2.3.0 https://forum.xda-developers.com/showpost.php?p=79463560&postcount=1569
2.4.0 + 2.4.1 https://forum.xda-developers.com/showpost.php?p=79505198&postcount=1623
3.0.0 https://forum.xda-developers.com/showpost.php?p=79533358&postcount=1641
3.1.0 https://forum.xda-developers.com/showpost.php?p=79570912&postcount=1685
3.1.1 https://forum.xda-developers.com/showpost.php?p=79575209&postcount=1698
3.1.2 https://forum.xda-developers.com/showpost.php?p=79578541&postcount=1722
3.1.3 https://forum.xda-developers.com/showpost.php?p=79612212&postcount=1743
3.2.0 https://forum.xda-developers.com/showpost.php?p=79658098&postcount=1774
3.3.0 https://forum.xda-developers.com/showpost.php?p=79696166&postcount=1807
3.3.1 https://forum.xda-developers.com/showpost.php?p=79736674&postcount=1829
3.3.4 https://forum.xda-developers.com/showpost.php?p=79791144&postcount=1857
3.4.0 https://forum.xda-developers.com/showpost.php?p=79919877&postcount=1929
3.4.5 https://forum.xda-developers.com/showpost.php?p=80023518&postcount=2064
Legacy Downloads for Pie Kernels: https://www.androidfilehost.com/?w=files&flid=285183

Android 10/ Q Kernels
1.0.0 https://forum.xda-developers.com/showpost.php?p=80269185&postcount=2132
1.1.3 https://forum.xda-developers.com/showpost.php?p=80324259&postcount=2199
1.2.0 https://forum.xda-developers.com/showpost.php?p=80533347&postcount=2291
1.2.2 https://forum.xda-developers.com/showpost.php?p=80809357&postcount=2325
1.3.0 https://forum.xda-developers.com/showpost.php?p=81115229&postcount=2451
1.4.0 https://forum.xda-developers.com/showpost.php?p=81418351&postcount=2519
1.4.1 https://forum.xda-developers.com/showpost.php?p=81421719&postcount=2529
1.5.0 https://forum.xda-developers.com/showpost.php?p=81684289&postcount=2582
1.5.1 https://forum.xda-developers.com/showpost.php?p=81947785&postcount=2607
1.5.2 https://forum.xda-developers.com/showpost.php?p=82213193&postcount=2635
1.5.3 https://forum.xda-developers.com/showpost.php?p=82484463&postcount=2642
1.5.4 https://forum.xda-developers.com/showpost.php?p=82742517&postcount=2688
1.5.5 https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-84424203

Android 11
2.0.0_R https://forum.xda-developers.com/showpost.php?p=83554503&postcount=2753
2.1.0_R https://forum.xda-developers.com/showpost.php?p=83649655&postcount=2808
3.0.2_R https://forum.xda-developers.com/showpost.php?p=84007163&postcount=2906
3.0.4_R https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-84230135
3.0.5_R https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-84605183
3.0.6_R https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-84812093
3.0.7_R https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-84975703
3.0.8_R https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-85166867
3.0.9_R https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-85298651
3.1.0_R https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-85432093

Android 12
4.0.0_S https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-85808391
4.1.0_S https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-86249089
5.0.0_S https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-86413291
5.1.0_S https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-86541411
5.1.1_S https://forum.xda-developers.com/t/...ixel-3-xl-aka-bluecross.3864563/post-87007931

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

Credits:

@osm0sis for all his work, including the ak3 installer!
@tbalden for being the best HTC wingman!
@LeeDroid for his awesome roms!
@Captain_Throwback for all the mentoring and guidance!
@Eliminater74 for bringing me into the game and the Inspiration
@nathanchance for his upstream guidance and assistance
@RenderBroken for helping me out
@flar2 for all his work
@joshuous for all the help he provided to me in the past!
@topjohnwu for magisk!
@Sultanxda for all of his work!

Contributors
Freak07
Source Code: https://github.com/freak07/Kirisakura_bluecross/
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,655
18,824
FAQ


Important: What to do if you face issues on Android 10/Q

You might face issues on Android 10 like non working sensors, edge sense not working properly or similar things.
Here´s a thread that has more info about it: https://forum.xda-developers.com/pixel-3-xl/how-to/android-10-sensors-bug-t3964904

This also caused seemingly in a random fashion issues with magisk modules not unpacking properly when you flash them via magisk manager.

I recommend everybody who faces symptoms of random issues, which they cannot explain, to completely nuke their device and flash a factory image with -w intact, as to complete set up the device from scratch.
This will wipe your whole phone, so backup videos, photos, music, apps and other stuff you don´t want to lose!
@jcmm11 and me were hunting this magisk bug for a week and it turned out it´s connected to the above mentioned issue, although it gets more prominent by the latest CAF - EAS changes, which are merged in my kernel. Probably due to the way tasks get handled a bit differently.
Please everybody keep this in mind, before reporting back.

Question: Upon flashing the kernel zip I got a message that there is an error with ramdisk. What to do?
Answer:
Procedure to fix the ramdisk issue:

The ramdisk error is now fixed. Please take a look at this post from @osm0sis for more information:

Big thanks to @osm0sis and @topjohnwu for everything at this point here! And everyone else that helped in the process!

Important:

What do you have to do to get finally rid of the ramdisk error?

1. Flash back a stock clean boot.img either for stock rom or the custom rom you´re on. (not a backup from some time ago, a clean stock boot.img)
Link to stock boot.img from Google´s december factory image for convenience
2. REDOWNLOAD(!) either magisk 18.0 or the latest canary directly from magisk manager and delete all old magisk zips on your device. (this is really important!)
3. Optional: Reinstall twrp.zip if you want to.
4. Flash the redownloaded magisk zip in TWRP
5. Flash my kernel either via TWRP, EXKM App or FKM App
6. Profit



Question: Is root preserved when flashing this kernel?
Answer: My kernel.zip keeps a device rooted by magisk rooted.

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

If the device force reboots/randomly reboots (that means you see the bootloader unlocked screen!) provide a ramoops file.
Easiest way is immediately after booting up, with a root explorer navigate to sys/fs/pstore. Copy the contents to your internal storage, zip it up and send it to me.

If the issue happens while the device is running provide a dmesg plus a logcat that you take while/shortly after the issue happens. This will log what´s running in the current session. Try to be as detailed as possible what´s happening when the issue appears. It will also help me in reading the log!

To easily get a logcat in case of a crash take a look at this post:
https://forum.xda-developers.com/showpost.php?p=79462002&postcount=1566
Big thanks to @jcmm11 for it

Here´s a tasker task to automatically copy /sys/fs/pstore on each boot to internal storage. Be advised these files get also created on correct reboots.
https://forum.xda-developers.com/showpost.php?p=79549126&postcount=1670
thanks @jsauder2 for this little trick
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,655
18,824
Last edited:

old_fart

Senior Member
Dec 8, 2011
1,394
359
it never rains here
RE: " - Flashing the kernel will keep root ! "
Who had done the steps and ( then the pixel ) lived to see to see another happy day ?
( assuming magisk ( root ) is installed and and has been happy for days... )
turn security pin off, fastboot twrp_323 image, twrp the kernel zip, twrp the twrp_323 zip, reboot back into twrp, wipe the cache to see that the finger presses workie, boot to system, re-verify root is okay, buy the man a beer...
 

Komodoketavaran

Senior Member
Oct 20, 2013
497
132
May I ask if you could add zram zstd from Pixel 2 XL ? It is a BIG improvement for ram management.

Gesendet von meinem Pixel 3 XL mit Tapatalk
 
  • Like
Reactions: MArtyChubbs

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,655
18,824
RE: " - Flashing the kernel will keep root ! "
Who had done the steps and ( then the pixel ) lived to see to see another happy day ?
( assuming magisk ( root ) is installed and and has been happy for days... )
turn security pin off, fastboot twrp_323 image, twrp the kernel zip, twrp the twrp_323 zip, reboot back into twrp, wipe the cache to see that the finger presses workie, boot to system, re-verify root is okay, buy the man a beer...

yeah it works :) I tested it.

In theory you can flash the kernel "on the go" without a computer and keep root via franco kernel manager. which is pretty handy.

although I only recommend to tinker with pixel phones when a computer is nearby and available. :good:
 
  • Like
Reactions: Bryanx86

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
5,655
18,824
May I ask if you could add zram zstd from Pixel 2 XL ? It is a BIG improvement for ram management.

Gesendet von meinem Pixel 3 XL mit Tapatalk

yes that´s one of the things I definitely wanted to try in the nearby future. it was my kernel that firstly introduced it on the pixel 2 xl ;) but memory managment on my unit is not as bad as I saw in some reviews/videos.

Additionally I think the underlying cause, when Pixel 3 cannot hold more than 3 apps in background is a bit different than pixel 2 xl "just having 4gb of ram".
But I´m sure there is room for improvement. Just wanted to use the phone as it is to get a baseline of how it works before I start modifying all sort of stuff.
 

Semtronix

Senior Member
Jul 10, 2013
182
130
Torrington, CT
yeah it works :) I tested it.

In theory you can flash the kernel "on the go" without a computer and keep root via franco kernel manager. which is pretty handy.

although I only recommend to tinker with pixel phones when a computer is nearby and available. :good:

Can confirm it's working. I flashed with FK Kernel Manager. Root still intact, Magisk and all still installed.
 

c_86

Senior Member
Jul 16, 2011
3,115
790
Canada
www.cmsrm.com
Google Pixel 6 Pro
Worked for me to flash try exkm

Root remainder. Was hoping the kernel would fix an issue with magisk not passing safety net whenever hit the check safety net. It asks me to download. I hit yes and then it fails immediately was like this on stock as well
 

Komodoketavaran

Senior Member
Oct 20, 2013
497
132
That would be great. It is very bad on my unit.
On my P2XL there are nearly no redraws with your kernel :D
yes that´s one of the things I definitely wanted to try in the nearby future. it was my kernel that firstly introduced it on the pixel 2 xl ;) but memory managment on my unit is not as bad as I saw in some reviews/videos.

Additionally I think the underlying cause, when Pixel 3 cannot hold more than 3 apps in background is a bit different than pixel 2 xl "just having 4gb of ram".
But I´m sure there is room for improvement. Just wanted to use the phone as it is to get a baseline of how it works before I start modifying all sort of stuff.

Gesendet von meinem Pixel 3 XL mit Tapatalk
 

Daisymae

Senior Member
Mar 4, 2014
382
53
Google Pixel 3 XL
OnePlus 8 Pro
RE: " - Flashing the kernel will keep root ! "
Who had done the steps and ( then the pixel ) lived to see to see another happy day ?
( assuming magisk ( root ) is installed and and has been happy for days... )
turn security pin off, fastboot twrp_323 image, twrp the kernel zip, twrp the twrp_323 zip, reboot back into twrp, wipe the cache to see that the finger presses workie, boot to system, re-verify root is okay, buy the man a beer...
When I followed those steps my phone would only boot straight to twrp with no touch. Had to flash factory boot.img to get it back.
 

Top Liked Posts