All roads lead to ROM: Project Treble empowers Android modders

Thanks to Project Treble, Android Oreo could ring in a new era of Android mods and custom ROMs. Since reverse engineering is no longer necessary to get the camera, fingerprint sensor and other components working, you can completely change the software on Oreo smartphones in no time. Several examples show that the new ROMs are even compatible with several devices at once.

Many smartphone users still have a strong desire to choose the software for their smartphone themselves. Certain manufacturer skins like the Samsung Experience or Huawei’s EMUI are well-conceived and comprehensive; however, some users find them too full of functions that they will never use but can never get rid of either.

Until now, one solution to this problem was looking for a smartphone for which numerous third-party providers have patiently and painstakingly developed what is known as a custom ROM: An alternative operating system with the same range of functions.

However, this alternative takes considerable effort: freely accessible Android source code (AOSP) must be reconciled with the smartphone’s closed-source hardware components. Several months of reverse engineering take place until Wi-Fi, the camera, fingerprint sensor, NFC and other components work flawlessly with the custom software.

And this is precisely where Project Treble comes in: All this fiddling around with hardware reverse engineering is no longer necessary thanks to new mandatory standards for devices that are released with Android Oreo. Anyone who does not play ball with the standard is not allowed to release a phone with Google’s Play Store, but how exactly does the system work?

Smartphone manufacturers must implement their hardware for Project Treble in such a manner that Android can talk to it via a unified language (the HAL Interface Definition Language (HIDL)). If you compare it to cars, as Mishaal Rahman from XDA Developers has done, it would be as follows:

Imagine if we lived in a world where every car manufacturer decided to design their steering wheels or re-arrange their brakes in a completely different way. If you put a driver in a new car, they may be confused with how to initially handle the vehicle. But thanks to standards, every driver should be familiar with how to operate a steering wheel and brakes on almost any car. Further, driving school teaches all drivers the proper way to operate a vehicle. In this analogy, the vehicle standards are Project Treble and driving school is HIDL.

For Modders, Project Treble is the Revolution

The new rules of the game that Google has thus imposed on smartphone manufacturers are groundbreaking in the modding community, because not only does it do away with a lot of aggravation with incompatible hardware, it also means that system images that are created once are compatible with numerous smartphones, making them interchangeable.

Multi-ROMs are becoming a reality. Numerous developers that until now have only been able to work on one device can now collaborate with developers more efficiently on other devices, which is a boon for the quality of third-party ROMs.

A bit of work still needs to be done

Of course, Treble does not solve the problem of locked bootloaders and the loss of warranty that often comes with unlocking them. We will continue to deal with shenanigans if we want to freely choose the software for our devices, but at least there are enough manufacturers like Sony, OnePlus, LG or HTC that at least partially support bootloader unlocking and set a good example.

Treble Will Not Come Via an Update

Devices that are released to market with Android 8.0 Oreo have to fully support Project Treble and HIDL. Devices that are slated to receive an update to Android 8.0 Oreo are not subject to this obligation. Since a re-partitioning of the flash memory is necessary for Project Treble, it’s likely that nearly all manufacturers do not want to bring it to existing devices via an update.

One positive example of the contrary is demonstrated by Huawei with its Mate 9. Here, the system hardware drivers are swapped into the new vendor partition and coupled to the system according to Project Treble. It is one of the first devices that has been successfully used for testing Treble custom ROMs.

Are Android Smartphones Now Totally Free?

Project Treble is certainly not a liberation in the sense of free software. The amount of freedom is naturally much greater via an alternative ROM, but there is still a lot of closed-source software in the new vendor partition. Taking a look inside is outside of our control, and it’s practically impossible to control the activities programmed therein as well.

If you truly want a free smartphone, your only choice is to wait for the Purism Librem 5, which is slated to be available with mainly openly documented hardware and software and contain physical switches for all other components.

On the other hand, Project Treble represents Android’s greatest liberation in years.

What do you think? Are you excited for more control over your device's software?

2 comments

Once you are left alone with devices that are considered not profitable for manufacteres update it, I think the ideal world was if you can opt to have a easy way to choose your own custom rom or make it. As the same way that happens in Windows or Linux, the Plug and Play technology is not that new, Android can go further to give that choice for costumers. Something that allow "old devices" owners to choose their own operating system (custom rom) and update their devices freely, having more secure updates from new core systems. It does not look impossible, as far as I understand. A operating system is basically composed by a core system and drivers that allow the system to "talk" with diferent parts os the hardware, like cameras, finger print sensors, NFC, Modens and all sort of hardware that composed the device. A Windows or Linux system does not "know" what kind of hardware they will run on, it will need a lot of drivers to allow the core system to run in each model of PC, but the plug and play technology allow the core system to identify those componentes and run smoothlly, even though you have to "give" the system all drivers that it needs, and compile the entire system with then, I cannot understand why is so dificult to make a custom rom to run in a specific tablet or smartphone.Course it can be a tremendous lack of knowledge about Android systems, but it seems to me totally doable to have a kind of repository where you choose the core system version, all drivers for your device and compile all together to have a brend new custom rom to install on it mainly when the manufacture live you alone with your "obsolete" tablet or smartphone.

The problem is that unlike the x86 PC platform, which has ACPI and a standardized way for operating systems like Windows or Linux to "discover" the hardware on a given computer and load the appropriate drivers, ARM-based devices like Android smartphones and tablets do not have this same industry-wide standardization..not even within the same CPU series (Snapdragon, Exynos, Kirin). It's basically a free-for-all with different manufacturing doing things differently to get the same result...which means that you either have to have elite programming/hacking skills to get a custom ROM running on an Android smartphone or hope that someone else on XDA has the time/patience/skills to do so.

Project Treble aims to alleviate this somewhat by abstracting the kernel and low-level stuff so that ANDROID ROMs (not Linux or anything else) can at least run interchangeably on Project Treble-compatible smartphones,