[OnePlus 5T  ROMs, Kernels, Recoveries, & Other Dev] nathanchance:
Update!

ALRIGHT, after head bashing and teeth gnashing, I finally have a unified kernel branch for OxygenOS and custom ROMs! This is unique in the OnePlus scene (at least from what I have seen) because kernel developers traditionally have two branches: one for OOS and one for custom ROMs. I can't take full credit for the initial idea, [MENTION=3795148]neobuddy89[/MENTION] made the comment on Nougat he would like to do this. I decided to act on it though now that Lineage has started seeding out 8.1.0 builds. What this ultimately means for you guys is the kernel should perform almost identically between both OOS and custom ROMs. Previously, there may be patches missing between the two. This took a LOT of effort for a few reasons:

1. I needed to improve AnyKernel2 to support two different module paths since I've seen both with ROMs now: /system/lib/modules (as it has traditionally ben) and /system/vendor/lib/modules (which is what Google recommends). [MENTION=4544860]osm0sis[/MENTION] was incredibly supportive of getting the changes into AK2 upstream, I cannot sing enough praises of working with him (give his thread a like if you haven't already, custom kernels wouldn't be as compatible as they are without his tool).

2. I had to distill Lineage's changes from OnePlus's. On Nougat, merging in the latest CAF tag into OnePlus's source was pretty much impossible, they destroyed the power stack with Dash Charging. Merging the latest CAF tag is a good idea for several reasons (like security and bug fixes) so to get around this, Lineage took the latest CAF tag for our chipset and added the OnePlus specific drivers that were needed to separate folders/files. On Oreo, merging the latest CAF into OnePlus's source has been relatively painless (a few conflicts here and there but nothing as bad as before). However, rather than rebase their changes (or even assess if the way they did the source on Nougat was necessary anymore) on OnePlus's Oreo source, they just took the latest Oreo tag, added the Nougat versions of the drivers, then updated those drivers to the Oreo versions. It's created some interesting incompatibilities, specifically with NFC.

3. Finally, I had to make sure everything was good with a few other big ROMs. I am a part of Dirty Unicorns so I obviously had to make that compatible. Codename: Phoenix has become very popular in the past couple of weeks so I wanted to make sure everything was working with that. [MENTION=4837394]siankatabg[/MENTION] has been a pleasure to work with, he's even building Flash inline, which is great! Validus and GZOSP are also known to be compatible and [MENTION=4139665]martinusbe[/MENTION] is another great developer who doesn't get enough credit.

All in all, I have a great, solid kernel at the end and it will make keeping it up to date much easier :)

A couple of side notes:

- I just started my university semester on Monday. I have not been performing my best during the past few semesters so I will really need to focus. I will still be releasing semi-regular updates but they will most likely not contain much more than CAF and linux-stable updates, unless something really piques my interest).

- I am going to try and keep the supported custom ROMs section up to date this cycle. Please tell me if you notice any issues so I can either fix them or declare a ROM incompatible. Generally, ROMs that follow Lineage in terms of device support will be supported. Any major deviation that would require a third build just for them means incompatible.

- If anyone has any questions on how I did the branch unification, let me know, I'm happy to answer questions.

Typical disclaimer: Remember any and all bug reports need to include logs and clear steps to reproduce (see the info in the OP). You should also know what version it started with. If you want to be a tester and get builds before they are released here or just hangout, feel free to stop by Telegram!

Downloads

OOS: http://nchancellor.net/downloads/kernels/op5/8.0.0/oos/stable/

Custom: http://nchancellor.net/downloads/kernels/op5/8.1.0/custom/stable/

Mirror: https://github.com/nathanchance/fk-zips

Commits

Kernel: https://github.com/nathanchance/op5/commits/8.x-unified

AnyKernel: https://github.com/nathanchance/AnyKernel2/commits/op5-flash-8.0.0