Finding an X server implementation for Android at the moment is like looking for a needle in a haystack. In order to port the QVD client application to Android, we needed to put together an X11 Server package that would run on Android to support our client. Since Android doesn’t include a native X server and uses its own video output module, DisplayFlinger, running X applications on Android devices is not usually possible. Our package implements an X Server that runs on Android and that includes a VNC backend to handle the video output for the X Server. This allows an Android user to be able to access X applications running locally on an Android device, by using a standard VNC client.
While the dependency on the VNC backend detracts from being able to run applications directly within the Android windowing environment, this package will make it much easier for developers of X applications to port to the Android platform without needing to worry about major code changes.
The XVnc package includes a GUI menu that allows users to start and stop the X Server, and an option to launch a VNC server inside your X session.
Using the XVnc package on Android, we can successfully port the QVD Client to run on Android devices, so that it is possible for users to access their Virtual Desktops on Android powered tablets and phones. The image below shows a Debian desktop loaded over VNC within X-Windows running on top of an Android device.