[KERNEL] [OOS] Omega Kernel OOS11 [April 19, 2021]

Search This thread


Senior Member
Oct 4, 2014
@kristofpetho I had a random reboot just now, I don't know if you could have a look and let me know what caused it please


  • 2021-04-07_07.20.zip
    659.8 KB · Views: 13

Top Liked Posts

  • There are no posts matching your filters.
  • 50

    Hello everyone, this is my personal kernel for the OnePlus 8 Pro, will use it as my daily driver as soon as I get the device! (hopefully very early next week)
    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!


    • 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
    • Includes WireGuard
    • Includes KCAL support
    • Available to flash with AnyKernel3

    Latest kernel release on GitHub



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

    Thanks where it's due

    Nathan Chance for his guidance and patience with general kernel dev questions
    Kerneltoast for his extreme patience and guidance
    freak07 for his dtb advice
    tbalden for figuring out the 8 Pro boot issues
    zoman7663 for testing
    osm0sis (for AnyKernel3)

    April 19
    - download HERE
    - Fixed bootloop issue

    April 16 - download HERE
    - Updated Clang to Google's latest
    - Disable coresight clocks when not used (better battery drain)
    - Pulled back the two fixes for network driver that previously fixed random reboots (apologies, don't know how I didn't have those in latest...)

    March 23 - download HERE
    - Cleaned out older commits (stability)
    - Updated Google's Clang toolchain to 12.0.4 (latest)
    - Fixed a GPU bug where the UI might jitter a bit (smoothness)

    March 16 - download HERE
    - Enabled a new set of Clang compilation diagnostics, and fixed them with the help of CAF, who started fixing them in their 5.4.y kernels (7 coding errors)
    - Fixed a similar issue in the qseecom driver that didn't show up in diagnostics
    - Fixed a potential resourcing error in the mhi bus driver

    March 13 - download HERE
    - Reverted all CAF patches to fix hiccups observed in UI
    - Kept 1 USB driver patch to fix faulty transfer of big files
    - Kept 2 network driver patches to address random reboots previously observed

    March 10 - download HERE
    - Reverted all CAF patches from the kernel
    - Added back only critical fixes that (hopefully) do apply to our use case (not did add back any "nice-to-have" patches)

    March 4 - download HERE
    - Pulled in some critical bugfixes from CAF:
    - 3 UFS file system fixes
    - 1 F2FS fix
    - 1 memory allocation fix
    - 3 wireless driver fixes
    - 1 more USB transfer fix
    - 4 GPU/video driver fixes
    - Updated Anykernel3 to latest version
    - Built with Google's Clang 12.0.3 (I save ~1 minute every time I do a build, which adds up)

    February 26 - download HERE
    - Switched back to LLVM's Clang 11.1.0 branch for stability reasons
    - Updated Wireguard to latest version
    - Potential fix for some random reboots a few users were seeing (reverted two smoothness commits)
    - Fixed a major code error in OnePlus's source code
    - Potential fix for CPU's min frequencies sticking in some situations

    February 22 - download HERE
    - Updated Wireguard to latest v1.0.20210219
    - Removed more debugging from GPU driver for smoothness
    - Updated compiler to Google's Clang 12.0.3

    February 14 - download from HERE
    - Reverted "Removed 3 performance loggers/debuggers from the kernel" to fix media playback issue

    February 11 - download from HERE
    - Heavy kernel cleanup, removed a lot of commits that either did nothing, or even reduced performance
    - Reverted to using userspace, Oneplus-supplied WiFi driver (improved battery life)
    - Fixed some previous ugly code fixes I had in the kernel
    - Enabled Clang's detection of code formatting errors, and fixed all of them
    - Removed 3 performance loggers/debuggers from the kernel

    January 25 - download from HERE
    - Switched back to Google's Clang 12.0.2 for compiling (much faster to compile)
    - Updated WireGuard to latest version
    - Fixed some coding errors caught by Clang after turning on some additional diagnostics

    January 20 - download from HERE
    - Switched from Google's Clang 12 compiler to stable LLVM Clang 11.0.1 (custom built)
    - Removed all debugging from the camera driver (it will not kill the battery if you use the camera a lot)
    - Removed some overbearing debugging from the video/media driver
    - Removed debugging from the Oneplus priximity driver
    - Fixed coding errors found by a run of GCC compiler (there were 2-3 major errors in the code that Clang didn't catch)
    - Added WLAN driver to the kernel (using the same driver that Oneplus is using)
    - Removed a ton of debugging from the WLAN driver, and fixed some code errors
    - Added RMNET driver to the kernel (version parity with the WLAN driver)
    - Removed external module support from the kernel, since all modules now reside in the kernel

    January 14 - download from HERE
    - Adjusted kernel configuration to reflect the addition of a new Oneplus kernel module in OOS
    - Added back a debugger that is needed by Oneplus's userspace
    - Removed some harmless kernel loggers
    - Further code fixes in the kernel
    - Updated to Google's new Clang 12.0.1 compiler to compile the kernel

    December 22
    - Back to using binutils (from LLVM tools) - I experienced nav bar graphical glitches with LLVM tools
    - Pulled in a few tweaks from Sultan's new redbull kernel - optimized graphics driver, optimized power usage, optimized smoothness
    - Updated Wireguard to latest version
    - Updated Anykernel3 to latest version

    December 13
    - Reverted all CAF patches... let's assume Oneplus actually knows what they are doing
    - Compiled with advanced LLVM tools
    - Reverted a commit that is not needed for LLVM, but was needed for latest binutils (which we are now not using)

    December 4
    - Added a few fixes from CAF upstream
    - Cleaned up unneeded commits
    - Removed bad commits
    - Removed more logging (that are safe to remove)

    November 24
    - Refactored some commits for easier later patching
    - Finally using UFS 3.0 driver that's meant for the OnePlus 8 Pro

    November 20
    - Fixed battery drain issue that was on previous release (apologies for that)

    November 16
    - General stability improvements
    - Slightly improved active as well as idle battery drain
    - Updated WireGuard to latest version

    November 6
    - Removed a major debug from the kernel that is also missing on stock kernel (sources were not updated by Oneplus...)
    - Reverted to using O2 optimization level from O3, for stability reasons
    - Reverted modified CPUsets, the overall experience is much smoother this way, with no discernible effect on battery life

    October 23
    - Reverted the two Google commits since those seemed to increase active drain just a bit
    - Pulled in latest Oneplus kernel source for OOS

    October 19
    - Reverted the CAF upstream - Oneplus does extensive testing on the CAF base they are using and it also resulted in significantly higher active as well as idle drain upon further testing
    - Using stock (userspace) WLAN and RMNET drivers
    - Pulled in two commits from Google's 4.19.y kernel tree for increased smoothness (scheduling, write delay)
    - Fixed a additional code error found through Clang

    October 10
    First release for Android 11-based OOS11.
    Changelog vs stock kernel:
    - Compiled with latest Google Clang 11.0.5
    - All the tweaks pulled in from Omega OOS10 kernel
    - Added in KCAL color control
    - Upstreamed the entire kernel to CAF release LA.UM.9.12.r1-08300-SMxx50.0
    - Included both WLAN and RMNET drivers with CAF release LA.UM.9.12.r1-08300-SMxx50.0
    New kernel in Post 2!

    - Clang compiler optimization from CAF, as well as subsequent code fixes to go with it
    - Updated Wireguard to latest 0520 version
    - Updated Anykernel3 to latest
    - Remove some annoying UFS dmesg spam
    - Remove one more resource hog debugger from the graphics render hot path

    This should give a nice speed boost as well for screen on :)

    I won't post new kernels for a few days, my new components are arriving today, so will take time to redo my build system.
    In case anyone is wondering:
    - ASUS TUF B450 Pro Gaming (I had a previous ASUS TUF Z170 Pro Gaming, which I loved!)
    - AMD Ryzen 3600 (6 cores, 12 threads -> should be a nice upgrade from my current i5-6500, which only has 4 cores, 4 threads)
    - I already had 32Gb DDR4 RAM in the system, that is not changing
    OK guys, I'm back. New Ryzen system is up and running, and building a kernel now only takes 3.5 minutes!!! Previsouly it was 11-12... DAMN impressed.
    New kernel here, since there were no source updates in latest kernel push from OnePlus: https://github.com/kristofpetho/kernel_oneplus_sm8250/releases

    - Updated Clang to 11.0.4 (Google)
    - Reverted to using userspace WLAN and rmnet drivers to fix remaining VoWiFi issues