Asus Z00A - Zenfone 2 ZE551ML Z00A

  • I am trying to port for Asus Z00A right now. I am quite stuck at this manifests xml stage right now. Can you please tell me if the below xml is good ?

    <?xml version="1.0" encoding="UTF-8"?>
    <!--- Entries for Devices start -->
        <project path="device/asus/Z00A" name="android_device_asus_Z00A" remote="los" /> <!--- Adding this because I found on los -->
        <project path="device/asus/mofd-common" name="android_device_asus_mofd-common" remote="los" /> <!-- Adding this because I found it on lineageos.dependencies -->
    <!--- Entries for Devices End-->
    <!--- Entries for Kernel start -->
        <project path="kernel/asus/Z00A" name="android_kernel_asus_Z00A" remote="los" /> <! -- Really not sure about this one, is this correct? -->
    <!--- Entries for Kernel End -->
    <!--- Entries for Vendor blobs start -->
        <project path="vendor/asus" name="proprietary_vendor_asus" remote="them" /> <!-- I found the device listed on themuppets as per docs so using it -->
    <!--- Entries for vendor blobs end -->

    Is something amiss? Do i need to anything more extra? I have added entries for devices, kernel, and vendor as seen in docs and also for most phones xml listed under halium/devices/manifests currently. This is all I could come up because I created this xml using the current "Asus_T00F.xml" inside halium/devices/manifests". I copied this xml and renamed to Asus_Z00A.xml and then modified the entries based on the instructions from the docs. Not sure if I did that correctly.


  • Can't help you with that, but great that you are working on a port for the Zenfone2! Still a nice phone, but since LinageOS stopped supporting it...
    Anyways, I also see some issues with further downstream stuff, as right now it is all geared to arm and arm64, not x86 as the Zenfone2.

  • @aalavandhaann
    Did you make any further progress on this?

    I researched a bit and it seems like the Kernel used is actually 64bit x86, just the Android "around" it is 32bit. Thus unless Halium forces 32bit as well, it could be really interesting to get a full 64bit OS finally for this great phone.

  • Hi there, you could try this manifest:

    <?xml version="1.0" encoding="UTF-8"?>
    <project path="device/asus/Z00A" name="android_device_asus_mofd-Z00A" remote="los" />
    <project path="device/asus/mofd-common" name="android_device_asus_mofd-common" remote="los" />
    <project path="kernel/asus/Z00A" name="android_kernel_asus_moorefield" remote="los" />
    <project path="vendor/asus" name="proprietary_vendor_asus" remote="them" />

    Note that according to the official haium docs it's recommended to fork or clone all repos to a personal repo, then adding those personal forks to the manifest. 😉

  • @poVoq said in Asus Z00A - Zenfone 2 ZE551ML Z00A:

    just the Android "around" it is 32bit

    Hi what do you mean for "around" ? The halium build tools ?

  • @vlp said in Asus Z00A - Zenfone 2 ZE551ML Z00A:

    @poVoq said in Asus Z00A - Zenfone 2 ZE551ML Z00A:

    just the Android "around" it is 32bit

    Hi what do you mean for "around" ? The halium build tools ?

    No, I was referring to the original Android shipped on the Zenfone2 which has long been lamented for being 32bit, despite having a SOC that was advertised as 64bit.

  • @poVoq hmm ok this is for the original android os right? so this still apply to lineageos 14.1 ? I'm sure that the kernel of version 14.1 operates in 64bit mode but I don't know if the userspace is in 32 bit mode.

  • Yes it also applies to the latest LinageOS. So it must be the user space mode (?) That is 32bit only.

    Would that make running apps build for amd64 impossible when wrapped in Halium?

  • as long as the kernel is 64 bit I think there should be no problems. What do you think about it?

  • @vlp said in Asus Z00A - Zenfone 2 ZE551ML Z00A:

    as long as the kernel is 64 bit I think there should be no problems. What do you think about it?

    Yes maybe. But I wonder if there might be closed source user space android drivers or such that would force UT also into 32bit mode? Sadly the Zenfone2 has one of these pretty locked down GPUs.

  • Do you think that this phone with this kind of architecture could be a dead end?

  • It is already at a dead end when it comes to Android. If it would be able to run amd64 apps compiled for a somewhat theoretical x86 desktop version of ubuntu touch, then it would be probably fine for a few more years. But if it is really stuck in 32bit like on Android, then I think a UT port would not help.

  • Is the kernel really 64-bit? I've built LineageOS 14.1 according to their own guide and uname -m is reporting i686, not x86_64.

  • @MichælArthurLong very contradicting information about it online. See for example:

    This repo clrearly also has some (experimental?) X86_64 stuff:

  • Hi all guys! I'm new member of this community. I have thr Zenfone 2 Z00A and I would like to contribute to port Ubuntu Touch on this devices. in the wiki of lineageOS is written that the CPU is x86_64 but Android is x86.

    however, It's my first time, so How can I help you? What can I do?

  • @giupardeb
    Would be really cool, my Zenfone2 is in a closet at my parents place right now, but if you get something running I'll try to get my hands on it again for testing.

  • @poVoq cool Ok! But I have a question, My Asus model is Z00AD, it's the same?

  • @giupardeb Yes, same. I think that is also the only Zenfone2 model that is of interest for most people as it is still a decent phone by today's standards with 4GB RAM and 64GB internal storage.

  • Hey, just wanted to add some info. I also do own the Z00A and I have already (more or less) successfully ported HALIUM to the device. The device is basically the same hardware as the Google Nexus Player or the Dell Venue 7840.
    As others already stated, I can confirm that the kernel is 64 bit, whereas the OS (i.e. Android) is 32 bit. This is a problem since all proprietary blobs (especially the PowerVR graphics driver) are 32 bit as well. Making it virtually impossible to run a well supported 64 bit OS on the machine (because you cannot get graphics hw acceleration in a 64 bit OS).
    As far as I know, UBPorts does not support x86 at all. So running Ubuntu touch would require a lot of work to create a working rootfs.
    Also the PowerVR graphics blobs as well as the kernel "driver" are very old (DDK version 1.4) - one might want to stick to the version of the Google Nexus Player (which is still old, but it's version 1.8 which does resolve a lot of issues). You might wanna head over to github to see what I did to make the Dell Venue work (fcipaq is my name on github as well).

  • So a 32bit Halium port is mostly done? A pity with the 32bit GPU blob though. Although this must be the userspace portion only right? I wonder if it is not somehow possible to run 32bit userspace drivers on a 64bit kernel, since for other software that is possible.

    Better x86 support from ubports will come sooner or later I think. There are a lot of x86 tablets and 2:1 laptops that could run UT very well.
    I do wonder more about Ubuntu upstream 32bit support as they seem to be dropping it.

Log in to reply