← Back to team overview

ubuntu-phone team mailing list archive

Re: Using 64bit Android BSPs with Ubuntu

 

On 07.09.2015 15:57, John McAleely wrote:
Folks,

More and more Android devices are shipping in 64bit form. As such, I think
Ubuntu needs a plan to use the drivers from such a system sooner rather
than later.

We have a choice, I think. We can either attempt to build a 64bit Ubuntu
image for phones (broadly, an arm64 version of what we have, for example),
or attempt to use the 64bit Android in a way that is restricted to only the
container which hosts it.

In such a system, the rest of the Ubuntu image need not change at all, and
would exist as a collection of armhf binaries.

I think the safest way is to adapt a bit to what Android does for this today as they have a similar problem (but also a bigger app store which quite more 32bit-only apps than we do). The Android Compatibility Definition (see [1]) defines pretty well what devices must support. Chapter 3.3 Native API Compatibility describes the current situation on Android: Each devices which is 64 bit MUST provide a set of well defined libraries also in 32 bit. Those are mainly all libs which are used by apps build with the Android NDK. That is what we can expect for any Android BSP at the moment if it want to pass the Android CDT.

With this in mind a multiarch system might one of the candidate options if we don't end up with a dependency chain of one of our apps in the store which requires a 64 bit only Android library at the other end.

Similar to what we have on Ubuntu multiarch systems in Ubuntu Android separates 32 and 64 bit binaries into different locations. As libhybris provides a set of wrapper libraries which loads their Android equivalent we need this set of wrappers + libhybris in 32 and 64 bit in our system when doing a multiarch system which would then satisfy our needs.

regards,
Simon

[1]: https://static.googleusercontent.com/media/source.android.com/de//compatibility/android-cdd.pdf


References