OnePlus 5 & OnePlus 5T now support Project Treble on the latest OxygenOS Beta

OnePlus 5 OnePlus 5T Project Treble

OnePlus along with a few other smartphone vendors such as Google, Xiaomi, and Nokia offer a public beta program. OnePlus’ OxygenOS Open Beta program lets you receive updates with new features and security patches long before the stable release reaches most other users. The OnePlus 5 and OnePlus 5T is getting a new OxygenOS Open Beta 13 and Open Beta 11 respectively, and they bring something quite surprising to the mix: Project Treble compatibility.

Project Treble was announced ahead of Google I/O 2017 before we even knew most of the new platform features in Android Oreo. The idea behind Treble is to modularize the Android operating system so it’s easier for manufacturers to push updates to the software. By separating the vendor HALs from the Android framework and providing a standard interface between the framework and HALs, Google has made it faster for device makers to bring up new versions of Android. This, in turn, gives device makers more time to work on software features to make the user experience more enjoyable, and Google directly credits Project Treble behind the reason Android P is introducing so many new software features compared to Android Oreo. Lastly, Treble support played a big part in the reason non-Google devices like the OnePlus 6, Xiaomi Mi Mix 2S, Sony Xperia XZ2, Nokia 7 Plus, and more have early access to an Android P beta.

Treble support is mandatory for any device manufacturer launching a device with Android 8.0 Oreo and above but is not a requirement for any device that upgrades to Android Oreo. We’ve seen several devices from the likes of Huawei receive Treble support, where OnePlus and Nokia previously stated that bringing support for Treble wasn’t on the table. The reason that OnePlus gave us was that they felt it would be risky to repartition the OnePlus 5 and OnePlus 5T via an OTA update. However, as demonstrated by an independent ROM developer, there’s plenty of unused space available on each device which can be repurposed into a vendor partition suitable for moving the HALs. We haven’t examined the partition table of the OnePlus 5 and OnePlus 5T running the latest OxygenOS Open Betas yet to confirm how they handled the process, but at the very least this is still exciting news for owners of these devices.

Update: here is the partition table of the OnePlus 5 running the latest Open Beta. As you can see, there’s now a vendor partition.

OnePlus 5 Partition List on OxygenOS Open Beta 13


drwxr-xr-x 2 root root 1480 1970-11-28 23:34:41.249999999 -0500 .
drwxr-xr-x 4 root root 1640 1970-11-28 23:34:41.249999999 -0500 ..
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 LOGO -> /dev/block/sde18
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.249999999 -0500 abl -> /dev/block/sde16
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 ablbak -> /dev/block/sde17
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 apdp -> /dev/block/sde31
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.249999999 -0500 bluetooth -> /dev/block/sde24
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 boot -> /dev/block/sde19
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 boot_aging -> /dev/block/sde20
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 cache -> /dev/block/sda3
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 cdt -> /dev/block/sdd2
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 cmnlib -> /dev/block/sde27
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 cmnlib64 -> /dev/block/sde29
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 cmnlib64bak -> /dev/block/sde30
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 cmnlibbak -> /dev/block/sde28
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.209999999 -0500 config -> /dev/block/sda12
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 ddr -> /dev/block/sdd3
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 devcfg -> /dev/block/sde39
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 devinfo -> /dev/block/sde23
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.209999999 -0500 dip -> /dev/block/sde14
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.249999999 -0500 dpo -> /dev/block/sde33
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.219999999 -0500 dsp -> /dev/block/sde11
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.219999999 -0500 frp -> /dev/block/sda6
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.249999999 -0500 fsc -> /dev/block/sdf4
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.249999999 -0500 fsg -> /dev/block/sdf3
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 fw_4g9n4 -> /dev/block/sde45
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 fw_4j1ed -> /dev/block/sde43
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 fw_4t0n8 -> /dev/block/sde46
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 fw_8v1ee -> /dev/block/sde44
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.219999999 -0500 hyp -> /dev/block/sde5
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 hypbak -> /dev/block/sde6
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 keymaster -> /dev/block/sde25
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 keymasterbak -> /dev/block/sde26
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.219999999 -0500 keystore -> /dev/block/sda5
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 limits -> /dev/block/sde35
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.249999999 -0500 logdump -> /dev/block/sde40
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 logfs -> /dev/block/sde37
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.239999999 -0500 md5 -> /dev/block/sdf5
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 mdtp -> /dev/block/sde15
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.219999999 -0500 mdtpsecapp -> /dev/block/sde12
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.219999999 -0500 mdtpsecappbak -> /dev/block/sde13
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 minidump -> /dev/block/sde47
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 misc -> /dev/block/sda4
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 modem -> /dev/block/sde10
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.239999999 -0500 modemst1 -> /dev/block/sdf1
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.239999999 -0500 modemst2 -> /dev/block/sdf2
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.249999999 -0500 msadp -> /dev/block/sde32
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.219999999 -0500 oem_dycnvbk -> /dev/block/sda7
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 oem_stanvbk -> /dev/block/sda8
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.229999999 -0500 param -> /dev/block/sda9
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.239999999 -0500 persist -> /dev/block/sda2
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.249999999 -0500 pmic -> /dev/block/sde8
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.239999999 -0500 pmicbak -> /dev/block/sde9
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 recovery -> /dev/block/sde22
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.249999999 -0500 reserve -> /dev/block/sdd1
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 reserve1 -> /dev/block/sda10
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.209999999 -0500 reserve2 -> /dev/block/sda11
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.229999999 -0500 reserve3 -> /dev/block/sdf7
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.239999999 -0500 rpm -> /dev/block/sde1
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 rpmbak -> /dev/block/sde2
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.239999999 -0500 sec -> /dev/block/sde7
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 splash -> /dev/block/sde34
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.229999999 -0500 ssd -> /dev/block/sda1
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 sti -> /dev/block/sde38
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.249999999 -0500 storsec -> /dev/block/sde41
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.239999999 -0500 storsecbak -> /dev/block/sde42
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:40.559999999 -0500 system -> /dev/block/sde21
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.229999999 -0500 toolsfv -> /dev/block/sde36
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.219999999 -0500 tz -> /dev/block/sde3
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.219999999 -0500 tzbak -> /dev/block/sde4
lrwxrwxrwx 1 root root 16 1970-11-28 23:34:41.219999999 -0500 userdata -> /dev/block/sda13
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:40.559999999 -0500 vendor -> /dev/block/sdf6
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 xbl -> /dev/block/sdb1
lrwxrwxrwx 1 root root 15 1970-11-28 23:34:41.209999999 -0500 xblbak -> /dev/block/sdc1

We’ve talked in great depth about the benefits that Treble brings to custom AOSP-based development, but given that the OnePlus 5/5T already have a strong development community behind them the benefit of Treble won’t be felt in this area. Instead, Treble compatibility will make it easier for OnePlus to push security patch updates to better support the devices in the long-term as they have recently promised. We’ll have to wait and see if bringing Project Treble support to the OnePlus 5 and OnePlus 5T will yield real benefits for the devices, but we’re confident that it’ll help.

But enough about Treble support. The latest OxygenOS Open Betas bring more to the table than Treble. Here’s the full changelog:

OxygenOS Open Beta 13/11 for the OnePlus 5/OnePlus 5T

  • System
    • A brand new user interface
    • Supported accent color (Settings – Display – Customization)
    • Supported for Project Treble
  • Launcher
    • Improved search tags in the app drawer
    • Added “New installs” category tag in the app drawer
    • Improved app list for hidden space and toolbox
  • Phone
    • Optimized logic for the contacts page
  • Weather
    • Brand new design with improved user experience
    • All forecasts integrated under a single interface leading to a fully immersive experience

We can see from the changelog that OnePlus is still improving the launcher experience by adding search tags in the app drawer, a “new installs” category, and an improved app list. The weather application also has a new look as does the system. We’re not yet sure what “a brand new user interface” means as the update hasn’t been pushed out to users yet. The changelog also mentions new accent colors, though it’s unclear if this means full accent color customization just like the latest Android P beta on the OnePlus 6.

Update: We can confirm that the latest beta brings full accent color customization. As for the “brand new user interface,” we did notice some icon changes but we don’t see that many style changes otherwise. Here are a few screenshots of the latest Open Beta.

OnePlus 5 OxygenOS 13 OnePlus 5 OxygenOS 13 OnePlus 5 OxygenOS 13 OnePlus 5 OxygenOS 13 OnePlus 5 OxygenOS 13 OnePlus 5 OxygenOS 13

OnePlus warns users to flash earlier OxygenOS Open Beta (10 for OnePlus 5T and 12 for OnePlus 5) build first before the new update to avoid data loss. If you fail to do so and decide to update from the stable version of the system, you have to do a clean flash beforehand. That means clearing cache as well as data from the recovery (using TWRP is always recommended).

You can download the Open Beta builds once they’re available from the link here. Those who are already on the Open Beta build will receive an OTA update and won’t have to flash the zip file manually. You can also skip the line and get the update by using the Oxygen Updater app as mentioned in our tutorial here.

We’ll update the article with more details and screenshots as soon as the update will be available on the server. Stay tuned for more details.

loading...