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.
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.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
hmm I think I prefer it the other way around.
but this might serve some case scenarios, so is good to have.
So this is like VNC without a VNC server on the Linux PC? (Android talks direct to X server on the Linux PC instead?…)
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.
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)
There was X Server in f-droid.org for ages: https://f-droid.org/repository/browse/?fdfilter=xserver&fdid=au.com.darkside.XServer
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 🙂
@Jean-Luc Aufranc (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)
Thanks. My mistake… Hence the name “XServer XSDL”…
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.
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…)
this majorly improved the performance chroot linux on my China Tablet. The VNC thingy was really crappy