Development [KERNEL] [blu_spark r40 OP9/Pro] [A11 OOS]

Search This thread
Gcam not work with this Kernel. Normal cam working.

Mine works fine. Grab the "snap" variant from BSG's builds.
Grab the config file if you'd like, as well. Load it from the GCam app by double-tapping anywhere in the black space around the shutter button.

One question. You know how we have to flash stock boot image back to take ota's? As long as I back-up stock kernel through ex-kernel manager to flash back when update arrives. I can just return to stock kernel through app and flash untouched boot img back & I shouldn't have any issues taking ota correct? I just wanna maintain data . Put much time into getting device the way I want. And I learned my lesson msm'ing every other day with my op8. Finally watching it brick and unable to restore by msm tool. :( Please and thank you beforehand.

From my experience, and this device seems to fit into this rule as well, the only necessary thing is to disable Magisk if you're rooted (which you would be if you have a custom kernel, no?).

This is the process I used, prior to flashing BluSpark:

STOP! Make sure to disable automatic system updates (Settings -> Developer options) if this is your first time doing something like this.

Go into Magisk Manager and choose -> Uninstall -> Restore Images.

This will restore the boot to stock.

Do not reboot yet or you'll uninstall Magisk and will have a bad time.

Apply the OTA. Go into Settings -> System -> System Update. Or conversely, do this from Oxygen Updater.

Seriously, do not restart.

Now return to Magisk Manager and choose -> Install -> Install to Inactive Slot (After OTA).

After the installation is done, press the reboot button in Magisk Manager.

Profit!

Now keep in mind, this might need some additional steps, since the vendor files are now affected as well. My guess is that is ONLY necessary if you are returning to the stock kernel, however.
 

mattie_49

Senior Member
Feb 4, 2010
2,942
903
Seymour Tn
OnePlus 9
Mine works fine. Grab the "snap" variant from BSG's builds.
Grab the config file if you'd like, as well. Load it from the GCam app by double-tapping anywhere in the black space around the shutter button.



From my experience, and this device seems to fit into this rule as well, the only necessary thing is to disable Magisk if you're rooted (which you would be if you have a custom kernel, no?).

This is the process I used, prior to flashing BluSpark:



Now keep in mind, this might need some additional steps, since the vendor files are now affected as well. My guess is that is ONLY necessary if you are returning to the stock kernel, however.
So that's part of my question then. Since the 9 and 9pro use Google ota to update, all partitions have to be stock or it fails.Can someone take an update with blu_spark or does stock have to be restored prior and then what other files? I wanna flash kernel but I however don't wanna have a bunch of partitions after that to cause next ota to fail. They are coming religiously every month. And I do not wanna have to msm and loose data on device by factory reset.
 

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
14,672
33,066
Halifax
GT-i9250
Nexus 7 (2013)
Last edited:
For regions where Google OTA is enforced you need to restore any modified images, since they're incremental and do post-OTA verification after the reboot.

Follow my Google OTA + Root + SafetyNet instructions from my Odds thread here: https://forum.xda-developers.com/t/...ices-platforms.2239421/page-149#post-84764713

So that's part of my question then. Since the 9 and 9pro use Google ota to update, all partitions have to be stock or it fails.Can someone take an update with blu_spark or does stock have to be restored prior and then what other files? I wanna flash kernel but I however don't wanna have a bunch of partitions after that to cause next ota to fail. They are coming religiously every month. And I do not wanna have to msm and loose data on device by factory reset.

Ohh, yeah, I forgot to mention, I'm on the EU A11 ROM. I converted my OP9P to EU (rather than global) because the EU not only has tighter privacy requirements (which is good for the consumer/end user) but also does NOT force your device to use Google's OTA service. The only difference being is that with the bootloader unlocked and so on, you still have to download full updates rather than incremental ones. Unfortunate side effect, but that's a small price to pay.
 
  • Like
Reactions: osm0sis

osm0sis

Senior Recognized Developer / Contributor
Mar 14, 2012
14,672
33,066
Halifax
GT-i9250
Nexus 7 (2013)
It says

"OnePlus 9 5G"

Thanks! Working with @Nebrassy on hopefully getting a unified TWRP recovery build working. (y)

Ohh, yeah, I forgot to mention, I'm on the EU A11 ROM. I converted my OP9P to EU (rather than global) because the EU not only has tighter privacy requirements (which is good for the consumer/end user) but also does NOT force your device to use Google's OTA service. The only difference being is that with the bootloader unlocked and so on, you still have to download full updates rather than incremental ones. Unfortunate side effect, but that's a small price to pay.

Nice trick! I actually prefer the full zip and I miss them since OnePlus has switched North America stable channel OOS to Google OTAs. With full OTA you can dump all the partitions from the payload.bin with payload-dumper-go and then you've basically got fastboot files to recover using. Usually well before they update their support site. 🤘

Here's a trick for you in return! If you don't like full OTAs you can just add OnePlus' OTA Updater app to MagiskHide and then it'll serve you incremental instead. ;)
 
Last edited:
Thanks! Working with @Nebrassy on hopefully getting a unified TWRP recovery build working. (y)



Nice trick! I actually prefer the full zip and I miss them since OnePlus has switched North America stable channel OOS to Google OTAs. With full OTA you can dump all the partitions from the payload.bin with payload-dumper-go and then you've basically got fastboot files to recover using. Usually well before they update their support site. 🤘

Here's a trick for you in return! If you don't like full OTAs you can just add OnePlus' OTA Updater app to MagiskHide and then it'll serve you incremental instead. ;)

Whoa, never knew that! Good call!
 
  • Like
Reactions: Shooter7889

mattie_49

Senior Member
Feb 4, 2010
2,942
903
Seymour Tn
OnePlus 9
Finally flashed. Under wakelock blocking I have no wakelocks to block. Am I missing something ? Usually shows a list of what you wanna 🚫 or not...just curious. Much faster than stock scrolling /opening apps. Winning!!
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    blu_spark_r40 release

    New build is up (y)

    This kernel is tested for the 9 Pro but it's unified, so should work for the OP9 also.
    This build have dts changes and since they reside in vendor_boot, you should backup (or extract from stock) not only boot.img but also vendor_boot.img if you want go to stock.

    You can use FKM download kernel feature, just import the links bellow in the app.
    FKM download configs: oos


    Changelog:
    • Build with Google Clang 12.0.7 + LLD linker (updated)
    • hwtracing: Add entries from lahaina-coresight (tentative less idle draw)
    • Properly enable and fix LD_DEAD_CODE_DATA_ELIMINATION (less image footprint)
    • AnyKernel3 updates sync
    • For root, Magisk 23.0 or higher is mandatory


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


    No mirrors please
    Don't forget to hit thanks, it's free :)
    7
    Mate. I'm trying to be as diplomatic as possible.

    This whole situation should Simply Be referred to as: Throttle-Gate.

    I'd really appreciate if you listen to users once in a while.

    There's no good reason why we should allow this phone to get throttled like that. The user experience is severely gimped and diminished.

    With a throttling, we basically have a mediatek 750 SOC.

    For $1,069 device that's nothing short of ridiculous. I've got my S21 Ultra in my hand right next to me-- and the performance is incredible. It's a Snapdragon sd888. No overheating. No excessive drain.

    I've been able to test my 9Pro with the TPD removal, and same exact thing.

    The sd888 is anything but perfect. But having pixel 5 performance on $1,000 device is cutting ourselves off at the proverbial knees.

    Phone is an absolute Joy now to use and feels like a premium device without the throttling. Super fluid. Smooth as smooth can be.

    OnePlus is not god. They make very questionable decisions.

    Really appreciate it if you would simply 'try' building a build without that throttling commit.

    I promise you it's worth it. I've tested both ad nauseam, and extensively.
    Take it to QC and OP, I don't sell phones neither I make client support.
    That tends to be paid it seems.

    You mean the change that introduces heat and battery drop and it was reverted not long ago? And from what I read is not consensual at all?
    C'mon, enough of this mumbo jumbo already.

    You guys can paint it all you want, no matter what you do, it's a loose loose situation with this SoC the way is set on this device. Period.
    Disable the mitigation in place, you got the performance for a bit until device starts to heat up like a furnace (already has a tendency to do it even throttled down lol) and battery soon goes bye bye.
    And if users start coming down in a couple months complaining about silicon degradation, are you the one to provide new phones to them?
    People have to be careful with these things. If other projects want to take another path it's up to them, that's why the code is open source.

    And it's funny you mention the S21, since there's people complaining about battery not being on par with other S iterations and having a tendency to heat up more than usual.
    So much that Samsung is probably bringing back vapor chamber to their lineup which is not present on the S21
    Although some devices behave better than others, there is not a single review with snap 888 I checked that doesn't mention the "device has a tendency to heat up" and the "battery isn't grat"... "but it's ok because snap 888 is a power house".
    I read crap like this more than once. Like the 865 wasn't a powerhouse that was perfectly powerful and efficient lol.

    People may accept what I have to say or not, but that isn't going to change technical (and historical) facts. I'm done with loosing time to this topic.
    The problem isn't OP throttling down the device, the problem is that they needed to do that stuff to have a workable device in the first place.
    If people can't understand this, I rest my case. There's plenty of threads in which people can't vent all they want, I suggest you guys use that ones and don't clutter this topic again.


    TLDR: I will not change anything related to power management on this device. Want to know why, read the rest before lol. The end.
    7
    Look. I get the throttling concerns, I do, but when you have both the thread OP/dev and another dev asking you all to drop the subject, please do as they ask. This thread has gone way off topic and might have to be cleaned at this point.
    5
    So with this argument the phone is completely useless and if using basic apps is a disaster what about games what is going to happen phone explodes in our faces !! according to OP not throttling games, so now if phone burns down during warranty the other excuse will be you played too many games not covered !!!
    It's never been "completely useless", this is exactly the type of dramatic overreaction people keep having to this from the media hype machine... 🙄

    He's asked people to drop the topic, so kindly let's all drop it. 🙂✌️
    5
    Hello @eng.stk

    Since the revelation about OnePlus throttling several popular apps, I have been wondering – does your kernel inherit the behaviour? If yes, then will it be possible to remove the throttling code?

    Thanks for your work, your kernel has much improved my phone's battery life, especially on idle.
    Same as stock.

    And then what? What about people that want to run the same as stock because they don't care about benchmarks and UX is good enough for them?
    And then also people would complain about heat and battery drain and so on.

    This is not an OP9 or even OP problem tbh. The fact is that snap 888 is an overpriced piece of kit.
    All other devices that use the SoC face similar heat and poor battery issues, QC just rushed the X1 design and used a very underwhelming 5n process node by Samsung.
    Some vendors preferred to let more performance in, mitigating the heat with better cooling and battery go bye bye faster, other disabled cores and throttled stuff like OP via sw mitigation.

    This already happened in the past for instance with the worst SoC QC ever released, the snap 810, which was a freakin' furnace and also made on Samsung foundries.
    Samsung 5n process is underwhelming even compared to TSMC 7nm, most companies ditched Samsung foundries (ex Apple) in favor of TSMC.
    All current high performance/efficiency chips (SOC, CPU, GPU) are with TSMC. Historically, Samsung exynos always was hotter and less efficient than QC counterparts, none of this is by chance.
    Seems like QC didn't learn anything from past events. I understand the silicon shortage and TSMC 5nm nodes being fully booked didn't help here, but a top of the line SoC must have higher quality.
    And I still don't understand why a smaller node silicon needs so much cooling power to perform up to spec.

    Only thing to really fix this device is take the SoC out and put a proper one. But since QC wants to continue using Samsung foundries to next 2 ou 3 models at least, I don't see a future to look to.
    If you want to disable the OP task management, you can disable the service that uses the kernel driver, don't even need a custom kernel.

    EDIT: in the previous generation, snap 865 has stellar performance (TSMC) and the mid up 765G (similar arch), despite less performant had heat and battery issues compared to the high power flagship.
    Google for instance was caught doing similar "optimizations" - read cut down performance - to the Pixel 5 to mitigate the heat and battery issues.
    Guess what was the foundry that made the 765G? Starts with an S...
  • 44
    DWHxIK

    Kernel features: (some WIP)
    • Build with Google Clang version 12.0.7 + LLD linker
    • Full -O2 build with device and target flags enhanced, build improvements and compiler fixes, etc
    • Less is more: stockish OP9 builds based on OnePlusOSS/android_kernel_oneplus_sm8350 for max stability
    • Systemless installer (doesn't touch system/vendor partition, OTA friendly), AnyKernel3 backend (compatible with autoflash apps)
    • Removed some debug and logging options
    • ARM enhanced performance and battery patches
    • CVE security patches, general upstream and CAF fixes for important subsystems
    • Modded schedutil governor merged from latest CAF sm8350 patchset
    • No OC, use 300HZ base timer frequency
    • msm_performance touchboost toggle on/off (enabled by default), tweaked cpu_boost driver
    • Enhanced TCP methods (westwood is default, BBR available), Network tweaks and updated drivers
    • Several I/O control tweaks, advanced filesystems enabled (F2FS, ExFAT, NTFS, CIFS & NFS)
    • ZRAM Swap (2GB LZO-RLE default) and with file disabled (2 GB storage gain), LZ4 and ZSTD are available
    • Vibrator Strength tunable and Gesture Haptic Feedback control (touchpanel and FPR)
    • KGSL fixes and general improvements for GPU driver
    • adrenoboost ready (disabled by default)
    • Backlight min brightness option
    • Gamepad support enabled (xbox, ps4, switch)
    • USB2 Fast Charge (USB mode up to 900mA with MTP on)
    • FS fsync toggle on/off
    • Wakelock blockers available
    • wireguard support
    • Compatible with FKM, EXKM, Kernel Adiutor and others


    DOWNLOAD KERNEL ZIP
    FKM download configs: oos
    (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 boot.img/vendor_boot.img 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 OOS 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) and OOS Open Betas you're much on your own. I'm mostly interested on debugging stuff in stock and stable OOS.
    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 with TWRP or kernel app before flashing blu_spark if you want to go back to full stock or just dirty flash your full ROM.


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


    OnePlus 9 Pro development unit donated by OnePlus. Big shouts to them :)
    Very proud for being on the OnePlus Developer Program, special thanks to dev relations team.
    24
    blu_spark_r23 release

    First blu_spark build for the OP9 series is up (y)

    This kernel is tested for the 9 Pro but it's unified, so should work for the OP9 also (need some fixes since code is broken). So backup you boot if you want to test and let me know :)
    Kernel already have some merged goodies and I think I have a good base to work with. For a couple days of work, it's not bad :)
    I'll take a look into more stuff to come, some things in OP are WIP. Stay tuned!

    You can use FKM download kernel feature, just import the links bellow in the app.
    FKM download configs: oos


    Changelog:
    • Build with Google Clang 12.0.5 + LLD linker
    • Synchronize codes for OnePlus 9/Pro Oxygen 11.2.6.6.LE25AA
    • Several build error fixes and quirks handled
    • Compilation improvements an cruf removed
    • Some goodies already merged like filesystem stuff, cpu governor & boost/msm perf, TCP algos, wakelock blocker, vibration and haptic feedback control, gpu adrenoboost, etc
    • All drivers builtin, wifi stack and datarmmnet merged from CAF
    • net/wireguard: merge v1.0.20210424


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


    No mirrors please
    Don't forget to hit thanks, it's free :)
    20
    [Thread Cleaned]

    Good (or perhaps not so good?) day everyone! I've removed a few posts but left the ones that matter: civilized closure of conflict – social media can learn a thing or two from this. As we sit behind our desks and in our couches (or on a plane, even that's a thing nowadays), protected by that anonymity shield, we easily throw our words out into the world. And sometimes we regret them. Unfortunately, we find it so easy to judge one another for that. But facing the fact that we're all just humans that make mistakes, I believe we know that we shouldn't judge so quickly. Now more than ever; kindness should prevail.

    Thank you for your attention and have an energetic day or quiet night in your part of the world. If you need a chat, drop me a line. Just keep our development threads focused on development and mutual respect.

    Cheers!
    Timmy
    Forum Moderator
    14
    blu_spark_r30 release

    New build is up (y)

    This kernel is tested for the 9 Pro but it's unified, so should work for the OP9 also.
    This build have dts changes and since they reside in vendor_boot, you should backup (or extract from stock) not only boot.img but also vendor_boot.img if you want go to stock.

    You can use FKM download kernel feature, just import the links bellow in the app.
    FKM download configs: oos


    Changelog:
    • Build with Google Clang 12.0.6 + LLD linker
    • defconfig: enable ld deadcode elimination
    • Silence some logging and debug
    • Add a couple dts tweaks
    • Change some runtime inits to improve UX
    • Reduce zram to 2GB and remove swap file (2GB extra storage!)
    • wireguard updates (v1.0.20210606)
    • AnyKernel3 updates sync (including dtb in vendor_boot support and more variants on the installer by @osm0sis)
    • For root, Magsk 23.0 or higher is mandatory


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


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

    New build is up (y)

    This kernel is tested for the 9 Pro but it's unified, so should work for the OP9 also.
    This build have dts changes and since they reside in vendor_boot, you should backup (or extract from stock) not only boot.img but also vendor_boot.img if you want go to stock.

    You can use FKM download kernel feature, just import the links bellow in the app.
    FKM download configs: oos


    Changelog:
    • Build with Google Clang 12.0.7 + LLD linker (updated)
    • hwtracing: Add entries from lahaina-coresight (tentative less idle draw)
    • Properly enable and fix LD_DEAD_CODE_DATA_ELIMINATION (less image footprint)
    • AnyKernel3 updates sync
    • For root, Magisk 23.0 or higher is mandatory


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


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