[UNIFIED] [CAF 10.0] [4.9.196] [CLANG 10 / LTO] Neutrino Kernel (sagitta)

Search This thread

return.of.octobot

Senior Member
Mar 5, 2015
521
1,318
Wilmington, NY
Neutrino Kernel for the OnePlus 6(T) has officially touched down on XDA due to ongoing popular demand, some friendly goading, and user willingness to assist me in maintaining this thread. This is far from a new kernel, some of you may already be familiar with the project as it has been under active development since January 2019. For those of you who haven't, welcome. I'm going to attempt to keep this as concise as possible as I understand that the longer these things become, the less likely they are to be read and comprehended. Shall we begin?

Design Philosophy:

  • The primary motivation for this project was to craft a kernel based on pure CAF source, discarding as much OnePlus code as possible and performing a minimal import of only that which was necessary to retain full device functionality. In addition to being up-to-date with the latest CAF SDM845 source, Neutrino is also current with the android-4.9 common kernel by way of CAF SDX merges.
  • Neutrino is intended to target efficiency over raw performance without compromising user experience, stability is prioritized over gimmicks. This is a simple kernel, built using the latest sources for this SoC from Qualcomm, AOSP, and linux-stable.
  • EAS development and optimization is a primary focus, as a kernel developer who needs to ensure that their products function uniformly regardless of what software it is paired with I have made every effort to minimize userspace involvement in scheduling decisions and instead replicate these processes using in-kernel logic where possible.
  • Neutrino is compatible with both stock OxygenOS and custom ROMs on both OnePlus 6 and OnePlus 6T. However, I personally own only fajita and primarily use OxygenOS. Thus, that is the device and operating system that Neutrino is specifically designed and tested for use with and in all fairness is the only combination that I can guarantee flawless compatibility with 100% of the time. That being said many (most of) my current users are on various custom ROMs and in it's current state Neutrino should be solid regardless of what ROM or device you choose to use it with, but it is not impossible that certain ROM/device-specific issues may crop up in the future. To that end, I am relying on potential OP6/custom ROM users to alert and assist me in resolving any complications that may arise.
  • Neutrino is intended to be a flash-and-go experience that does not require user intervention to get the most out of. You are of course, free to tune settings as you see fit, but you should not feel obligated to do so and I wouldn't necessarily recommend it unless you truly feel as though you know what you're doing and why. Most critical settings have been hardcoded in kernel source and blocked from userspace interference during initialization. For rooted users, some additional settings will also be applied via the NeutrinoSettings module, which is baked into the kernel zip and installed only if root is detected. This module, along with any traces of Neutrino's installation will be automatically removed when another kernel is installed, so you need not think too hard about cleaning up after yourself when changing kernels.

Features:

* RELEASE NOTES *

I will do my best to construct a summarized list of key kernel features going forward, but for the time being I highly recommend that you read through the existing notes I've made accompanying all past and present official releases up to this point. This will give you a very good idea of what to expect from Neutrino, where it came from, and where it's going.

Support:

As mentioned, development on this project has been in progress for quite some time, part of the reason I've been hesitant to promote it publicly is the expectations that come along with that. At the end of the day, I'm doing this because I want to create the best kernel I can for my own personal use. Everyone is welcome to come along for the ride, but please understand that I already have a fairly concrete vision of what I intend this project to be so while you are welcome to make suggestions, it's likely that I've already heard them and have not obliged for one reason or another. Please do not ask me to include features such as, Wakelock Blocker, Klapse, Dynamic Fsync, etc. There are plenty of avenues to explore for things of this nature, this is not one of them.

As far as support for legitimate issues encountered while using Neutrino, I am happy to assist in any way that I can provided you help me help you by providing the appropriate supporting documentation, specifically dmesg (as well as pstore if a reboot occurs), for everyone's convenience and ease of use, I highly recommend using the SysLog app when reporting bugs as it will dump everything I could possibly need to see and package it in a zip archive that you can easily share with me.

While I will do my best to actively monitor and address questions and concerns brought up in this thread, I do recommend those seeking more direct support as well as access to current test builds which may not be made publicly available join my existing OnePlus 6/6T Development group on Telegram for the latest Neutrino Kernel news and discussion.

F2FS:

This kernel includes comprehensive f2fs support if desired, current with f2fs-stable/linux-4.9.y, and may be used with both encrypted and decrypted devices as per @arter97 instructions:

arter97 said:
Flash f2fs_tools_for_twrp.zip from TWRP. This won’t format your /data partition.
This will replace TWRP's f2fs tools with the latest version and pass the correct parameter to mkfs.f2fs, which is necessary.
This needs to be done everytime you enter TWRP, if you want to re-format to f2fs.

After formatting, or flashing a new ROM or an OTA, /vendor’s fstab needs to be changed.
Flash f2fs_fstab.zip to convert fstab to f2fs again. This won’t format your /data partition.

Sidenote for those using f2fs:
I've got a report that my f2fs conversion tools weren't applying appropriate optimizations.
If you're using f2fs, just flash this zip from the recovery just to make sure you have up-to-date extensions list for f2fs.
http://arter97.com/browse/f2fs/optimize

Current f2fs conversion tools available here

Special Thanks to some select individuals who's work I've drawn inspiration from, directly or otherwise:

@arter97
@joshuous
@nathanchance
@RenderBroken
@Sultanxda

XDA:DevDB Information
Neutrino Kernel for the OnePlus 6T
Current Stable Release: 4.9.196-NeutrinoKernel-sagitta
Build Date: 2019-10-10
Previous Releases: https://github.com/0ctobot/neutrino_kernel_oneplus_sdm845/releases
Kernel Source: https://github.com/0ctobot/neutrino_kernel_oneplus_sdm845
 
Last edited:

return.of.octobot

Senior Member
Mar 5, 2015
521
1,318
Wilmington, NY
4.9.196-NeutrinoKernel-sagitta

4.9.196-NeutrinoKernel-sagitta
Developer: @return.of.octobot
Date: 10/10/19
Device: Unified

Download:
https://github.com/0ctobot/neutrino...nel-sagitta/NeutrinoKernel-fajita-sagitta.zip

Release Notes:
https://github.com/0ctobot/neutrino...5/releases/tag/4.9.196-NeutrinoKernel-sagitta

Neutrino Kernel release for OnePlus 6T (fajita)
Linux Version: 4.9.196
Neutrino Subversion: sagitta
HEAD: 0333ca1
__________________________________________________

Changelog (Summarized):


* For the time being, Android 10 users should reflash Magisk manually following kernel installation to avoid inconsistent and unpredictable behavior which could result in loss of root. For Pie users, root preservation is still intact and will function as it always has.

__________________________________________________

AnyKernel 3:
  • Eliminate NeutrinoSettings module and remaining Magisk dependencies. Currently, all critical parameter tuning is handled in kernel, any additional benefits afforded by the module have dwindled over time and no longer justify the added complexity.

(Complete Changelog)

Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
 
Last edited:
D

Deleted member 7030080

Guest
Whppedy whoppedy
Your kernel is XDA's property.
 
Last edited by a moderator:

anirudhgupta109

Recognized Developer
Oct 27, 2016
399
3,204
LG Nexus 5X
OnePlus 6
  • Like
Reactions: Scott and indian84

letmedanz

Senior Member
Aug 26, 2010
2,833
4,207
Bangalore
Google Pixel 7 Pro
Wow! Using Neutrino for a couple of weeks now and it's been really smooth with great battery life.
Was curious on how to report any issues since all I could find was the GitHub page. Thanks a lot for starting a thread here.

I've had just one issue, random reboot when trying to unlock screen using fp. It's happened twice in a week. No logs yet since I couldn't find a thread or telegram group, but will post of this happens again.
Anyone faced this at all?
 
  • Like
Reactions: indian84
Seriously? Promoting your own paypal in someone else's thread? How can you even go any lower?
Buddy that's my signature in Tapatalk of the OP7 Pro. Is that really a problem for you, LOL. I just wanted to post a welcome. I'll edit my post, you maybe too, bye.

Gesendet von meinem xXx_NoLimits_7.6 on ONEPLUS A6003 mit Tapatalk

---------- Post added at 12:41 AM ---------- Previous post was at 12:38 AM ----------

I don't see the point of plugging your PayPal on someone else's thread when the OP hasn't even plugged his own
Accidentally, edit your post too and it is gone.

Anyway, problems you have, funny [emoji23]

Gesendet von meinem xXx_NoLimits_7.6 on ONEPLUS A6003 mit Tapatalk
 

Top Liked Posts

  • There are no posts matching your filters.
  • 60
    Neutrino Kernel for the OnePlus 6(T) has officially touched down on XDA due to ongoing popular demand, some friendly goading, and user willingness to assist me in maintaining this thread. This is far from a new kernel, some of you may already be familiar with the project as it has been under active development since January 2019. For those of you who haven't, welcome. I'm going to attempt to keep this as concise as possible as I understand that the longer these things become, the less likely they are to be read and comprehended. Shall we begin?

    Design Philosophy:

    • The primary motivation for this project was to craft a kernel based on pure CAF source, discarding as much OnePlus code as possible and performing a minimal import of only that which was necessary to retain full device functionality. In addition to being up-to-date with the latest CAF SDM845 source, Neutrino is also current with the android-4.9 common kernel by way of CAF SDX merges.
    • Neutrino is intended to target efficiency over raw performance without compromising user experience, stability is prioritized over gimmicks. This is a simple kernel, built using the latest sources for this SoC from Qualcomm, AOSP, and linux-stable.
    • EAS development and optimization is a primary focus, as a kernel developer who needs to ensure that their products function uniformly regardless of what software it is paired with I have made every effort to minimize userspace involvement in scheduling decisions and instead replicate these processes using in-kernel logic where possible.
    • Neutrino is compatible with both stock OxygenOS and custom ROMs on both OnePlus 6 and OnePlus 6T. However, I personally own only fajita and primarily use OxygenOS. Thus, that is the device and operating system that Neutrino is specifically designed and tested for use with and in all fairness is the only combination that I can guarantee flawless compatibility with 100% of the time. That being said many (most of) my current users are on various custom ROMs and in it's current state Neutrino should be solid regardless of what ROM or device you choose to use it with, but it is not impossible that certain ROM/device-specific issues may crop up in the future. To that end, I am relying on potential OP6/custom ROM users to alert and assist me in resolving any complications that may arise.
    • Neutrino is intended to be a flash-and-go experience that does not require user intervention to get the most out of. You are of course, free to tune settings as you see fit, but you should not feel obligated to do so and I wouldn't necessarily recommend it unless you truly feel as though you know what you're doing and why. Most critical settings have been hardcoded in kernel source and blocked from userspace interference during initialization. For rooted users, some additional settings will also be applied via the NeutrinoSettings module, which is baked into the kernel zip and installed only if root is detected. This module, along with any traces of Neutrino's installation will be automatically removed when another kernel is installed, so you need not think too hard about cleaning up after yourself when changing kernels.

    Features:

    * RELEASE NOTES *

    I will do my best to construct a summarized list of key kernel features going forward, but for the time being I highly recommend that you read through the existing notes I've made accompanying all past and present official releases up to this point. This will give you a very good idea of what to expect from Neutrino, where it came from, and where it's going.

    Support:

    As mentioned, development on this project has been in progress for quite some time, part of the reason I've been hesitant to promote it publicly is the expectations that come along with that. At the end of the day, I'm doing this because I want to create the best kernel I can for my own personal use. Everyone is welcome to come along for the ride, but please understand that I already have a fairly concrete vision of what I intend this project to be so while you are welcome to make suggestions, it's likely that I've already heard them and have not obliged for one reason or another. Please do not ask me to include features such as, Wakelock Blocker, Klapse, Dynamic Fsync, etc. There are plenty of avenues to explore for things of this nature, this is not one of them.

    As far as support for legitimate issues encountered while using Neutrino, I am happy to assist in any way that I can provided you help me help you by providing the appropriate supporting documentation, specifically dmesg (as well as pstore if a reboot occurs), for everyone's convenience and ease of use, I highly recommend using the SysLog app when reporting bugs as it will dump everything I could possibly need to see and package it in a zip archive that you can easily share with me.

    While I will do my best to actively monitor and address questions and concerns brought up in this thread, I do recommend those seeking more direct support as well as access to current test builds which may not be made publicly available join my existing OnePlus 6/6T Development group on Telegram for the latest Neutrino Kernel news and discussion.

    F2FS:

    This kernel includes comprehensive f2fs support if desired, current with f2fs-stable/linux-4.9.y, and may be used with both encrypted and decrypted devices as per @arter97 instructions:

    arter97 said:
    Flash f2fs_tools_for_twrp.zip from TWRP. This won’t format your /data partition.
    This will replace TWRP's f2fs tools with the latest version and pass the correct parameter to mkfs.f2fs, which is necessary.
    This needs to be done everytime you enter TWRP, if you want to re-format to f2fs.

    After formatting, or flashing a new ROM or an OTA, /vendor’s fstab needs to be changed.
    Flash f2fs_fstab.zip to convert fstab to f2fs again. This won’t format your /data partition.

    Sidenote for those using f2fs:
    I've got a report that my f2fs conversion tools weren't applying appropriate optimizations.
    If you're using f2fs, just flash this zip from the recovery just to make sure you have up-to-date extensions list for f2fs.
    http://arter97.com/browse/f2fs/optimize

    Current f2fs conversion tools available here

    Special Thanks to some select individuals who's work I've drawn inspiration from, directly or otherwise:

    @arter97
    @joshuous
    @nathanchance
    @RenderBroken
    @Sultanxda

    XDA:DevDB Information
    Neutrino Kernel for the OnePlus 6T
    Current Stable Release: 4.9.196-NeutrinoKernel-sagitta
    Build Date: 2019-10-10
    Previous Releases: https://github.com/0ctobot/neutrino_kernel_oneplus_sdm845/releases
    Kernel Source: https://github.com/0ctobot/neutrino_kernel_oneplus_sdm845
    24
    4.9.196-NeutrinoKernel-sagitta

    Just a quick update, largely to address a few kinks people were experiencing on Android 10 ROMs, and hopefully improve network connectivity/speed issues that some people seemed to be experiencing, although the later has been a revolving door in which I never seem to be able to please everyone. No, this likely still will not work on OOS/H2OS-based Android 10 ROMs. Don't expect that it will until we see an official Beta drop and kernel source release, I'll be sure to let you know as soon as this is the case. Please read the release notes, especially the bits in large, bold text. I write these for a reason, because it's pertinent information that you should be aware of which may save you from future headaches.

    4.9.196-NeutrinoKernel-sagitta
    Developer: @return.of.octobot
    Date: 10/10/19
    Device: Unified

    Download:
    https://github.com/0ctobot/neutrino...nel-sagitta/NeutrinoKernel-fajita-sagitta.zip

    Release Notes:
    https://github.com/0ctobot/neutrino...5/releases/tag/4.9.196-NeutrinoKernel-sagitta

    Neutrino Kernel release for OnePlus 6T (fajita)
    Linux Version: 4.9.196
    Neutrino Subversion: sagitta
    HEAD: 0333ca1
    __________________________________________________

    Changelog (Summarized):


    * For the time being, Android 10 users should reflash Magisk manually following kernel installation to avoid inconsistent and unpredictable behavior which could result in loss of root. For Pie users, root preservation is still intact and will function as it always has.

    __________________________________________________

    AnyKernel 3:
    • Eliminate NeutrinoSettings module and remaining Magisk dependencies. Currently, all critical parameter tuning is handled in kernel, any additional benefits afforded by the module have dwindled over time and no longer justify the added complexity.

    (Complete Changelog)

    Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
    20
    4.9.193-NeutrinoKernel-reticulum

    Alright, gamers!

    So, this last beta cycle has definitely been longer than usual. I would apologize for the delay but the reality is that although the previous build was my initial release on XDA, this project has been ongoing for the better part of a year and recently there have been less and less items stacking up on my to-do list. This isn't a bad thing, it simply means that Neutrino has arrived at arrived at a point that I'm very pleased with and thus fewer drastic overhauls have been required. Because I prefer to release meaningful updates, and with the imminent dawn of Android 10 on the horizon, I decided to sit on this one for a bit longer so that when the time came for this update to go live it would be a substantial one, and it is that.

    4.9.193-NeutrinoKernel-reticulum
    Developer: @return.of.octobot
    Date: 09/17/19
    Device: Unified

    Download:
    https://github.com/0ctobot/neutrino...reticulum/NeutrinoKernel-fajita-reticulum.zip

    Release Notes:
    https://github.com/0ctobot/neutrino...releases/tag/4.9.193-NeutrinoKernel-reticulum

    Neutrino Kernel release for OnePlus 6T (fajita)
    Linux Version: 4.9.193
    Neutrino Subversion: reticulum
    HEAD: 15db778
    __________________________________________________

    Changelog (Summarized):

    Treewide Android 10 Update * __________________________________________________

    * For the sake of avoiding confusion, the kernel has been updated inline with CAF's 10.0.0 source drop for sdm845 (LA.UM.8.3.r1-05800) but will continue to function normally on Pie as well as Q.

    ** Currently, the kernel will not boot on OxygenOS QDP/Closed Beta builds based on Android 10. Unfortunately there's very little I can do about this until OnePlus' Q kernel source is made publicly available or someone using these builds is able to provide me with logs. For the time being, use on Android 10 will be limited to custom ROMs.

    (Complete Changelog)

    Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>
    20
    no he moved on to 7t

    Yes, as of yesterday I can now officially confirm that this is the case. I apologize to those of you who were left in suspense regarding Android 10 support, but the truth is I've refrained from commenting up until this point because I was unsure myself which direction I would be taking going forward. Due to the nature of Neutrino being a CAF-based project first, the advent of the Android 10 source drop left me in a position that one way or another was going to result in a fresh bringup or an equivalent reconciliation of Pie and Q OEM imports. The prospect of having to go through this process again left me feeling as though the effort would be better spent applied to something new, but I was unsure if I was going to be able to make that happen for myself so I refrained from commiting to anything until I was certain which path I would be proceeding on.

    I have now officially ordered an OP7T and will be working with this device going forward. I'm sorry to anyone who feels abandoned by this, but the truth is that I can only commit my time and effort supporting whichever device I am currently using as my daily driver and this is just the unfortunate reality of the situation until the time comes that I am no longer financing my own devices out of pocket. I once again invite anyone who might benefit to come along for the ride as I work towards assembling my ideal kernel for this new device.

    For those of you having issues joining my telegram group, it has been renamed https://t.me/OnePlusDevelopment and I welcome anyone who might like to join our growing community not only to follow my own progress, as it has become a platform for anybody working with OnePlus devices to share their contributions. I don't know if I'll be returning to XDA with future projects as I wasn't intending to do so this time around, so this may be the best bet for those who are interested in the future of Neutrino. Short of that, you'll just have to keep an eye on GitHub where I will continue to make all of my future work available as I always have.

    Thanks again to everyone who came along with me on this journey, I've certainly learned a lot and am quite proud of where it ended up in terms of meeting/exceeding the vision I had when I set forth working on this device. This has turned out to be far an above the caliber of the initial Neutrino Kernel for the Essential PH-1, here's hoping that my 7T project will be better still.
    16
    4.9.196-NeutrinoKernel-sagitta

    4.9.196-NeutrinoKernel-sagitta
    Developer: @return.of.octobot
    Date: 10/10/19
    Device: Unified

    Download:
    https://github.com/0ctobot/neutrino...nel-sagitta/NeutrinoKernel-fajita-sagitta.zip

    Release Notes:
    https://github.com/0ctobot/neutrino...5/releases/tag/4.9.196-NeutrinoKernel-sagitta

    Neutrino Kernel release for OnePlus 6T (fajita)
    Linux Version: 4.9.196
    Neutrino Subversion: sagitta
    HEAD: 0333ca1
    __________________________________________________

    Changelog (Summarized):


    * For the time being, Android 10 users should reflash Magisk manually following kernel installation to avoid inconsistent and unpredictable behavior which could result in loss of root. For Pie users, root preservation is still intact and will function as it always has.

    __________________________________________________

    AnyKernel 3:
    • Eliminate NeutrinoSettings module and remaining Magisk dependencies. Currently, all critical parameter tuning is handled in kernel, any additional benefits afforded by the module have dwindled over time and no longer justify the added complexity.

    (Complete Changelog)

    Signed-off-by: Adam W. Willis <return.of.octobot@gmail.com>