• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Development [KERNEL] [blu_spark r45] [A12]

Search This thread

eng.stk

Senior Member
Mar 29, 2011
6,996
59,893
OnePlus 5T
OnePlus 6
DWHxIK

Kernel features: (WIP)
  • Build with Google Clang version 12.0.5 + LLD linker
  • Full -O2 build with device and target flags enhanced, build improvements and compiler fixes, etc
  • Less is more: stockish builds based on Google latest sourcedrop for max stability (android-gs-raviole-5.10-android12-qpr1-d)
  • Full kernel tree with OEM integrated drivers, for minimal build overhead and fast deploy
  • Systemless installer (doesn't touch system/vendor partition, OTA friendly), AnyKernel3 backend (compatible with autoflash apps)
  • Removed some debug and logging options
  • Misc ARM performance and battery patches
  • CVE security patches, general upstream and fixes for important subsystems when applicable
  • No OC, use 250HZ base timer frequency
  • Enhanced TCP methods (westwood is default, BBR and others available)
  • Some I/O control tweaks, advanced filesystems enabled (F2FS, ExFAT, NTFS, CIFS & NFS)
  • ZRAM set at 4G (default lz77eh with lzo-rle, zstd, etc available)
  • Vibrator Strength tunable and Gesture Haptic Feedback control (touchpanel and FPR)
  • Gamepad support enabled (xbox, ps4, switch)
  • USB2 Fast Charge (force USB CDP mode up to 1500mA with MTP on)
  • Wakelock blockers available
  • TWRP Support(LZMA/LZ4 Ramdisk)
  • Wireguard updates
  • Compatible with EXKM, FKM , Kernel Adiutor and others


DOWNLOAD KERNEL ZIP
FKM download configs: HERE
(No mirrors please)​


Setup and troubleshoot: To install just flash the zip on a stock setup with either TWRP or autoflash kernel app.
If you come from other kernel or have any issues, you should restore your stock setup or dirty flash your ROM before flashing blu_spark zip to avoid problems. Also uninstall or clean data of any kernel control app you're using.
If you are upgrading between blu_spark versions, just flash the kernel zip.

About bugs and reports: don't bother to post if a log isn't ready or without steps so the behavior can be replicated. I only active support stock ROM with NO mods whatsoever (apart from root). That includes NO support if using xposed, Magisk with added modules, etc.
If you're using custom ROMs (including stock based ones) you're much on your own. I'm mostly interested on debugging stuff in stock and stable ROM.
Also try not to spam the thread with OT. There's threads for all kind of stuff, use them.

Going back to stock: This kernel installer doesn't change your filesystem. You can backup your boot.img/vendor_boot.img/vendor_dlkm.img with TWRP or kernel app before flashing blu_spark if you want to go back to full stock. You can also flash boot.img/vendor_boot.img in fastboot and vendor_dlkm.img in fastbootd from you stock ROM. Or just dirty flash your full OTA ROM zip.


Source Code: https://github.com/engstk/pxl6
Don't forget to hit thanks, it's free ;)
 
Last edited:

eng.stk

Senior Member
Mar 29, 2011
6,996
59,893
OnePlus 5T
OnePlus 6
blu_spark_r29 (A12)

So here's blu_spark for the oriole (and probably raven ;p)

Been cracking around on this since I got the device a couple weeks ago.
The new GKI kernel stuff(which imo will kill custom kerneling in the future) and the "let's use 10GB of garbage device tree to build a kernel" is not really for me.
So I decided to put on an full tree with all the vendor stuff on it, with less that 5% of what Google proposes we can play with the device just fine.

My primary objective was also to make a full builtin kernel, but seems like init expects modules and other stuff to be in place so it's a no go, at least for now (maybe with some further init stages crack it's possible, idk)
So kernel output is splitted across boot.img, vendor_boot.img and vendor_dlkm.img.

I also take the time to make AK3 basic hdr v4 compliant (big shouts to @osm0sis for being the best wingman, as always). Because fastboot is tedious and since it's 2021 there's no room for that in my builds.
You can flash the AK3 kernel zip in your favorite kernel app with autoflash functions or with TWRP when/if available. If you want/need to go stock again, instructions are on OP.
Besides Pixel 6, this should work on Pro also, but I can only test on Oriole, let me know how it goes on Raven if you're brave enough.

You can use FKM download kernel feature, just import the link bellow in the app flash section.
FKM download config: HERE


Changelog:
  • Build with Google Clang 12.0.5 + LLD linker
  • Full kernel based from kernel/gs+google-modules @ android-gs-raviole-5.10-android12-d1 (android-12.0.0_r0.17) (Nov 2021.1)
  • Several build fixes and improvements (check git for details)
  • drivers: google-modules: make it build and additional fixes, remove cruft
  • Disable some debug and logging
  • FS and F2FS improvements
  • Enable advanced TCP congestion control (westwood default)
  • Add wakelock blocker framework
  • Tuned a couple IO and ZRAM runtime stuff
  • AK3 updates (v20211118) plus my own additional fixes for hdrv4 flashing (big shouts @osm0sis for the help)
  • For root, canary Magisk 23015 or newer is mandatory


Keep in mind: I will give no active support for custom ROMs (including stock based ones).
I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


No mirrors please
Don't forget to hit thanks, it's free :)
 
Last edited:

cultofluna

Senior Member
Nov 25, 2015
3,933
1,978
OnePlus 9 Pro
Google Pixel 6 Pro
DWHxIK

Kernel features: (WIP)
  • Build with Google Clang version 12.0.5 + LLD linker
  • Full -O2 build with device and target flags enhanced, build improvements and compiler fixes, etc
  • Less is more: stockish builds based on Google latest sourcedrop for max stability (android-gs-raviole-5.10-android12-d1)
  • Full kernel tree with OEM integrated drivers, for minimal build overhead and fast deploy
  • Systemless installer (doesn't touch system/vendor partition, OTA friendly), AnyKernel3 backend (compatible with autoflash apps)
  • Removed some debug and logging options
  • Misc ARM performance and battery patches
  • CVE security patches, general upstream and fixes for important subsystems when applicable
  • No OC, use 250HZ base timer frequency
  • Enhanced TCP methods (westwood is default, BBR and others available)
  • Some I/O control tweaks, advanced filesystems enabled (F2FS, ExFAT, NTFS, CIFS & NFS)
  • ZRAM set at 4G (default lz77eh with lzo-rle, zstd, etc available)
  • Vibrator Strength tunable and Gesture Haptic Feedback control (touchpanel and FPR)
  • Gamepad support enabled (xbox, ps4, switch)
  • USB2 Fast Charge (USB mode up to 900mA with MTP on)
  • Wakelock blockers available
  • TWRP Support(LZMA/LZ4 Ramdisk)
  • Compatible with EXKM, FKM , Kernel Adiutor and others


DOWNLOAD KERNEL ZIP
FKM download configs: HERE
(No mirrors please)​


Setup and troubleshoot: To install just flash the zip on a stock setup with either TWRP or autoflash kernel app.
If you come from other kernel or have any issues, you should restore your stock setup or dirty flash your ROM before flashing blu_spark zip to avoid problems. Also uninstall or clean data of any kernel control app you're using.
If you are upgrading between blu_spark versions, just flash the kernel zip.

About bugs and reports: don't bother to post if a log isn't ready or without steps so the behavior can be replicated. I only active support stock ROM with NO mods whatsoever (apart from root). That includes NO support if using xposed, Magisk with added modules, etc.
If you're using custom ROMs (including stock based ones) you're much on your own. I'm mostly interested on debugging stuff in stock and stable ROM.
Also try not to spam the thread with OT. There's threads for all kind of stuff, use them.

Going back to stock: This kernel installer doesn't change your filesystem. You can backup your boot.img/vendor_boot.img/vendor_dlkm.img with TWRP or kernel app before flashing blu_spark if you want to go back to full stock. You can also flash boot.img/vendor_boot.img in fastboot and vendor_dlkm.img in fastbootd from you stock ROM. Or just dirty flash your full OTA ROM zip.


Source Code: https://github.com/engstk/pxl6
Don't forget to hit thanks, it's free ;)
Thanks for kernel...
To go back to stock all three images ( boot, dtbo, vendor dlkm) can be flsahed through EX kernel manager actually....
 

arvylas

Senior Member
blu_spark_r29 (A12)

So here's blu_spark for the oriole (and probably raven ;p)

Been cracking around on this since I got the device a couple weeks ago.
The new GKI kernel stuff(which imo will kill custom kerneling in the future) and the "let's use 10GB of garbage device tree to build a kernel" is not really for me.
So I decided to put on an full tree with all the vendor stuff on it, with less that 5% of what Google proposes we can play with the device just fine.
Is this the reason there aren't many custom kernels up until now? I thought the GKI would make things easier at least after some time that devs get more accustomed with it.

Btw nice to see you here I was running your kernel for the past few months on op8pro.
 
  • Like
Reactions: kevp75 and eng.stk

eng.stk

Senior Member
Mar 29, 2011
6,996
59,893
OnePlus 5T
OnePlus 6
Is this the reason there aren't many custom kernels up until now? I thought the GKI would make things easier at least after some time that devs get more accustomed with it.

Btw nice to see you here I was running your kernel for the past few months on op8pro.
Well GKI is for getting vendor/oem life easier the way updates are maintained.
Actually the choices the big G has made over time complicate the aftermarket tinkering.
They are making thinks too convoluted for instance, keeping source scattered all over the place creating artificial dependencies, using a build backend full of unneeded junk, output goes in random places just because, images full of junk with multi-ramdisks and padding with weird layouts, etc.
They started complicating ROM stuff, partitions, etc. Then they went after gapps and root. Now it's kernel.
Android is becoming ChromeOS imo.
Doesn't mean things can't be modded, just the way they are going is deterring to do it.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 14
    blu_spark_r45 (A12)

    New build is up!

    Build is unified for raviole, should work both on Pixel 6 (tested) and Pro variant.
    You can use FKM download kernel feature, just import the link bellow in the app flash section.
    FKM download config: HERE


    Changelog:
    • Merge branch android-gs-raviole-5.10-android12-qpr1-d (android-12.0.0_r0.36) (Jan 2022.1)
    • Rebase and cleanup
    • Wireguard updates (linux-5.10.y)
    • For root, Magisk 23016 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit thanks, it's free :)
    5
    I jumped on this bandwagon with blu_spark on ProtonAOSP, I couldn't be happier. Kudos! 😎
    @kdrag0n does an excelent job indeed 👍
    5
    Haptic Feedback control/strength? :D I was using my Pixel 4a for a bit and was really surprised by how much weaker the Haptic Feedback is on the 6 by default.

    Btw I think its funny how everyone still says " hit Thanks on my post" but its "Like" now, since XDA changed their forums a while ago.
    Eventually, I'm actually quite satisfied with the 3 levels provided by userspace, so it's not urgent for me.
    I like the 4a a lot, hated the haptics. It's like an earthquake no matter what is signaling, absolute garbage.

    Well most of us maybe don't care about the social networking crap every service try to inject on people.
    Maybe that's why people leech on the goods but forget to hit the button nowadays...
    3
    Another ProtonAOSP and BluSpark user. It's the perfect combo. I've never experienced a phone this quick 🤠
    Just wanted to inform everyone, this kernel is working great on ProtonAOSP
    I jumped on this bandwagon with blu_spark on ProtonAOSP, I couldn't be happier. Kudos! 😎
    3
    Just wanted to inform everyone, this kernel is working great on ProtonAOSP
  • 42
    DWHxIK

    Kernel features: (WIP)
    • Build with Google Clang version 12.0.5 + LLD linker
    • Full -O2 build with device and target flags enhanced, build improvements and compiler fixes, etc
    • Less is more: stockish builds based on Google latest sourcedrop for max stability (android-gs-raviole-5.10-android12-qpr1-d)
    • Full kernel tree with OEM integrated drivers, for minimal build overhead and fast deploy
    • Systemless installer (doesn't touch system/vendor partition, OTA friendly), AnyKernel3 backend (compatible with autoflash apps)
    • Removed some debug and logging options
    • Misc ARM performance and battery patches
    • CVE security patches, general upstream and fixes for important subsystems when applicable
    • No OC, use 250HZ base timer frequency
    • Enhanced TCP methods (westwood is default, BBR and others available)
    • Some I/O control tweaks, advanced filesystems enabled (F2FS, ExFAT, NTFS, CIFS & NFS)
    • ZRAM set at 4G (default lz77eh with lzo-rle, zstd, etc available)
    • Vibrator Strength tunable and Gesture Haptic Feedback control (touchpanel and FPR)
    • Gamepad support enabled (xbox, ps4, switch)
    • USB2 Fast Charge (force USB CDP mode up to 1500mA with MTP on)
    • Wakelock blockers available
    • TWRP Support(LZMA/LZ4 Ramdisk)
    • Wireguard updates
    • Compatible with EXKM, FKM , Kernel Adiutor and others


    DOWNLOAD KERNEL ZIP
    FKM download configs: HERE
    (No mirrors please)​


    Setup and troubleshoot: To install just flash the zip on a stock setup with either TWRP or autoflash kernel app.
    If you come from other kernel or have any issues, you should restore your stock setup or dirty flash your ROM before flashing blu_spark zip to avoid problems. Also uninstall or clean data of any kernel control app you're using.
    If you are upgrading between blu_spark versions, just flash the kernel zip.

    About bugs and reports: don't bother to post if a log isn't ready or without steps so the behavior can be replicated. I only active support stock ROM with NO mods whatsoever (apart from root). That includes NO support if using xposed, Magisk with added modules, etc.
    If you're using custom ROMs (including stock based ones) you're much on your own. I'm mostly interested on debugging stuff in stock and stable ROM.
    Also try not to spam the thread with OT. There's threads for all kind of stuff, use them.

    Going back to stock: This kernel installer doesn't change your filesystem. You can backup your boot.img/vendor_boot.img/vendor_dlkm.img with TWRP or kernel app before flashing blu_spark if you want to go back to full stock. You can also flash boot.img/vendor_boot.img in fastboot and vendor_dlkm.img in fastbootd from you stock ROM. Or just dirty flash your full OTA ROM zip.


    Source Code: https://github.com/engstk/pxl6
    Don't forget to hit thanks, it's free ;)
    26
    blu_spark_r29 (A12)

    So here's blu_spark for the oriole (and probably raven ;p)

    Been cracking around on this since I got the device a couple weeks ago.
    The new GKI kernel stuff(which imo will kill custom kerneling in the future) and the "let's use 10GB of garbage device tree to build a kernel" is not really for me.
    So I decided to put on an full tree with all the vendor stuff on it, with less that 5% of what Google proposes we can play with the device just fine.

    My primary objective was also to make a full builtin kernel, but seems like init expects modules and other stuff to be in place so it's a no go, at least for now (maybe with some further init stages crack it's possible, idk)
    So kernel output is splitted across boot.img, vendor_boot.img and vendor_dlkm.img.

    I also take the time to make AK3 basic hdr v4 compliant (big shouts to @osm0sis for being the best wingman, as always). Because fastboot is tedious and since it's 2021 there's no room for that in my builds.
    You can flash the AK3 kernel zip in your favorite kernel app with autoflash functions or with TWRP when/if available. If you want/need to go stock again, instructions are on OP.
    Besides Pixel 6, this should work on Pro also, but I can only test on Oriole, let me know how it goes on Raven if you're brave enough.

    You can use FKM download kernel feature, just import the link bellow in the app flash section.
    FKM download config: HERE


    Changelog:
    • Build with Google Clang 12.0.5 + LLD linker
    • Full kernel based from kernel/gs+google-modules @ android-gs-raviole-5.10-android12-d1 (android-12.0.0_r0.17) (Nov 2021.1)
    • Several build fixes and improvements (check git for details)
    • drivers: google-modules: make it build and additional fixes, remove cruft
    • Disable some debug and logging
    • FS and F2FS improvements
    • Enable advanced TCP congestion control (westwood default)
    • Add wakelock blocker framework
    • Tuned a couple IO and ZRAM runtime stuff
    • AK3 updates (v20211118) plus my own additional fixes for hdrv4 flashing (big shouts @osm0sis for the help)
    • For root, canary Magisk 23015 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit thanks, it's free :)
    14
    blu_spark_r45 (A12)

    New build is up!

    Build is unified for raviole, should work both on Pixel 6 (tested) and Pro variant.
    You can use FKM download kernel feature, just import the link bellow in the app flash section.
    FKM download config: HERE


    Changelog:
    • Merge branch android-gs-raviole-5.10-android12-qpr1-d (android-12.0.0_r0.36) (Jan 2022.1)
    • Rebase and cleanup
    • Wireguard updates (linux-5.10.y)
    • For root, Magisk 23016 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit thanks, it's free :)
    12
    blu_spark_r35 (A12)

    New build is up!

    Added USB fast charge (forces CDP mode for wonky usb controllers that don't advertise modes properly or at all).
    I normally find it useful for mainboards that have ports capable of 900/1200mA/1500mA and fail to advertise CDP compliance (1500mA per spec).
    Keep in mind that, despite some protections that should be in place, like everything else that uses electricity, damage can happen.
    It's disabled by default, use with caution. If your cat get's on fire, you're on your own.

    Build is unified for raviole, should work both on Pixel 6 and Pro variant.
    You can use FKM download kernel feature, just import the link bellow in the app flash section.
    FKM download config: HERE


    Changelog:
    • makefile: disable some clang12 spam
    • drivers: misc: power: implement usb fast charge mode
    • disable module force (we build full images)
    • adjust cmdline for faster boot
    • enable rd_lzma (for twrp eventually if needed)
    • defconfig: regenerate and sync, remove some cruft
    • AnyKernel3 updates (v20211207)
    • Couple init runtime adjusts to better UX
    • For root, canary Magisk 23015 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit thanks, it's free :)
    12
    blu_spark_r42 (A12)

    New build is up! Merry 🎄🎅🎁

    Build is unified for raviole, should work both on Pixel 6 (tested) and Pro variant.
    You can use FKM download kernel feature, just import the link bellow in the app flash section.
    FKM download config: HERE


    Changelog:
    • Tentative fix to external DAC use (let me know)
    • fsync toggle
    • wakelock blocker updates
    • AnyKernel3 sync (v20211215)
    • Couple init runtime adjusts to better UX
    • For root, Magisk 23016 or newer is mandatory


    Keep in mind: I will give no active support for custom ROMs (including stock based ones).
    I am mostly interested on debugging stuff in stock ROM (with logs and reproducible steps to replicate the issue).


    No mirrors please
    Don't forget to hit thanks, it's free :)