[OnePlus 3T ROMs, Kernels, Recoveries, & Other Deve] Deleted member 4405529:
NLOS is an unofficial 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 [MENTION=4379461]UnbracedTundra[/MENTION] NLOS has it's own logo, bootanimation and wallpapers.

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

My priorities are stabillity, battery, performance - in that order. At the moment this means this build is optimized for oneplus3t - and it

runs only on oneplus3t.​

In addition this rom contains two patches (https://github.com/microg/android_p...aster/patches/android_frameworks_base-N.patch and https://github.com/microg/android_p...aster/patches/android_frameworks_base-N.patch) to be microG ready - this means freedom of choice to flash either gapps or install (microG How to use Android without Google Apps). Since LineageOS lacks a theme engine this rom comes with OMS patches applied and is Substratum ready.

NLOS is shipped with Camera2 (atm I recommend the modded Google Camera from Modded Google Camera with HDR+, 60FPS video and Slow Motion by [MENTION=4487956]S4turno[/MENTION] or the modded OnePlusCamera from my downloads - do NOT! install both the same time: it's GCam XOR OPCam.

The kernel is prepared for Wireguard VPN - to use Wireguard for vpn-tunnels you need to get the WireGuard-apk from playstore. WireGuard developer [MENTION=5434776]zx2c4[/MENTION] runs a dedicated Wireguard Thread.

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 Unofficial LineageOS 14.1 builds for oneplus3t - it is not for oneplus3. The following will not be supported here:

Custom kernels

Mods

Xposed

gapps packages bigger then opengapps-nano (read this.)

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 bigger then opengapps-nano)

First time flashing LineageOS 14.1 on your device, or coming from another ROM?

Download the ROM below in the downloads section (or from a mirror; see posting #2)

If you have downloaded a build with "firmware" in it's name, the needed firmware is included and installed while flashing. If you have downloaded a build without "firmware" in it's name, you need to flash the needed firmware BEFORE flashing the rom. You'll find the firmware flashable zips near the end of this posting. New files are added on top of the list.

Download exactly Beans Dynamic Mini Gapps (Note that any other version of Google Apps are known to have wide spread side effects - see posting #4; section "gapps' known issues"

Install exactly this TWRP.

Reboot into recovery.

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

Flash firmware if not using a build with "firmware" in it's name.

Wipe system, data and cache. (Before flashing anything, make sure the system partition is NOT mounted: TWRP-home->mount->uncheck system)

Flash LineageOS

Flash Google Apps (see posting #4; section "gapps' known issues") If you want to use microG skip this step and install microG (How to use Android without Google Apps).

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

Updating this rom

Dirty flashing should work just fine: reboot into recovery and flash a newer LineageOS zip. Settings, apps and even google apps should be 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.cmxlog.com/14.1/

Since my time is quite limited till end of October, the update frequency is reduced to 7 to 10 days.

Build 20180309

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

This is most propably the last NLOS-14.1 build. I want to say "Thanx" to all users. Please feel invited to to use NLOS-15.1!

EOL.

Changelog:

Sync to upstream: March Security Patch.

boeffla_wl_blocker: defconfig: enable wl_blocker. — nvertigo

wl_blocker: add more wakelocks to the default block list — Francisco Franco

boeffla_wl_blocker: update to wakelock blocker driver v1.1.0 — andip71

boeffla_wl_blocker: update to wakelock blocker driver v1.0.1 — andip71

boeffla_wl_blocker: add generic wakelock blocker driver v1.0.0 — andip71

WG: squash WireGuard-0.0.20180304. — nvertigo

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

Happy flashing!

History

Build 20180214

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

There has been some confusion on twrp versions, lately. For nlos always use the "original nougat twrp-3.2.1-0".

If you have issues with bootloops or access to data with some apps, use "original nougat twrp-3.2.1-0" to FORMAT(!) the data partition of the device:

Backup all your data (eveything under /sdcard/; i.e. Downloads, Vodeo, DCIM, etc...)

Boot to "original nougat twrp-3.2.1-0".

Tap on "Wipe".

Tap on "Format Data".

Confirm with swipe. This actually clears your complete data partition, including all data and encyption.

Check if the newly created fs is the type you want (ext4 and f2fs is supported) - eventually change it to your liking.

Just follow the OP's procedure for first installs from OP's "Installation" section (clearing data is allready done, of course).

Changelog:

Sync to upstream: Feb. Security Patch

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

Happy flashing!

Build 20180206

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

There has been some confusion on twrp versions, lately. For nlos always use the "original nougat twrp-3.2.1-0".

If you have issues with bootloops or access to data with some apps, use "original nougat twrp-3.2.1-0" to FORMAT(!) the data partition of the device:

Backup all your data (eveything under /sdcard/; i.e. Downloads, Vodeo, DCIM, etc...)

Boot to "original nougat twrp-3.2.1-0".

Tap on "Wipe".

Tap on "Format Data".

Confirm with swipe. This actually clears your complete data partition, including all data and encyption.

Check if the newly created fs is the type you want (ext4 and f2fs is supported) - eventually change it to your liking.

Just follow the OP's procedure for first installs from OP's "Installation" section (clearing data is allready done, of course).

I have reintroduced lineageos Snpdragon Camera (Snap), because of it's new implemented QuickReader - the issue with crashes on one of the first ff-cammtaken pics is still present. Wiping system and reflashing BeansGapps-Mini-7.1.x-20170725.zip is highly recommended!

Changelog:

op3: Address SELiunx denials — dianlujitao

op3: Unbreak perfd — dianlujitao

Revert "Drop LineageOS/CAF SnapCam aka Snap." — nvertigo

qcacld-2.0: Update to LA.UM.5.5.r1-06700-8x96.0 — dianlujitao

Merge tag 'LA.UM.5.5.r1-06700-8x96.0' into cm-14.1 — dianlujitao

ANDROID: xattr: Pass EOPNOTSUPP to permission2 — Daniel Rosenberg

ANDROID: sdcardfs: Move default_normal to superblock — Daniel Rosenberg

ANDROID: sdcardfs: Fix missing break on default_normal — Daniel Rosenberg

f2fs: Reset to v4.14-rc1-3.18 — dianlujitao

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

Happy flashing!

Build 20180131

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

Changelog:

Mantainance: synced to los.

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

Happy flashing!

P.S.: chagallwifi build is updated as well - f2fs for cache and data fixed.

Build 20180120

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

Changelog:

Revert "Track our own version of android_vendor_codeaurora_telephony." — Nvertigo

Update WireGuard to 0.0.20180118.

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

Happy flashing!

Build 20180116

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

Changelog:

Xtra Fixes - https, version check & version 3 — Wyatt Riley

January security update.

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

P.S.: chagallwifi build is updated as well - aptx enabled.

Happy flashing!

Build 20180109

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

Some new fs, fs-crypt and sdcardfs patches has been merged upstream. Perhaps these also solve the remaining issues with bootloops, though I have only very little hope these will avoid the necessity of reformatting the user-data partition.

Changelog:

fscrypt: move to generic async completion — Gilad Ben-Yossef

crypto: introduce crypto wait for async op — Gilad Ben-Yossef

fscrypt: lock mutex before checking for bounce page pool — Eric Biggers

fscrypt: new helper function - fscrypt_prepare_setattr(

fscrypt: new helper function - fscrypt_prepare_lookup(

fscrypt: new helper function - fscrypt_prepare_rename(

fscrypt: new helper function - fscrypt_prepare_link(

fscrypt: new helper function - fscrypt_file_open(

fscrypt: new helper function - fscrypt_require_key(

fscrypt: remove unneeded empty fscrypt_operations structs — Eric Biggers

fscrypt: remove ->is_encrypted(

fscrypt: switch from ->is_encrypted(

fs, fscrypt: add an S_ENCRYPTED inode flag — Eric Biggers

fscrypt: clean up include file mess — Dave Chinner

fscrypt: fix dereference of NULL user_key_payload — Eric Biggers

fscrypt: make ->dummy_context(

ANDROID: sdcardfs: Add default_normal option — Daniel Rosenberg

ANDROID: sdcardfs: notify lower file of opens — Daniel Rosenberg

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

P.S.: chagallwifi build is updated as well.

Happy flashing!

Build 20180106

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

I've done some testing with toolchains: I couldn't find any advantage using Snapdragon llvm, so I decided to stay with laos stock clang. I also found that using a gcc-6 based cortex-a53 toolchain on the kernel (instead of 4.9) makes the resulting kernel a very little bit more bat friendly. But I did NOT found any advantage of UBERTC/Linaro compared to plain (no Linaro patches and enhancements) gcc-6 build for cortex-a53.

Considering those observations, I decided to use:

kernel: cortex-a53 optimized gcc-6.4.1 (crosstool-ng, config: https://bitbucket.org/nvertigo/aarc...og.bz2?at=master&fileviewer=file-view-default)

All other c- and c++-code in the rom: stock laos llvm/clang

Your milleage may vary, but to me this combination is CURRENTLY giving the best ballance of performance and bat life. Let me know your impressions.

Changelog:

Remove Snapdragon LLVM. — Nvertigo

Add aarch64-linux-android-6.4: stock gcc version 6.4.1 20171215 (crosstool-NG crosstool-ng-1.23.0-288-gadaa3a5d

Remove aarch64-linux-android-6.x. — Nvertigo

Remove aarch64-linux-android-5.x. — Nvertigo

Remove aarch64/aarch64-linux-android-4.9. — Nvertigo

Remove aarch64-linux-android-4.9-kernel. — Nvertigo

Fix derp in opting in LINEAGE_VERSION_APPEND_TIME_OF_DAY. — nvertigo

Opt in LINEAGE_VERSION_APPEND_TIME_OF_DAY. — nvertigo

Use GNU gcc 6.4.1 for kernel building. — nvertigo

gcc-6.4.1: disable unused-const-variable warnings. — nvertigo

gcc-6.4.1: remove unsed variable fsm_en. — nvertigo

gcc-6.4.1: fix a bunch of (misleading) indents. — nvertigo

bluetooth: hci_sock: Fix warning detected by gcc 5.3.1 — NewEraCracker

tfa9890: tfa_container: Fix warnings detected by gcc 5.3.1 — NewEraCracker

treewide: Fix code errors detected using Linaro GCC 6.3.1 — Sultan Alsawaf

treewide: Properly fix use of uninitialized variables — Sultan Alsawaf

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

Happy flashing!

Build 20171230

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

Changelog:

mcpu: use cortex-a53 with stock clang/llvm. — nvertigo

Revert "msm: camerav2: isp: Reserve rdi ub based on image size" — nvertigo

Revert "msm: camera: Synchronize v4l2 subscribe and unsubscribe event in camera.c" — nvertigo

Revert "msm: camera: isp: Allocate kernel page and map to userspace" — nvertigo

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

Happy flashing!

May the source be with you and yours in 2018!

Build 20171223 (xmas-firmware)

Releasenotes:

This build requires firmware OpenBeta 15 (aka ob15). As always an archive of all firmwares can be found below in the firmware section of Downloads - the flashable firmwares are the original (file names starting with oxygenos* hold original fw files) OnePlus fw images. NLOS and 'old'-style bootlogos can be found down in this posting.

Changelog:

Firmware requirementsnhave not changed, but to avoid unneseccary hussles during Xmas I included the firmware (with nlos bootlogo) again for this build.

disable SDCLANG and UBERTC for now (to minimize any issues).

Bootlogo: add NLOS bootlogo. — nvertigo

net/wireguard: add wireguard importer — nvertigo

Revert "msm: mdss: Do not attempt to request TE irq again if already requested" — dianlujitao (laos/cm-14.1

op3: Regen defconfig — dianlujitao

ANDROID: ion: Fix uninitialized variable — Daniel Rosenberg

drivers: staging: Update qcacld-2.0 driver — Luca Stefani

Merge tag 'LA.UM.5.5.r1-06400-8x96.0' of https://source.codeaurora.org/quic/la/kernel/msm-3.18 into cm-14.1 — dianlujitao

sepolicy: allow apps to stat processes. — nvertigo (nvertigo/nlos-14.1, github/nlos-14.1, nlos-14.1

sepolicy: allow cameraserver to search mpctl socket directories. — nvertigo

sepolicy: add a bunch of denials need for different apps. — nvertigo

sepolicy: allow hostapd to access diag_device. — nvertigo

gps: update to LA.UM.5.5.r1-06400-8x96.0. — nvertigo

Revert "IMS: fix derp: remove some test settings again." — nvertigo

sepolicy: allow time_daemon to connect to unix_stream_socket. — nvertigo

sepolicy: allow mediacodec to search mpctl. — nvertigo

sepolicy: allow system_server to use setsched. — nvertigo

init: set downmigrate after upmigrate. — nvertigo

init: remove some artefacts from eas. — nvertigo

oneplus3: Enable framework sched boost — Sultanxda

BoardConfig.mk: remove out-commented SDCLANG. — nvertigo

Bootlogo choices

nlos_bootlogo-v0.1.zip

back_in_black_bootlogo-v1.0.zip

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

Happy flashing!

Firmware

NVertigo's Oxygen Firmware Archive

Renamed blobs (for use with custom kernels build for unified roms)

NVertigo's UniBlob Archive

TWRP

https://xdaforums.com/oneplus-3/development/recovery-official-twrp-oneplus-3-3t-t3543391

Google Apps:

Beans Dynamic Mini Gapps

Source and toolchains

https://github.com/LineageOS/

https://github.com/nvertigo/local_manifest/tree/cm-14.1 (If you want to build this rom yourself, consult the file named README)

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

team-exynos5429 for the OP templete.

All the LineageOS-Team.

[MENTION=947981]Lord Boeffla[/MENTION] for patiencely answering my questions.

[MENTION=7896746]koenkk[/MENTION]

[MENTION=4800121]Sultanxda[/MENTION]

[MENTION=4827031]TheFrozen4[/MENTION] for documentation and optimizing this OP.

[MENTION=341181]m0d hipp¥[/MENTION] for mirroring.

[MENTION=3044422]mad-murdock[/MENTION] for first testings.

The microG Team

Nathan Chancellor for LineageOMS, especially for this wonderfull piece of software.

[MENTION=6745491]joshuous[/MENTION] for introducing and explaing EAS to me and making VoxPopuli public. Last and not least for running EAS-Project.

[MENTION=5438598]RenderBroken[/MENTION] for providing EAS patches for EAS-Project's LineageOS based kernel.

[MENTION=4379461]UnbracedTundra[/MENTION] for all the awesome NLOS-ArtWork.

[MENTION=5434776]zx2c4[/MENTION] for Wireguard VPN (dedicated Wireguard Thread)

...and everybody I forgot.

Happy flashing!