13 Jul 2012

Wayland on Android snapshot release: input

It is time to announce the android-4.0.1_r1.2-b snapshot release of the Wayland on Android project at Collabora! We give you: input support in Weston and a finger-painting demo!

Collabora will have people at GUADEC demoing this on real devices, though not me personally.

Click to see the video!

This release provides ports of the following projects (git repositories, really) to Android 4.0.1 on Samsung Galaxy Nexus:
It also includes some changes to Android internals, and the aggregate for building it all.

This is just a snapshot release of a work in progress, and you cannot do much with it. Everything an end user would have known about Android is still gone.

In Weston, the three device buttons are working, and the touchscreen is working. Unfortunately, the only application really supporting touch devices is simple-touch, but I turned that into a demo that is automatically launched. If you install this release into a Galaxy Nexus device, it will boot into Weston and you can play with simple-touch. The power button is hooked up in Weston to power off the device immediately, so a computer is not necessary to show and exit the demo.

The main advancement compared to my previous posts is that the touchscreen is fully working now. Also, this time I am providing a proper release:
You can get the fastboot tool needed for flashing the images from the Android SDK, I think. I have never used the SDK myself, I have always gone with the full AOSP tree.

Please, if you try this on your device, let me know how it went. If you find problems that I can fix, I might push the fixes to the android-4.0.1_r1.2-b release branches, and update the ChangeLog for this release, but I will not provide new images. Before August I probably won't react, though.

If you look at the histories of the git branches mentioned towards the top, you will find many ugly hacky commits. All commits marked as HACK will be replaced by the proper changes during the course of this project. We are planning to send almost all changes to respective upstream projects, too. The input enablement patch series in Weston needs a rewrite, before it gets upstream.

Thanks to the whole Android team at Collabora for making this happen!


Quartz said...

I love the idea of getting some research done just to test the limits here, but what is the end-goal?

pq said...

Quartz, full Wayland support on Android, including Android applications running on a Wayland compositor. In short, we are replacing SurfaceFlinger, so one could bring familiar existing FOSS to tablets and others. Qt5, for instance.

Sola said...


I am not sure I understand how you intend Weston to work on Android.

Will I be able to simply install Weston on any Android phone/tablet with the stock manufacturer ROM?

It would be great if Weston could be a proper display server for all of those desktop Linuxes currently running in chroot envs on Android devices. These chrooted Linuxes are usually accessed by VNC which makes them unusable.

If Weston4A requires a custom-built ROM for the machine, than it would practically be useless for the average Joe.

The Ubuntu for Android effort would also benefit greatly from a proper Weston4A because their worst dependency seems to be the X-server.

pq said...

Sola, the major issue, that prevents using Weston as an easily installable add-on package, is that it conflicts with Surfaceflinger (SF). Only one of them can use the framebuffer at a time. Seeing that practically all of Android apps and services need to talk with SF, you lose everything that is Android for the end user.

If instead someone made Weston a well-behaving Android app, it might be possible.

So far this has been just a proof of concept, that Weston can run on Android and proprietary drivers.

Sola said...


My suggestion would be exactly that: making Weston a well behaving Android app so anyone can install it on any Android device. It probably looses some performance but it doesn't matter since without being installable would defeat the purpose (at least the purpose I see).

pq said...

Sola, my goal is to be able to use Android hardware with as little of the Android OS as possible, on devices other than smart phones. (A smart phone just happens to be what I have.) We've had a slight change in focus, and are now investigating a completely different approach.

This is not end user stuff.

Anonymous said...

Hi Pekka,
What is the possibilities of running Qt5 on Wayland?