Home > Android, Graphics, Linux, Testing, Ubuntu > Xserver XSDL X Window Server for Android Allows You to Run Linux Apps in Android

Xserver XSDL X Window Server for Android Allows You to Run Linux Apps in Android

It has been feasible to run Linux apps in Android by installing a Linux distribution in a chroot using some app such as Complete Linux Installer, and accessing the graphical application via VNC. I tested this solution with Ubuntu in Android using ODROID-X development board, and it worked fine, except the performance was rather poor. There’s now another solution with XServer XSDL app, X Window System server for Android, that can be used to stream application from a Linux PC or to launch app from a Linux distribution installed in your Android device.

I’ve given a quick try in my Android phone, and after installing and running the app, it will give instructions to launch gimp in your Linux PC to use it in the phone:

Launch these commands on your Linux PC

env DISPLAY=192.168.0.100:0 metacity &
env DISPLAY=192.168.0.100:0 gimp

Just type this command line into a terminal, and gimp will show up in your phone.

Gimp running in Android via XServer XSDL (Click for Original Size)

Gimp running in Android via XServer XSDL (Click for Original Size)

The keyboard will not appear by default, but pressing the back key will invoke it. I’ve also tried xterm and chromium-browser which both worked fine. You need to move the mouse pointer by sliding your finger on the screen, you can’t just expect the pointer to move where your finger is. As expected YouTube is not working so well as many frames are skipped, and the audio is still outputted in the PC. Pushing a bit more I tried SuperTuxKart, but the application failed to start. It may have limited use in smartphones due to their small display, but cold be useful to some Android tablets and mini PCs.

XServer XSDL is an open source application, and the code can be found in github.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. manny
    March 8th, 2014 at 00:42 | #1

    hmm I think I prefer it the other way around.

    but this might serve some case scenarios, so is good to have.

  2. onebir
    March 8th, 2014 at 15:57 | #2

    So this is like VNC without a VNC server on the Linux PC? (Android talks direct to X server on the Linux PC instead?…)

  3. March 8th, 2014 at 20:54 | #3

    @onebir
    The X Window System server can be used locally in your own PC or via the network.
    X works with a server and a client as I understand it. So this android app is just an X client.

    It looks a little different compared to VNC, as with VNC you control the whole system. With this app, you decide which application runs on the client screen. I guess performance is a little better do, since you remove the middle man.

  4. JotaMG
    March 9th, 2014 at 03:11 | #4

    Actually is the other way round, the android app is the X server and the PC programs are the clients that send their graphic output to the server (so the DISPLAY directive)

  5. Paul
    March 9th, 2014 at 03:35 | #5
  6. Popolon
    March 9th, 2014 at 05:34 | #6

    SuperTuxKart failed to start, just because that’s OpenGL application, and only few of new ARM SoC’s GPU manages full OpenGL, other only manage OpenGL ES…

    After the video the Galaxy Note II Wacom stylus pressure seems to be managed :).

    After the note on applcation page, that’s also possible to launch locally installed X11/linux applications, should be faster… really interesting :)

  7. Popolon
    March 9th, 2014 at 05:38 | #7

    @cnxsoft
    In X11 system, server is the display system, client is the application, that ask to the server to display it. So that’s an X11 server, not an X11 client.

    I just remember, to test OpenGL ES, it should be a problem too, if hardware is not the same :
    * server detect for example Mali/PowerVR GPU
    * client application host (if that’s not local), detect an intel/nvidia/ati gpu, so this can make some conflicts (tried between X11/Cubieboard2 with X11/x86 achitecture)

  8. March 9th, 2014 at 09:27 | #8

    @JotaMG
    @Popolon
    Thanks. My mistake… Hence the name “XServer XSDL”…

  9. ade
    March 11th, 2014 at 07:32 | #9

    @Paul
    Yes, android-xserver has been available for a while. However it is a full X server implemented from scratch in Java. It may launch toys like xclock and it is already a quite impressive work, but doing anything really serious (launch a whole KDE session or OpenOffice, or games) is impossible at the moment, to my knowledge. On the other hand, this xsdl seem to be based on the real xorg codebase, if I understand correctly. This is a huge improvement.

  10. svartalf
    March 12th, 2014 at 07:41 | #10

    Heh… There’s a result of having two differing mostly there X11 servers on Android. X2Go can have an Android client (which for a tablet would rock…)

  11. April 12th, 2014 at 03:02 | #11

    this majorly improved the performance chroot linux on my China Tablet. The VNC thingy was really crappy

  1. March 7th, 2014 at 23:30 | #1