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

Development [KERNEL] [OOS] Omega Kernel OOS11 [September 18, 2021]

Search This thread

kristofpetho

Senior Member
May 27, 2009
5,190
10,009
Zoetermeer
Introduction

Hello everyone, this is my personal kernel for the OnePlus 9 Pro.
My philosophy on the kernel is pretty simple, intended to replace the stock kernel, but with a lot of under-the-hood tweaks.

Hopefully you will all enjoy!

Important thread information!

I refuse to acknowledge/respond to bug reports that do not include clear steps to reproduce, a logcat, and a console ramoops (if random rebooting) or a dmesg (any other issues). Follow this guide to do this.
Keep things civil, no flaming in the forums!

Features

  • Up to date with OxygenOS 11 source
  • Compiled with Google's Clang toolchain for maximum stability, with all warnings and errors fixed
  • Compiled with Clang's cortex-a55 optimizations
  • Many tweaks under the hood for smoother UX, lower battery drain, etc.
  • Westwood as the default congestion algorithm (BBR is also available)
  • Available to flash with AnyKernel3

Latest kernel release on GitHub

LINK

Source

Omega GitHub: https://github.com/kristofpetho/kernel_oneplus_sm8350
Omega originally sourced from: OnePlusOSS

Thanks where it's due

@pyry666 for all his help getting me logs after logs after logs. Without him this wouldn't have been possible!
@Burt Squirtz and @crashazz3 and @TheKnux for helping to test
Kerneltoast for his extreme patience and guidance
osm0sis (for AnyKernel3)
@eng.stk for finding a way to have proper hardware detection working
 
Last edited:

kristofpetho

Senior Member
May 27, 2009
5,190
10,009
Zoetermeer
Releases

September 18
- download HERE
- Pulled in patch from Google to make cpufreq stat collection less CPU-hungry (smoothness)
- Pulled in 3 Clang/LLVM stability fixes from upstream Linux
- Pulled in a patch for better power consumption when vibrations are enabled (from arter's source)

August 14 - download HERE
- Merged in OOS 11.2.8.8 sources

August 7 - download HERE
- Build with Google's Clang 13.0.1, updated Binutils to 2.37
- Pulled in 5 code fixes from CAF for display driver
- Pulled in 2 logic fixes from CAF for display driver
- Pulled in 3 various CAF stability fixes
- Fixed a dmesg error message with a commit from upstream Linux
- Removed all android_fs tracing from the ext4 and f2fs filesystem drivers

July 30 - download HERE
- Various coding fixes
- 5 code fixes from CAF
- A codefix from upstream Linux
- Enabled support for TTL spoofing

July 12 - download HERE
- Using Clang to compile (stability reasons)
- Tweaked Clang's LTO for better performance
- Re-enabled Oneplus's TPD module (stability reasons)
- Pulled in 3 stability fixes from CAF
- Re-enabled watermark boosting - now that a fix for it is available in upstream

July 7 - download HERE
- Further tweaks to GCC's O3 optimization level
- Pulled in a number of stability fixes from CAF
- Pulled in a UFS system fix from CrDroid kernel
- Removed even more logging from the kernel when the phone is not connected to WiFi
- Reverted to Westwood as default TCP congestion - BBR is still there and can be enabled
- Disabled OnePlus's TPD module - this was responsible for limiting apps' CPU placement, as reported by multiple news outlets

June 24 - download HERE
- Using stable GCC toolchain again - with newest patches it simply performs better than any Clang build
- Added a few stability fixes from upstream
- Added a few compiler tweaks for better overall performance

June 13 - download HERE
- Fixed major network error where userspace was trying to modify network settings but the kernel wasn't allowing it
- Pulled in a fix from CAF to improve/lower battery drain
- Updated Wireguard module to latest version
- Built using Google's latest Clang (12.0.6)
- Enabled all Clang internal optimizations (reverted a crazy CAF patch disabling them), and fixed all subsequent code errors
- Fixed an IRQ saving issue found via lockdep (upstream)

June 2 - download HERE
- Disable watermark boosting for significantly lower CPU usage during day-to-day use
- Further tweaks to memory management
- Removed USB webcam drivers
- Updated with OOS 11.2.6.6 kernel sources
- Fixed hardware detection algorhythm (kernel should now work on both the 9 and 9 Pro)

May 29 - download HERE
- Compiled again with GCC, without LTO
- O3 optimization enabled for all warnings/errors fixed
- Fixed charge throttling as well as thermal throttling during charging

May 25 - download HERE
- Built using Google's Clang
- O3 optimization, ThinLTO, SCS, CFI all enabled (like stock)
- Uses modules from userspace for maximum stability
- Fixed thermal throttling issues
- Fixed Warp Wireless charging issues

May 18 - download HERE
- Reverted to using Clang + ThinLTO (this seems to fix camera issues people were seeing)
- Fixed a scheduler regression that was introduced in the 5/12 build

May 16 - download HERE
- GCC LTO implemented
- GCC O3 optimization (together with LTO results in significant improvement of hackbench scores)
- Wireguard added
- Anykernel 3 updated
- Critical and stability fixes from CAF
- More code fixes based on GCC's diagnostics
- Significant improvement to ZRAM speed

May 12 - download HERE
- Updated to latest OOS sources for 11.2.5.5
- Updated GCC toolchain to 11.1.0, and fixes all new code warnings
- Disabled some unnecessary tools in the kernel that are not needed for Android
- Remove all debugging from the WLAN driver
- Remove all debugging from the Camera driver
- Pull in 2 scheduler fixes from CAF for load balancing
- Disable hardware intergrity checking driver that polled the hardware every 5 seconds for errors

May 5 - download HERE
- Now built with GCC 10.3.0, since it's better. No other reason. Linux is also built with GCC, so there you have it.
- Fixed all code warnings and errors that GCC found (it found a LOT)
- Switched to BBR congenstion control. Much better throughput on bad quality networks.
- Removed a ton more debugging

May 2 - download HERE
- Initial release with Clang 12.0.5 from Google, all code warnings and errors fixed
- Tons of debugging removed from the kernel for a smoother experience
 
Last edited:

avid_droid

Senior Member
Aug 24, 2019
2,151
725
OnePlus 9
Installed and will test drive.. thank you
 

Attachments

  • Screenshot_20210502-033802.jpg
    Screenshot_20210502-033802.jpg
    176 KB · Views: 1,246

Reddit3321

Senior Member
Jan 19, 2017
50
36
Hi! Thanks for your contribution and kicking off custom development of the 9 pro!
I am very much new to the OnePlus device platform and I have no clue how to install this. Can you please provide some steps or guide as to how can I install this ?
Once you are bootloader unlocked and rooted on your 9 Pro, the easiest way to install is to flash the zip through a kernel manager, such as exkm/franco kernel manager. Take a backup of your stock boot.img as well.

Once flashed, reboot, profit!

Running 11.2.4.4 with Omega on my 9 Pro 👍

Thanks Kristof!
 

pyry666

Senior Member
Dec 27, 2012
553
184
OnePlus 9 Pro
Once you are bootloader unlocked and rooted on your 9 Pro, the easiest way to install is to flash the zip through a kernel manager, such as exkm/franco kernel manager. Take a backup of your stock boot.img as well.

Once flashed, reboot, profit!

Running 11.2.4.4 with Omega on my 9 Pro 👍

Thanks Kristof!
Just to ad this few steps. Kernel is SAFE but take EFS and PERSIST back up also..Still have nightmares with oneplus 8 pro.. LoL
 
  • Like
Reactions: Samuel Holland

Top Liked Posts

  • There are no posts matching your filters.
  • 11
    I think that sentiment is a bit extreme, man. I also used to test Omega, and never took it to heart when things, as they do eventually, slowed down and eventually stopped for the 6t.

    KTP is stability focused and doesn't tend to push release after release just for the sake of doing it. Omega is always a good stable kernel for that exact reason.

    A guy that has a full time day job, who happens to understand more than most peeps about kernels, makes his own, then shares it with the community, gratis with no expectations is not on the hook to dash titty sprinkles on the kernel and re-release it constantly. If he was asking for $$ (which he does not) or something in return (which he does not) it would be different.

    Of course, you can choose to not use Omega as well, if you feel there's something better or are super committed to the Cartman mantra of [screw you guys, I'm going home], that, much like installing Omega in the first place, is your choice.

    Let's not act like the dev owes anyone anything, bc he doesn't owe us anything whatsoever. We are the privileged in the equation.
    There has been no source update for the device since 11.2.8.8...
    I'm waiting for updated sources, and dont want to break anything in the meantime.
    10
    I think that sentiment is a bit extreme, man. I also used to test Omega, and never took it to heart when things, as they do eventually, slowed down and eventually stopped for the 6t.

    KTP is stability focused and doesn't tend to push release after release just for the sake of doing it. Omega is always a good stable kernel for that exact reason.

    A guy that has a full time day job, who happens to understand more than most peeps about kernels, makes his own, then shares it with the community, gratis with no expectations is not on the hook to dash titty sprinkles on the kernel and re-release it constantly. If he was asking for $$ (which he does not) or something in return (which he does not) it would be different.

    Of course, you can choose to not use Omega as well, if you feel there's something better or are super committed to the Cartman mantra of [screw you guys, I'm going home], that, much like installing Omega in the first place, is your choice.

    Let's not act like the dev owes anyone anything, bc he doesn't owe us anything whatsoever. We are the privileged in the equation.
    4
    I just recently flashed this kernel again because I was running stock kernel but omega is really cpu hungry in your last update it said less cpu hungry while overnight it eats like 20% away when the screen is on you can spend like 5 to 6 hours on the screen but not even last a day on lock screen where you can spend like 2 or 3 tops then your phone dies

    Stock kernel seems not to be cpu hungry
    lol this kernel is anything but cpu hungry. once again need to point out that idle/active drain is directly related to what apps you use and how you use your phone, not the kernel, especially this one that is the polar opposite of cpu hungry
    3
    at first when I read your post I was thinking no way it's been abandoned, but then I looked at github and there has been no new commits since 9/17 (the last update he released) so I'm not sure now. perhaps he's just busy with other things? either way I hope it's not.

    Willing to bet if @kristofpetho was stopping, he would have said so. Sometimes, there isn't anything to update.
    I imagine until source is out for a12, there probably won't be any big changes needed. Only my guess, though. ;). Thank you for what you do @kristofpetho !!
    3
    Sorry about my comment @kristofpetho . Your work is still amazing. I apologize to everyone here on the forum for my stupid comments. No more from me. Sorry and thank you
  • 54
    Introduction

    Hello everyone, this is my personal kernel for the OnePlus 9 Pro.
    My philosophy on the kernel is pretty simple, intended to replace the stock kernel, but with a lot of under-the-hood tweaks.

    Hopefully you will all enjoy!

    Important thread information!

    I refuse to acknowledge/respond to bug reports that do not include clear steps to reproduce, a logcat, and a console ramoops (if random rebooting) or a dmesg (any other issues). Follow this guide to do this.
    Keep things civil, no flaming in the forums!

    Features

    • Up to date with OxygenOS 11 source
    • Compiled with Google's Clang toolchain for maximum stability, with all warnings and errors fixed
    • Compiled with Clang's cortex-a55 optimizations
    • Many tweaks under the hood for smoother UX, lower battery drain, etc.
    • Westwood as the default congestion algorithm (BBR is also available)
    • Available to flash with AnyKernel3

    Latest kernel release on GitHub

    LINK

    Source

    Omega GitHub: https://github.com/kristofpetho/kernel_oneplus_sm8350
    Omega originally sourced from: OnePlusOSS

    Thanks where it's due

    @pyry666 for all his help getting me logs after logs after logs. Without him this wouldn't have been possible!
    @Burt Squirtz and @crashazz3 and @TheKnux for helping to test
    Kerneltoast for his extreme patience and guidance
    osm0sis (for AnyKernel3)
    @eng.stk for finding a way to have proper hardware detection working
    28
    New kernel release!

    Changelog:
    - Pulled in patch from Google to make cpufreq stat collection less CPU-hungry (smoothness)
    - Pulled in 3 Clang/LLVM stability fixes from upstream Linux
    - Pulled in a patch for better power consumption when vibrations are enabled (from arter's source)

    While this kernel works on latest 11.2.9.9, please note that OnePlus hasn't released sources yet for 11.2.9.9.

    Enjoy!
    25
    New release!

    Changelog:
    - Build with Google's Clang 13.0.1, updated Binutils to 2.37
    - Pulled in 5 code fixes from CAF for display driver
    - Pulled in 2 logic fixes from CAF for display driver
    - Pulled in 3 various CAF stability fixes
    - Fixed a dmesg error message with a commit from upstream Linux
    - Removed all android_fs tracing from the ext4 and f2fs filesystem drivers
    24
    New kernel release!

    This is a huge one in terms of stability and smoothness.

    Changelog:
    - GCC LTO implemented
    - GCC O3 optimization (together with LTO results in significant improvement of hackbench scores)
    - Wireguard added
    - Anykernel 3 updated
    - Critical and stability fixes from CAF
    - More code fixes based on GCC's diagnostics
    - Significant improvement to ZRAM speed

    Enjoy!
    24
    New kernel release!

    The test team has been crazy busy, flashing sometimes 5 builds a day to pressure test, and come up with this new kernel.
    After tons of performance tests, we found that Clang (with the included optimizations) outperforms even the best GCC builds, so I'm now moving to using Clang by Google to compile the kernel.

    Changelog:
    - Fixed major network error where userspace was trying to modify network settings but the kernel wasn't allowing it (this issue is also present on stock kernel)
    - Pulled in a fix from CAF to improve/lower battery drain
    - Updated Wireguard module to latest version
    - Built using Google's latest Clang (12.0.6)
    - Enabled all Clang internal optimizations (reverted a crazy CAF patch disabling them), and fixed all subsequent code errors
    - Fixed an IRQ saving issue found via lockdep (upstream)

    Enjoy!