← Back to team overview

ubuntu-phone team mailing list archive

Re: Using 64bit Android BSPs with Ubuntu

 

Just a note that you can still compile libmedia{player,log}service as 64
bit version by removing LOCAL_32_BIT_ONLY from
frameworks/av/media/libmediaplayerservice/Android.mk, and at least that
works for me for the compiling part. Device BSP may contain other
multimedia related proprietary blobs, and they might only be available for
arm32.

media-hub-server should not use libmediaplayerservice.so directly nor
indirectly. It's camera_service, which is a standalone daemon, that runs
inside Android container needs libmediaplayerservice.so.


On Tue, Sep 8, 2015 at 4:29 PM, Simon Fels <simon.fels@xxxxxxxxxxxxx> wrote:

> On 08.09.2015 09:14, Vicamo Yang wrote:
>
>> On Tue, Sep 8, 2015 at 12:54 PM, Simon Fels <simon.fels@xxxxxxxxxxxxx>
>> wrote:
>>
>> On 07.09.2015 17:21, Oliver Grawert wrote:
>>>
>>> Am Montag, den 07.09.2015, 14:57 +0100 schrieb John McAleely:
>>>>
>>>>
>>>> Are these the two options we have? What pros and cons are there for
>>>>> each?
>>>>>
>>>>>
>>>> do you actually know (did anyone test) if hybris would get along with
>>>> running in 32bit on the ubuntu side while the container is 64bit ? i
>>>> suspect there needs to be some syscall translation between the two
>>>> hybris sides ...
>>>>
>>>>
>>> I doubt that will work. At least not for libGLES, libEGL, .. as they
>>> don't
>>> use proper length-defined types like uint16_t. Also from what I've seen
>>> we
>>> can't promise which HAL libraries we get in 32 / 64 bit and which only in
>>> 32 bit and which only in 64 bit. The Android CDT defines a small subset
>>> of
>>> Android libraries which must be available in both variants but that isn't
>>> enough for our purpose. Also I am not entirely sure if the HAL API is
>>> reliable in terms of well defined types.
>>>
>>>
>> Most of the Android BSP libraries has both 32 and 64 bit builds on aarch64
>> if LOCAL_32_BIT_ONLY is not specified. libmediaplayerservice [1] is one of
>> the exceptions. HAL modules usually come with both versions, too. But
>> sometimes there is no 32 bit NFC module, and sometimes no 64 bit bluetooth
>> and camera modules. libGLES, libEGL and all the libs that are required by
>> app_process{32,64} must have both 32 and 64 bit versions because you need
>> app_process32 to exist in 64 bit android to launch 32 bit apps.
>>
>
> I just did a quick check on this. As libmediaplayerservice is 32 bit only
> we would end up with a 32 bit only unity8 and media-hub-server in our
> system as both seem to use the library.
>
> regards,
> Simon
>
>


-- 
Vicamo Yang

References