← Back to team overview

ubuntu-phone team mailing list archive

Android apps and XMir GL support

 

Dear all,

this is a follow-up from my "Convergence, Browser and WebRTC" thread.

Following some suggestions I used the installed Chromium browser and the
ARChon Runtime to start or better try some Android apps. However, so far
it seems to take ages until Android apps start due to missing GL support
or some other problem.

To run Android apps on my BQ 4.5 Ubuntu Touch I did the following:

* I used the chromium-browser and settings from my "Convergence, Browser
and WebRTC" thread. However, I had to downgrade the chromium-browser by
typing 
	sudo apt-get install chromium-browser=41.0.2272.76-0ubuntu1.1134
because the WebGL support was removed in Chromium 43 by the maintainer,
see the following bug report.
https://bugs.launchpad.net/ubuntu/+source/chromium-browser/+bug/1463598

* Afterwards I followed these manuals to install the ARChon runtime in
Chromium
http://www.techverse.net/run-android-apps-google-chrome-archon-runtime-environment/#
https://archon-runtime.github.io/
https://github.com/vladikoff/chromeos-apk/blob/master/archon.md
Note: The newest stable arm version of the ARChon runtime seems to be
1.2
http://archon.vf.io/ARChon-v1.2-ARM.zip

Hereby, I downloaded and unzipped the ARChon runtime to /home/phablet
since I had not enough space on / left. Nonetheless, this should work.

* I installed the 2048 android app and the WakeOnLan android app inside
of Chromium using this links
https://github.com/vladikoff/chromeos-apk/releases/download/v1.1.0/com.uberspot.a2048.android-ARChon-runtime.zip
https://docs.google.com/spreadsheets/d/1iIbxaftAu_ho5rv9fUlXSLTzwU6MbKOldsWXyrYiyo8/edit?pli=1#gid=0
To install I just had to unzip them and to add them inside of Chromium.

* I tried to install the apps but I got the error message that WebGL is
not supported by Chromium.

* I had a look on chrome://gpu and found out that software rendering was
used and WebGL disabled (see attached screenshot).

* For this reason, I navigated to the chrome://flags  settings inside of
Chromium.
I enabled the  #ignore-gpu-blacklist and the #disable-webgl flag.
After a relaunch WebGL was enabled, however, still MESA software
rendering was used (see attached screenshots).
Nevertheless, the apps started or at least a background image was shown.

* I then found out that there is an option to activate the support for
the GL support of the Mali GPU used in my BQ 4.5:
--use-gl=egl

To use this option together with two further tweaks I updated my
original programstarter.sh shell script:
####################################
#!/bin/bash
export DISPLAY=:1
if pgrep Xmir > /dev/null
        then
                echo "Xmir already running"
        else
                Xmir $DISPLAY --desktop_file_hint=/home/phablet/.local/share/applications/chromium-browser.desktop &
fi
sleep 0.5
if pgrep fluxbox > /dev/null
        then
                echo "fluxbox already running"
        else
                fluxbox &
fi
LIBGL_DRI3_DISABLE=1 chromium-browser --use-gl=egl  --enable-webgl     &
if pgrep xvkbd > /dev/null
        then
                echo "xvkbd already running"
        else
                xvkbd -geometry 540x320+0+550 -compact 
fi
###########################################################

* After using this option I could see in chrome://gpu that the hardware
acceleration is used (see screenshots). But I still got a few error
messages in terminal and also in the chrome://gpu.

* Finally, I tried to start again the android apps and I also get a
widget with the logo or background of the android app (see attached
screenshots). Furthermore, the ARChon runtime complains that it runs
in some timeouts.

So my impression is that the GL support in Chromium is not working even
though a Mali GPU is used in BQ 4.5. The missing GL support and
resulting software rendering leads then to an incredible long
computation time to display the android apps.
Besides of that it seems if android apps would work in this way.

Should I file a bug report against XMir due to the missing GL support?

Are there any other ways to get android apps running on an arm
processor?

Since I find it important to have the possibility to run Android apps in
the next few months until enough momentum was gained that also all major
apps are provided for Ubuntu Touch I will propose a Kickstarter project
in a second mail in an instant.

Best regards,

Marco



Attachment: android-2048-app.png
Description: PNG image

Attachment: android-wake-on-lan-app.png
Description: PNG image

Attachment: gpu-hardware-rendering.png
Description: PNG image

Attachment: gpu-hardware-rendering-2.png
Description: PNG image

Attachment: gpu-hardware-rendering-errors.png
Description: PNG image

Attachment: gpu-software-rendering.png
Description: PNG image

Attachment: gpu-software-rendering-2.png
Description: PNG image

Attachment: gpu-software-rendering-3.png
Description: PNG image

Attachment: signature.asc
Description: This is a digitally signed message part