[OnePlus 3 & 3T Cross Device Development] Deleted member 4405529:
NLOS is an unofficial unified LineageOS build with many additions. These additions started small and have grown large over the month. So, it's time to name it NLOS - which still is an UNOFFICIAL LineageOS build.

Thanks to @UnbracedTundra NLOS has it's own logo, bootanimation and wallpapers. Thanx to @Syssx for evolving the bootanimation.

LineageOS is a free, community built, aftermarket firmware distribution of Android 9 (Pie), which is designed to increase performance and reliability over stock Android for your device.

My priorities are stabillity, battery, performance - in that order. This build is optimized (i.e. gcc-7.3 is used for kernel building) and has quite some candy (like OMS exPoseres).

In addition this rom contains two patches (https://github.com/microg/android_p...aster/patches/android_frameworks_base-P.patch and https://github.com/microg/android_p...aster/patches/android_frameworks_base-N.patch, ported to Pie) to be microG ready - this means freedom of choice to flash either gapps or install (microG How to use Android without Google Apps).

The kernel is prepared for Wireguard VPN - to use Wireguard for vpn-tunnels you need to get the WireGuard-apk from playstore. WireGuard developer @zx2c4 runs a dedicated Wireguard Thread.

The shipped kernel is prepared to comply to googles safetynet api. Since google has started to check if the sec patch level matches the build fingerprint, it's necessary to adjust the aosp based shipped ro.build.version.security_patch to the currently used OxygenOS build fingerprint. For details see posting #3 and the announcment of each build.

Additionally nlos' kernel has been upstreamed to the latest 3.18.y (3.18.140 EOL) patches. Since 3.18.y is no longer supported by kernel.org, I also merge https://source.codeaurora.org/quic/la/kernel/msm-3.18/. This way we get the latest qualcomm fixes and patches. Codeaurora is still supporting and maintaining their msm-3.18 project. To show the current state of the nlos kernel the naming scheme is "3.18.140-[caf tag]-NLOS-g[git hash]", e.g.: "3.18.140-LA.UM.7.6.r1-07000-89xx.0-NLOS-g63a7debca7d7". The staged qcacld-2.0 wifi driver is also updated to the same caf tag from https://source.codeaurora.org/quic/la/platform/vendor/qcom-opensource/wlan/qcacld-2.0. This way Qualcomm security bullentins (https://www.qualcomm.com/company/product-security/bulletins ) are brought in.

Currently known issue can be found here.

If you find an issue, follow these instructions: https://xdaforums.com/showpost.php?p=58239877&postcount=3

Everybody has his very own definition of "clean flash" or "dirty flash". I use these phrases like descriped in this posting: https://xdaforums.com/showpost.php?p=58239877&postcount=2

#include <std_disclaimer.h>

/*
* Your warranty isn't void: we are on an oneplus device.
*
* 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.
*
*/

LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. You will need to provide your own Google Applications package (gapps). LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.

This thread is for NLOS-16.0 builds for oneplus3 and onepluy3t. The following will not be supported here:

Custom kernels

Mods

Xposed

gapps packages bigger then opengapps-nano

I don't support Xposed and any logcat which includes a Xposed module will be ignored. You're kindly invited to not report bugs if you:

Flashed a custom kernel

Installed or did mods from untrusted sources

Modified system files (i.e. by using gapps larger then opengapps-nano)

First time flashing NLOS 16.0 on your device, or coming from another ROM:

Backup your current ROM and make sure you have backups of your data you want to keep.

Download the ROM below in the downloads section.

Download OpenGapps arm64 Android 9.0 pico or nano don't use a package larger then nano.

Download and flash official twrp-3.4.0-0.

Download and flash latest OxygenOS Oreo firmware.

Optional (mandatory, if you have issues with encryption): Format data: in twrp tap on wipe and then tap on format data. This will delete all data, remove encryption and leave you with ext4, which is highly recommended. If you want to use f2fs you need to change the fs back to f2fs - it's possible but not recommended (at least if you don't have basic knowledge of fs implementations). Many twrp versions have serious regressions regarding f2fs with encryption footer. Though this should be fixed by now, you can always manually format f2fs with footer. See: https://xdaforums.com/oneplus-3/one...1-20180223-t3754855/post75688089#post75688089.

Wipe system, data and caches.

Flash NLOS.

Flash Google Apps. If you want to use microG skip this step and install microG (How to use Android without Google Apps).

Optional: flash Magisk (if you need root)

Reboot (as usual: first boot takes loooooong ;) )

Updating this rom

Dirty flashing should work just fine: reboot into recovery (if necesarry flash the firmware zip recommended by the release notes) and flash the updated NLOS zip - don't forget to wipe dalvik and cache. Settings, apps and even google apps are preserved.

Important: if you encounter any issues, a clean install is recommended and even required if you need support.

I won't build on a daily (or nightly) basis. I will publish new builds, if I fixed something, important upstream changes or new security patchlevels.

LineageOS changelog: https://www.lineageoslog.com/16.0

History

Build 20210714

Releasenotes:

This build relies on OxygenOS firmware. OxygenOS 9.0.6 firmware is required. At this point you have two options:

You don't care about loosing data on an unlocked bootloader and clean flash including format userdata according to the first time installation instructions in OP (recommended):

Oneplus 3T: OxygenOS 9.0.6 firmware without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware without alipay and soter files

You want to keep your current setup and like to dirty flash on top of beta builds:

I've created a firmware package from OxygenOS 9.0.6. To avoid issues due to an unlocked bootloader and/or encrypted userdata partition, I've kept the bootloader and and keymaster partition to OxygenOS 5.0.8. This allows to run the pie-blobs builds with native Oneplus OxygenOS 9.0.6 firmware, but you don't need to reformat the userdata partition (for details see: https://xdaforums.com/oneplus-3t/how-to/guide-cope-9-0-3-5-0-8-firmware-barrier-t3941164).

Oneplus 3T: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

If you need to pass safetynet api flash sec-patch-2019-08-01_v02.zip from https://xdaforums.com/oneplus-3/one...-nlos-16-0-t3879405/post78433987#post78433987 .

Before you ask: though I've updated the blobs used in the rom to OOS 9.0.6, I've decided to stick with OOS 9.0.5 build fimgerprint, because 9.0.5 is the only version with identical fingerprint strings for op3 and op3t.

If you want to use Alipay with fingerprint authentication, follow @Galiis' directions in posting #6.

For a complete list of additional cherry picks see: current.pick.sh.

Changelog (Last repo sync: 14 Jul 2021, 15:39:59 CEST / 14 Jul 2021, 13:39:59 UTC):

my_build.sh: remove jack-server hanling; update mktemp call. — Nvertigo

Patch up: P_asb_2021-07. — Nvertigo

Revert "nlos.xml: add Bromite System Webvoew from MSe1969's repo." — Nvertigo (Thanx @MSe1969

kernel: patches mentioned in https://source.android.com/security/bulletin/2021-07-01?hl=en(ASB 2021 07):

qcacld-2.0: Send assoc reject upon failing to post ASSOC_IND — Paul Zhang

WG: squash WireGuard-linux-compat-1.0.20210606. — Nvertigo

Patch up: P_asb_2021-05. — Nvertigo

NLOS-Bootlogo

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip(pre ob16 OxygenOS Bootlogo)

[SIZE="+2"]DOWNLOAD[/SIZE]​

Happy flashing!

Build 20210620

Releasenotes:

This build relies on OxygenOS firmware. OxygenOS 9.0.6 firmware is required. At this point you have two options:

You don't care about loosing data on an unlocked bootloader and clean flash including format userdata according to the first time installation instructions in OP (recommended):

Oneplus 3T: OxygenOS 9.0.6 firmware without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware without alipay and soter files

You want to keep your current setup and like to dirty flash on top of beta builds:

I've created a firmware package from OxygenOS 9.0.6. To avoid issues due to an unlocked bootloader and/or encrypted userdata partition, I've kept the bootloader and and keymaster partition to OxygenOS 5.0.8. This allows to run the pie-blobs builds with native Oneplus OxygenOS 9.0.6 firmware, but you don't need to reformat the userdata partition (for details see: https://xdaforums.com/oneplus-3t/how-to/guide-cope-9-0-3-5-0-8-firmware-barrier-t3941164).

Oneplus 3T: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

If you need to pass safetynet api flash sec-patch-2019-08-01_v02.zip from https://xdaforums.com/oneplus-3/one...-nlos-16-0-t3879405/post78433987#post78433987 .

Before you ask: though I've updated the blobs used in the rom to OOS 9.0.6, I've decided to stick with OOS 9.0.5 build fimgerprint, because 9.0.5 is the only version with identical fingerprint strings for op3 and op3t.

If you want to use Alipay with fingerprint authentication, follow @Galiis' directions in posting #6.

For a complete list of additional cherry picks see: current.pick.sh.

Changelog (Last repo sync: 20 Jun 2021, 08:27:07 CEST / 20 Jun 2021, 06:27:07 UTC):

nlos.xml: add Bromite System Webvoew from MSe1969's repo. — Nvertigo

nlos.mk: use Bromite System Webvoew from MSe1969's repo. — Nvertigo

kernel: patches mentioned in https://source.android.com/security/bulletin/2021-06-01?hl=en(ASB 2021 06):

qcacld-2.0: Add eapol checking for intra-bss fwd & indicate in IPA exc path — Tiger Yu

qcacld-2.0: Add eapol sanity checking for intra-bss forwarding & indicate — Lihua Liu

qcacld-2.0: Drop mcast and plaintext frags in protected network — Tiger Yu

qcacld-2.0: Discard frag frames if the PN is not consecutive — Tiger Yu

qcacld-2.0: Flush RX packets for peer after key installation — Tiger Yu

qcacld-2.0: Initialize preauth node — Liangwei Dong

qcacld-2.0: Fix SAP data tx block issue — Brandon Huang

qcacld-2.0: Fix a compile error — lihual

crypto: Fix possible stack out of bound error — Tanwee Kausar

HID: make arrays usage and value to be the same — Will McVicker

WG: squash WireGuard-linux-compat-1.0.20210606. — Nvertigo

Patch up: P_asb_2021-05. — Nvertigo

NLOS-Bootlogo

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip(pre ob16 OxygenOS Bootlogo)

[SIZE="+2"]DOWNLOAD[/SIZE]​

Happy flashing!

Build 20210509

Releasenotes:

This build relies on OxygenOS firmware. OxygenOS 9.0.6 firmware is required. At this point you have two options:

You don't care about loosing data on an unlocked bootloader and clean flash including format userdata according to the first time installation instructions in OP (recommended):

Oneplus 3T: OxygenOS 9.0.6 firmware without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware without alipay and soter files

You want to keep your current setup and like to dirty flash on top of beta builds:

I've created a firmware package from OxygenOS 9.0.6. To avoid issues due to an unlocked bootloader and/or encrypted userdata partition, I've kept the bootloader and and keymaster partition to OxygenOS 5.0.8. This allows to run the pie-blobs builds with native Oneplus OxygenOS 9.0.6 firmware, but you don't need to reformat the userdata partition (for details see: https://xdaforums.com/oneplus-3t/how-to/guide-cope-9-0-3-5-0-8-firmware-barrier-t3941164).

Oneplus 3T: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

If you need to pass safetynet api flash sec-patch-2019-08-01_v02.zip from https://xdaforums.com/oneplus-3/one...-nlos-16-0-t3879405/post78433987#post78433987 .

Before you ask: though I've updated the blobs used in the rom to OOS 9.0.6, I've decided to stick with OOS 9.0.5 build fimgerprint, because 9.0.5 is the only version with identical fingerprint strings for op3 and op3t.

If you want to use Alipay with fingerprint authentication, follow @Galiis' directions in posting #6.

For a complete list of additional cherry picks see: current.pick.sh.

Changelog (Last repo sync: 9 Mai 2021, 10:22:49 CEST / 9 Mai 2021, 08:22:49 UTC):

Update webview to 90.0.4430.204. — Nvertigo

see https://bitbucket.org/nvertigo/android_external_chromium-webview/src/master/patches/ for a complete list of patches

kernel: patches mentioned in https://source.android.com/security/bulletin/2021-03-01?hl=en(ASB 2021 02):

tty: Fix ->pgrp locking in tiocspgrp() — Jann Horn

WG: squash WireGuard-linux-compat-1.0.20210424. — Nvertigo

Patch up: P_asb_2021-05. — Nvertigo

NLOS-Bootlogo

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip(pre ob16 OxygenOS Bootlogo)

[SIZE="+2"]DOWNLOAD[/SIZE]​

Happy flashing!

Build 20210305

Releasenotes:

This build relies on OxygenOS firmware. OxygenOS 9.0.6 firmware is required. At this point you have two options:

You don't care about loosing data on an unlocked bootloader and clean flash including format userdata according to the first time installation instructions in OP (recommended):

Oneplus 3T: OxygenOS 9.0.6 firmware without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware without alipay and soter files

You want to keep your current setup and like to dirty flash on top of beta builds:

I've created a firmware package from OxygenOS 9.0.6. To avoid issues due to an unlocked bootloader and/or encrypted userdata partition, I've kept the bootloader and and keymaster partition to OxygenOS 5.0.8. This allows to run the pie-blobs builds with native Oneplus OxygenOS 9.0.6 firmware, but you don't need to reformat the userdata partition (for details see: https://xdaforums.com/oneplus-3t/how-to/guide-cope-9-0-3-5-0-8-firmware-barrier-t3941164).

Oneplus 3T: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

If you need to pass safetynet api flash sec-patch-2019-08-01_v02.zip from https://xdaforums.com/oneplus-3/one...-nlos-16-0-t3879405/post78433987#post78433987 .

Before you ask: though I've updated the blobs used in the rom to OOS 9.0.6, I've decided to stick with OOS 9.0.5 build fimgerprint, because 9.0.5 is the only version with identical fingerprint strings for op3 and op3t.

If you want to use Alipay with fingerprint authentication, follow @Galiis' directions in posting #6.

For a complete list of additional cherry picks see: current.pick.sh.

Changelog (Last repo sync: 5 Mär 2021, 15:43:32 CET / 5 Mär 2021, 14:43:32 UTC):

Update webview to 88.0.4324.207. — Nvertigo

see https://bitbucket.org/nvertigo/android_external_chromium-webview/src/master/patches/ for a complete list of patches

kernel: patches mentioned in https://source.android.com/security/bulletin/2021-03-01?hl=en(ASB 2021 02):

ANDROID: xt_qtaguid: Remove tag_entry from process list on untag — Kalesh Singh

WG: squash WireGuard-linux-compat-1.0.20210219. — Nvertigo

op3/t: gps: use ntp.org auto-selection. — Nvertigo

op3t: gps: XTRA: use https and check for version 3. — Nvertigo

op3/t: use https for downloading gps XTRA data. — Nvertigo

Patch up: P_asb_2021-03. — Nvertigo

NLOS-Bootlogo

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip(pre ob16 OxygenOS Bootlogo)

[SIZE="+2"]DOWNLOAD[/SIZE]​

Happy flashing!

Build 20210207

Releasenotes:

This build relies on OxygenOS firmware. OxygenOS 9.0.6 firmware is required. At this point you have two options:

You don't care about loosing data on an unlocked bootloader and clean flash including format userdata according to the first time installation instructions in OP (recommended):

Oneplus 3T: OxygenOS 9.0.6 firmware without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware without alipay and soter files

You want to keep your current setup and like to dirty flash on top of beta builds:

I've created a firmware package from OxygenOS 9.0.6. To avoid issues due to an unlocked bootloader and/or encrypted userdata partition, I've kept the bootloader and and keymaster partition to OxygenOS 5.0.8. This allows to run the pie-blobs builds with native Oneplus OxygenOS 9.0.6 firmware, but you don't need to reformat the userdata partition (for details see: https://xdaforums.com/oneplus-3t/how-to/guide-cope-9-0-3-5-0-8-firmware-barrier-t3941164).

Oneplus 3T: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

Oneplus 3: OxygenOS 9.0.6 firmware with 5.0.8 bootloader and keymaster and without alipay and soter files

If you need to pass safetynet api flash sec-patch-2019-08-01_v02.zip from https://xdaforums.com/oneplus-3/one...-nlos-16-0-t3879405/post78433987#post78433987 .

Before you ask: though I've updated the blobs used in the rom to OOS 9.0.6, I've decided to stick with OOS 9.0.5 build fimgerprint, because 9.0.5 is the only version with identical fingerprint strings for op3 and op3t.

If you want to use Alipay with fingerprint authentication, follow @Galiis' directions in posting #6.

For a complete list of additional cherry picks see: current.pick.sh.

Changelog (Last repo sync: 7 Feb 2021, 14:00:53 CET / 7 Feb 2021, 13:00:53 UTC):

Update webview to 88.0.4324.152. — Nvertigo

see https://bitbucket.org/nvertigo/android_external_chromium-webview/src/master/patches/ for a complete list of patches

kernel: patches mentioned in https://source.android.com/security/bulletin/2021-02-01?hl=en(ASB 2021 02):

WG: squash WireGuard-linux-compat-1.0.20210124 — Nvertigo

usb: dwc3: ep0: Return from handle_status if ep0_delegate_req succeeds — Udipto Goswami

msm: kgsl: Remove VM_MAYWRITE flag to restrict mprotect — Indira Biruduraju

current.pick.sh: use prebuilt python-2.7 instead of system python. — Nvertigo

Revert "current.pick.sh: system/nfc: SDCLANG-6: fix declaration." — Nvertigo

Add full-featured linux x86 64bit Python 2.7.18. — Nvertigo

Use freshly added full-featured linux x86 64bit Python 2.7.18. — Nvertigo

Patch up: P_asb_2021-02. — Nvertigo

NLOS-Bootlogo

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip(pre ob16 OxygenOS Bootlogo)

[SIZE="+2"]DOWNLOAD[/SIZE]​

Happy flashing!

Firmware

NVertigo's Oxygen Firmware Archive

TWRP

Latest official twrp downloads

Thread for official twrp

(Note: Don't use official twrp-3.2.3-1! Use dianlujitao's inofficial twrp-3.2.3-10 announced here or

latest official twrp.)

Google Apps:

OpenGapps arm64 Android 9.0 pico or nano

Source and toolchains

https://github.com/LineageOS/

https://github.com/nvertigo/local_manifest/tree/nlos-16.0 (If you want to build this rom yourself, consult the file named README, it's outdated, but still helpfull)

Aytex, who made all of the banners on this post.

team-exynos5420 for the OP templete.

All the LineageOS-Team.

@Lord Boeffla for patiencely answering my questions.

@koenkk

@Sultanxda

@TheFrozen4 for documentation and optimizing this OP.

The microG Team

@UnbracedTundra for all the awesome NLOS-ArtWork.

@zx2c4 for Wireguard VPN (dedicated Wireguard Thread)

@Arnova8G2 for his GoggleCamera port.

@S4turno for this great thread on GoggleCamera Mods.

@knpk13 for debugging this OP.

Substratum Dev Team

@danieldmm for opening my eyes for the obvious... ;)

@mcdachpappe for helping me with additional notification slider options.

@mesziman for helping to get soong play nicely with sdclang.

@Syssx for evolving the bootanimation.

Team MOKEE for longshot.

@MSe1969 for upstreaming the kernel to https://android.googlesource.com/kernel/common/+log/refs/heads/android-3.18 after EOL on kernel.org.

...and everybody I forgot.

Happy flashing!

XDA:DevDB Information

NLOS-16.0, ROM for the OnePlus 3

Contributors

nvertigo67

ROM OS Version: 9.x Pie

ROM Kernel: Linux 3.x

ROM Firmware Required: OxygenOS 5.0.8

Based On: lineageos

Version Information

Status: Beta

Created 2018-12-15

Last Updated 2018-12-18