- 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.
* 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.
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.
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:
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.
Special Thanks to some select individuals who's work I've drawn inspiration from, directly or otherwise:
Neutrino Kernel for the OnePlus 6T
Current Stable Release: 4.9.186-NeutrinoKernel-pavo
Build Date: 2019-07-26
Current Beta Release: 4.9.187-NeutrinoKernel-reticulum
Build Date: 2019-08-04
Kernel Source: https://github.com/0ctobot/neutrino_...oneplus_sdm845