[OnePlus 3 & 3T Cross Device Development] matssa:
#include <std_disclaimer.h>
/*
* Your warranty is now void.
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at us for messing up your device, we will laugh at you.
*
*/

This thread is no longer supported or updated! You can maybe still find new builds on my AFH, but no guarantees! I will let the original first post only for information.

Important information:

I made this thread in order to avoid the off topic in the official LineageOS thread by [MENTION=5091734]dianlujitao[/MENTION] (http://xdaforums.com/oneplus-3/development/rom-cyanogenmod-14-1-oneplus-3-t3496850).

The ROM that I propose is an experimental build using the official LineageOS 14.1 commits with some extra stuff that are not yet merged for testing. In order to avoid issues with repopicking, I use my own repos that are forked from the official repos. You can find them at the end of the post.

The commits that are included which are not merged are:

Kernel modification in order to pass SafetyNet CTS check

OMS / Substratum (fully included using n-mr1 tree)

160327 160328 (kernel) --> Postponed

160726 163935 (device)

161956 (OMS extra stuff)

161709 (hardware_cyanogen)

Please be aware that I might be missing some commits, the easiest way is for you to check the repo commits

All new builds will be in LineageOS_OOS4.0.3_OMS. I will keep including basic OMS functionality until issues arrive. At that time, I will remove and stop supporting OMS.

Please be aware that this is for advanced users!

I share all of my building information in order to help the users know what is included and how to reproduce. However, if you share your builds, please quote this thread in order to give the correct credits to the correct persons.

New builds (after 2017/1/15) uses F2FS backported from 4.10 kernel, you may meet compatibility problems such as deadlocks. If you do, flash the modified TWRP from [MENTION=4898097]arter97[/MENTION] or from [MENTION=5091734]dianlujitao[/MENTION] and choose "Wipe -> Format Data" to format (not just wipe) your /data partition. This will clean the entire /data partition, including the emulated sdcard, so don't forget to backup your data!. After that, your data partition will be formatted into ext4, if you want to keep using f2fs, just convert fs type normally in TWRP.

It is highly recommended to use the modified TWRP from dianlujtao because the TWRP kernel is the same as the Android kernel, including 4.10 F2FS, which keeps 100% compatibility with LineageOS 14.1. There's no guarantee that other TWRP author will use the right kernel. Btw, NEVER choose the outdated OFFICIAL TWRP, it's out of maintenance!

The following will not be supported here:

Custom kernels

Mods

Xposed

I am not a dev, I only build the ROM. This can be read by the real dev, [MENTION=5091734]dianlujitao[/MENTION]. If you find a bug, please attach a logcat. You're kindly invited to not report bugs if you:

Flashed a custom kernel

Installed or did mods from untrusted sources

Modified system files

Known bugs:

F2FS ROMs can have deadlocks or other issues, please use the new TWRP

Some OMS themes apparently don't work, can be linked to missing root for masquerade or substratum app (use SuperSU, not in-built root, uninstall and install Substratum app again)

Built-in root removed by LineageOS, flashable addon exists (https://download.lineageos.org/extras), only needed once apparently

Wifi calling doesn't work after reboot or airplane mode --> Need to toggle the switch in Settings to make it work again

OOS Camera port doesn't work (no postprocessing, low quality photos) --> Use HAL 1 with flashable zip (https://xdaforums.com/showpost.php?p=70983628&postcount=1879)

other stuff ;)

Installation:

Download the zip

Install a compatible Recovery (Modified TWRP)

Perform a nandroid backup of your current ROM (Optional)

Wipe data/factory reset unless you want to dirty flash

Flash LineageOS

Optional: Install the Google Apps addon package (if clean flash)

Reboot

Roomservice + Building process

Here is the roomservice.xml of this ROM:

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="LineageOS/android_device_oppo_common" path="device/oppo/common" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-14.1" />
<project name="TheMuppets/proprietary_vendor_oneplus" path="vendor/oneplus" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_device_oneplus_oneplus3" path="device/oneplus/oneplus3" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_kernel_oneplus_msm8996" path="kernel/oneplus/msm8996" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_external_sony_boringssl-compat" path="external/sony/boringssl-compat" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_external_stlport" path="external/stlport" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_vendor_nxp-nfc_opensource_Nfc" path="vendor/nxp-nfc/opensource/Nfc" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_vendor_nxp-nfc_opensource_frameworks" path="vendor/nxp-nfc/opensource/frameworks" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_vendor_nxp-nfc_opensource_libnfc-nci" path="vendor/nxp-nfc/opensource/libnfc-nci" remote="github" revision="cm-14.1" />
<project name="LineageOS/android_packages_resources_devicesettings" path="packages/resources/devicesettings" remote="github" />
<project name="TeamSubstratum/masquerade" path="packages/apps/masquerade" remote="github" revision="n" />
</manifest>

Here is the rough building process (all the repo updating, repopick conflicts, etc... are not shown):

Use LineageOS roomservice

Cleaning output directory

Sync repo and prepare repopick commands

Repopick open commits from LineageOS

Clean build directory (sometimes necessary)

Generate changelog

Prepare build

Config jack server + start server

Build ROM

Copy zip file to host and cleanup

Kill jack server

Download:

https://www.androidfilehost.com/?a=show&w=files&flid=75317

Version Information

Status: Nightly

Created : 2016-12 -13

Latest build: 2017-03-05

Changelog

Project name: device/oneplus/oneplus3/
* df7c1db Revert "op3: remove highspeed recording profiles"
* 13e4b5d op3: disable wpa_supplicant log spam

Project name: hardware/qcom/audio-caf/msm8916/
* 1e33348 hal: dolby: Only set C_KEY if ACDB License is enabled.

Project name: vendor/cm/
* 3a03129 OMS: Add masquerade for Substratum OMS themes

Credits

CM team

LineageOS team

Substratum team

[MENTION=5091734]dianlujitao[/MENTION]

[MENTION=4329165]ivanich[/MENTION]

[MENTION=4837394]siankatabg[/MENTION]

[MENTION=4800121]Sultanxda[/MENTION]

[MENTION=639045]miscom[/MENTION]

[MENTION=6299471]flo071[/MENTION]

[MENTION=4898097]arter97[/MENTION]

[MENTION=5370545]piats[/MENTION]

[MENTION=4659955]nicesoni_ash[/MENTION]

everyone else that helped me :)

Source Code:

https://github.com/LineageOS

https://github.com/Matssa56