1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

A Java-Based X11 Server Comes To Android

X.Org

Published on 06 March 2012 02:45 PM EST
Written by Michael Larabel in X.Org
17 Comments

An X Server written against the X11 protocol in Java has been made available for Google's Android platform.

Announced last week on the blog of Matt Kwan, an Australian PhD student, was an X Server for Android. "For the past few months I’ve been implementing an X11 server to run natively under Android. In the near future I may have need for a serializable user interface, so to get a better understanding of how they work I decided to implement the de facto standard, X11. Well, it turns out the X protocol is bigger than I thought, but through sheer bloody-mindedness I got it finished. And it might actually be useful."

This X11 Server for Android is meant to run natively on Google's mobile platform, so it's been written in Java. The X Server does support launching Linux X11 applications remotely and to then be displayed on the Android phone. Virtual and physical keyboards are supported along with trackpads and touch-screen movements.

While this is a near-complete implementation of X11, there's a few missing protocol items such as for dynamic color maps, most drawing operations, queueing keyboard and pointer events during grabs, and X extensions (i.e. there's no X RENDER or RandR, etc).

This Android X Server ships without a window manager, but one can be run remotely such as fvwm. Applications that just use Xlib exclusively should work fine within this X Server.

The X Server for Android is now available from the Android application marketplace. The code is made available under the Apache license and can be found on the android-xserver Google Code page. This X11 Server is written in about 14,100 lines of Java code.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Samsung 850 EVO SSD Linux Benchmarks
  2. Kubuntu 15.04 Is Turning Out Quite Nice, Good Way To Try Out The Latest KDE
  3. 5-Way Linux Distribution Comparison On The Core i3 NUC
  4. OCZ ARC 100 Linux SSD Benchmarks
  5. Lenovo ThinkPad X1 Carbon Works Great As A Linux Ultrabook
  6. Transcend SSD370 256GB
Latest Linux News
  1. AMD Will Release Mantle Programming Guide, API Reference This Month
  2. Unreal Engine Made Free By Epic Games
  3. Qt 5.5 Alpha Is Getting Close, But Still Behind Schedule
  4. OpenBSD Sponsors Work For Better Browser Security
  5. Improved ODF Reading Support Comes To KDE's Calligra
  6. Another Step Closer On The New Linux Benchmarking Test Farm
  7. Confirmed: Vulkan Is The Next-Gen Graphics API
  8. Kdenlive Ported To Qt5/KF5, Coming To KDE Applications 15.04
  9. HTC & Valve Partnered Up For The Steam VR Headset
  10. 8cc: A Small C11 Compiler
Most Viewed News This Week
  1. Screenshots Of The GNOME 3.16 Changes
  2. More Proof That Allwinner Is Violating The GPL
  3. The Tremendous Features Of Fedora 22
  4. Krita 2.9 Released, Their Biggest Release Ever
  5. A Single UEFI Executable With The Linux Kernel, Initrd & Command Line
  6. Linux 4.0 Doesn't Have The Weirdest Codename
  7. Canonical Comes Up With Its Own FUSE Filesystem For Linux Containers
  8. Firefox 36 Brings Full HTTP/2 Support
%%CLICK_URL_UNESC%%