[OnePlus 3 & 3T Cross Device Development] simonsmh:
LineageOS is a free, community built, aftermarket firmware distribution of Android 9.0 (Pie), which is designed to increase performance and reliability over stock Android for your device.

/*
* 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.
*
*/

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.

-------------

Hello, I'm very excited to tell you that Project Treble is ready to run on our phone. Although it's not stable with always something broken, It's still a nice chance to undergo other ROMs that you want.

Beware that it is only a proof-of-concept try to let everyone know our device is still powerful. They are still well prepared for future Android release. However, the GSIs will never be more stable than device-specific ROMs. This Treble ROM is not suitable for daily use.

The main reason why official LineageOS of our device didn't ship with Project Treble is that we don't have fully binderized camera HALs from Oneplus. If we want to support Treble there must be a lot of compromises.

Things working:

Everything, including camera.

Things not working:

1. [A-only & A/B] SELinux is set to permissive for most GSIs.

Unnecessary and won't fix for now.

2. [A/B] Reboot and stuck at boot animation while GSI installation.

Solution: Use adb for a reboot, don't just hold the power button. After this the system will boot, at least we could get console-ramoops correctly for debugging.

The step-by-step guide on how to treblize your device:

Treble needs a partition called "Vendor", but our device does not have this device. What we need to do is to create a vendor partition by our selves.

I made a custom TWRP Treble build to do this process, here is what you should do in TWRP.

0. Warning

Our device is really old, some users may experience storage failure (Known as CRC failure), please be careful when you treblize your device. If you meet any problem, please check the 9008 unbrick guides in the forum.

1. Flash this TWRP in the download link below.

2. Boot it up and go to "Advanced" -> "Terminal", Type treblize and run.

Treblize is a shell that we could modify our partition. It basically does the same thing as the commands below.

/sbin/sgdisk --typecode=5:8300 /dev/block/sdf
/sbin/sgdisk --change-name=5:vendor /dev/block/sdf

3. Reboot your phone to your current system to check if there is storage failure.

It's very important. Some of the users report it may cause storage broken. You'd better check it first before flashing LOS Treble.

4. Reboot your phone to TWRP.

5. Flash LOS Treble in the download link below.

After these processes, you have got a treblized Oneplus3. Boot it up to check if everything works, or just trying other GSIs anyway.

The step-by-step guide on how to flash GSIs:

0. Treblize.

1. Choose and flash LOS Treble solution first for the vendor partition.

Because of the supporting of system-as-root for our device, you can now use every GSIs if possible. I personally recommend the system-as-root solution for future android standards, although they are basically the same some old recovery install scripts may be broken like opengapps will not working anymore according to the report.

2. Flash A-only or A/B GSI image according to the flag in the download section.

3. Wipe data.

Q&A:

1. Q: What are the limitations to our devices?

A: Sizes. Our device has 3154116608 bytes or 3.15G of system storage. Some GSIs may be larger than our device and due to TWRP's bug it won't be recognized. Here is a guide for linux users to make self modified GSIs images of smaller size.

sudo simg2img <system.img> system.ext4.img
sudo mount -t ext4 -o loop system.ext4.img system/
sudo chown -R <username>:<username> system/
#then enter the system/app folder and remove gmail, maps, google play music, drive, etc.
makeext4fs -T 0 filecontexts -l 3154116608 -L system -system -s flash.img system/

2. Q: Something is broken in some GSIs!

A: That may or may not be our device's fault.

3. Q: Can I install other third-party kernels?

A: You need to make sure that kernel supports mounting vendor partition, or it will brick your device.

Also, the device now is supporting system-as-root, which requires new kernel patchs. Kernels claimed that for treble previously may not work anymore.

4. Q: How to revert my treblized device?

A: Unnecessary. But you can do it yourself with the sgdisk command-line tool, or just use the 9008 tool if you are lazy.

5: Q: How do I install a non-treble ROM with my "treblized" device?

A: As normal. They won't affect each other.

Thanks:

dianlujitao and other LOS devs for current device tree

XiNGRZ for op5 treblize reference

a lot of testers

Chat Group:

https://t.me/joinchat/BrAZb0Zf9p3q7Qz_No5AUA

Join the chat group for sGSI QPR6 guide and more!

Downloads:

[New][A/B] LineageOS 16.0 Treble system-as-root: https://mega.nz/#F!UgdQRYSD!8s-_u2HJQZDEqNnFOnejxQ

[Old][A-only] LineageOS 16.0 Treble: https://mega.nz/#F!A0VmQAaC!Mc3HYZgAkxeoQwGkZyJvwg

[Deprcated][A-only] LineageOS 15.1 Treble: https://androidfilehost.com/?w=files&flid=280568

XDA:DevDB Information

LineageOS Treble, ROM for the OnePlus 3

Contributors

simonsmh, dianlujitao, chenxingyu,

Source Code: https://github.com/OP3Treble

ROM OS Version: 9.x Pie

ROM Kernel: Linux 3.x

ROM Firmware Required: OxygenOS/H2OS 9.0.x

Based On: LineageOS

Version Information

Status: Alpha

Created 2018-08-17

Last Updated 2019-08-27