[Sugar-devel] Current Sugar implementation on Android

Daniel Narvaez dwnarvaez at gmail.com
Sat Apr 13 20:19:44 EDT 2013


Hello,

I was curious about what it would take to port enough of the GNOME
libraries to android to be able to run the current Sugar implementation
there. I'm not planning to work on it, but I thought it would be useful to
post some notes on what I found.

The way people are building android derivatives is to create a custom
manifest

http://phablet.ubuntu.com/gitweb?p=CyanogenMod/android.git;a=blob;f=default.xml;hb=refs/heads/phablet-10.1

And then fork all the repository which needs modifications

http://phablet.ubuntu.com/gitweb

Then there are basically two possible approaches to run linux libraries

1 Port them to use bionic (the Android libc library) and adapt the build
system to follow Android conventions.

Collabora has done some work on the GNOME libraries

http://cgit.collabora.com/git/android/

And wrote a tool to generate an android makefile from an autotools based
buildsystem

http://cgit.collabora.com/git/android/androgenizer.git/

Still it's a painful process

http://lwn.net/Articles/510465/

This is also the approach Firefox OS has taken, but it's way easier for
them because most of their code is cross platform.

2 Install libraries built for linux arm in a chroot.

The issue then is how to link to system libraries, built with bionic. A
pretty smart hack has been developed to make this possible

https://github.com/libhybris/libhybris

Ubuntu touch is using that for a few libraries, including surface_flinger
(graphics).

https://github.com/f69m/ubuntu-phablet_libhybris/tree/master/compat

Now Ubuntu is developing it's own graphic stack, mir. Porting gtk3 to it is
planned for the end of this year (I'm curious to see if the gtk hackers
will take those patches though).

Fortunately the libhybris maintainer claims to have ported Wayland to
Android, using the library.

http://mer-project.blogspot.fi/2013/04/wayland-utilizing-android-gpu-drivers.html

No source code yet but he intends to release it at some point.

Gtk3 has a Wayland backend. The window management bits in Sugar would need
to be ported to it (it would make sense anyway at some point, GNOME is
being ported).

So... Maybe Ubuntu touch (or something like it) + Wayland Android + Sugar
Wayland == Sugar on Android.

-- 
Daniel Narvaez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20130414/4c45bd40/attachment.html>


More information about the Sugar-devel mailing list