Linked by Thom Holwerda on Sat 13th May 2017 15:36 UTC

It's that time of the year again: Google unveiling some initiative or whatever with the aim of improving the horrible Android update mess. None of them really panned out, but I begrudgingly have to admit that the project they just unveiled - Project Treble - has some more meat to it than the vague promises and alliances they usually peddle.

The basic gist here is that Google is splitting Android in twain, so they end up with the Android OS Framework and the vendor implementation. The latter - the part that's the reason why so many Android phones don't get updated - can remain the same across operating system updates.

Today, with no formal vendor interface, a lot of code across Android needs to be updated when a device moves to a newer version of Android.

With a stable vendor interface providing access to the hardware-specific parts of Android, device makers can choose to deliver a new Android release to consumers by just updating the Android OS framework without any additional work required from the silicon manufacturers.

This seems like a good idea, but sadly, it won't be backported to older Android versions. Treble will be part of Android O later this year (it's already available in Pixel developer previews), but existing phones won't benefit from it at all. In other words, it'll be a few years before the full effect of this project can be measured.

As a sidenote - and you guys will have to help me out on this one, since I'm not knowledgeable enough to determine this - could this mean it'll be easier to replace the Linux-based vendor implementation with something else in the future? If so, that might be something Google is potentially perhaps maybe possibly interested in.

Thread beginning with comment 644184
To read all comments associated with this story, please click here.
Good news all around.
by przemo_li on Sat 13th May 2017 16:01 UTC
Member since:

First, I agree that Tremble only starts with Android O, and for effect we will have to wait for Android O+1 ;)

However it's still good news. Device oems do not need to wait for drivers vendors to finish their new drivers, to release their new versions of Android.

Custom ROMs scene will not have to wait for never-to-happen release of some binary-blob-only drivers for new Android, before they can claim stable release of new version of ROM.

Smaller OEMs may decide that cost of update is finally acceptable for them.

Google can use VTS as a stick to force higher quality of drivers (or else no VTS certification, and hopefully bad PR in industry press).
Quality of drivers is I think biggest news here. Fragmentation may or may not decrease. But quality of drivers will go up.

PS Fun fact, in order to enforce workable OpenGL ES 3 drivers Google engineers had to revert to using as much of that API as possible in Android itself. Otherwise handsets would ship with "claims of support" but with totally unworkable implementations. Situation is that f***** ** ;)

Edited 2017-05-13 16:02 UTC

Reply Score: 4

RE: Good news all around.
by tidux on Sat 13th May 2017 19:47 in reply to "Good news all around."
tidux Member since:

Agreed, this is a complete sop to chipmakers. Google could just as easily have mandated 100% mainlined drivers, unlocked bootloaders, and use of Device Tree for Android certification, and accomplished the same thing without fucking over everyone else.

Reply Parent Score: 5

RE[2]: Good news all around.
by oiaohm on Sat 13th May 2017 21:34 in reply to "RE: Good news all around."
oiaohm Member since:

Agreed, this is a complete sop to chipmakers. Google could just as easily have mandated 100% mainlined drivers, unlocked bootloaders, and use of Device Tree for Android certification, and accomplished the same thing without fucking over everyone else.

The unfortunate fact is 100% mainlined drivers currently not always possible due to patents with license causes of don't release source to anyone. Yes those drivers normally contain wrappers and binary blobs and are quite problem causing.

In addition to the architectural changes, we're working with our silicon and device partners to take their code changes, such as features for a carrier network in a specific country, and move them into the common Android Open Source Project (AOSP) codebase.

Treble also contains this as notice so its not just hey you can write any binary driver you like.

Personally I see Fuchsia as a stick that Google is threatening hardware vendors with. Being you don't merge stuff or use uniformed interface we will be forced to go microkernel where you will have no choice.

This would not be the first uniformed driver interface under Linux. People forget vesa video drivers under Linux. Also forget

Please note UDI died due to lack of vendor support and vendor complaints about lack of performance.

UDI support was mainline in the Linux kernel at particular points in history and was removed because nothing was using it.

This is why I get annoyed when people say Linux kernel need to provide a binary ABI for drivers. Linux kernel has and no one used it.

Maybe google has enough force to land a binary ABI for parts that cannot be legally open sourced by vendor. Remember some of those things can be like radio configuration for different countries and patented code sections by third parties.

Of course those using the binary ABI are going to have to live with the unavoidable overhead. Vendor interface has to be a wrapper and wrapper code always comes at a performance cost.

UDI did not have a stick to threaten hardware vendors with.

Yes the bluez and other items pulled from Android show how much hardware vendors go for NIH syndrome.

Now making Android being able to update on a common driver base will not make hardware vendors happy because they depend on people having to replace hardware to get the newest OS.

Google is in for a hell of a battle to get Treble past hardware vendors. Treble merging mainline linux should be possible with UDI history. Doing Treble will be lot less of a battle than doing Fuchsia.

Attempting Treble of without the Fuchsia threat would be another UDI of doomed.

This has been the problem with those thinking of Fuchsia as a Android replacement. Fuchsia is need good enough to demo it possibility as effective threat.

Reply Parent Score: 3