Weston (git) was upgraded to upstream as of Sept. 18th, 2012, though there are no user visible changes on Android. This brings the 0.95 protocol, and the new evdev input rework from upstream, which went through some changes since the 4.0.1_r1.2-b Wayland on Android release. Weston now has its GLESv2 renderer separated in code, and shaders are faster and simpler (I have not done any shader benchmarks myself).
Libxkbcommon lost its final dependencies to kbproto and xproto, and our Android build files are upstream. Thanks to Daniel Stone, we can use libxkbcommon straight from upstream.
The new Android build system integration requires you to manually download only anagrman in addition to Android repo. There is no make wayland-aggregate-configure step anymore, all generated Android makefiles are created during the full build. Also androgenizer and wayland-scanner are built automatically as needed. All this is possible using the makefile update feature of GNU Make. If there is a rule that can update a makefile, GNU Make will update the makefile as needed. If any makefiles were updated, Make will then start from scratch, reading in all makefiles again, before continuing to the actual build phase. This causes Make to reload all Android makefiles 2-3 times during the first build. It should also solve any dependency issues of the explicit configure step, like when one project's configure depends on another project's fully built library. A big thank you to Helio Chissini de Castro for doing most of the build system work.
This work is available in two ways:
- The source code you can build yourself, see README. Use the module wayland where anagrman is invoked.
- A snapshot image you can flash into a Samsung Galaxy Nexus: wayland-on-android-20120924.zip (105 MB) (sha1: b75cb4e325bc7a2960464128ae7f569c21741471). You can flash it with the command: $ fastboot update wayland-on-android-20120924.zip
- # setprop service.compositor surfaceflinger
- # setprop service.compositor weston
Even though this is a live release, i.e. not tagged to a specific revision, I do not expect much changes in the near future. We are now researching other ways to enable Wayland on Android and other embedded-like devices.
5 comments:
Excellent.
Thank you!
Is there any hope of SurfaceFlinger and Weston coexisting peacefully (either being able to share the display or Weston being able to replace SurfaceFlinger for Android apps)?
I really look forward to seeing X clients being able to run on Android via this project.
Qole, I think I can safely say, that not by me in the near future. But, you might be interested in combining these two:
http://www.youtube.com/watch?v=HItv4HX5r3k
http://www.youtube.com/watch?v=TEkubKZaUt8
As you know, Wayland on the desktop is not supported by the proprietary drivers. I think that your project brings a solution to this problem. Do you plan to use your experience in the direction of Wayland adaptation to work with proprietary drivers on the desktop?
ilia, no, for several reasons in this particular context: I do not work on this anymore, desktop drivers do not have an open source wrapper libEGL like Android does, and desktop drivers are always tied to X from what I've seen. I've never heard of a proprietary desktop gfx driver that worked in any way without X.
As for Wayland on Android hardware, libhybris seems like the way to go.
New comments are not allowed.