From Openmoko

Jump to: navigation, search


Hack to run X apps on Qtopia

WARNING: DO NOT TRY THIS! Unless you want to destroy your Qtopia installation ;-) And it's still really unusable...


Qtopia is really very nice piece of software but there is one big issue - there are no more applications than these ones in default installation + some few more other (and mostly old) apps around Internet. But for official OpenMoko distribution (which is running on X11) there are many applications - it's really easy to port them from desktop version to phone version (often only cross compilation is sufficient). Currently we are missing browser, IM etc...

The idea

The idea is to run fake X11 server, then export this session by VNC and use some Qtopia-able VNC client to display it. Around this hack we should provide some scripts to automatize it and do small hacks to VNC client.


FSO testing repository (see Repositories#FSO)


opkg install x11vnc xserver-kdrive-xfake

Now your Qtopia installation is dead ;-) Reinstall with Nokia provided updater.

Install Keypebble VNC client with Software Packages app.


Mercurial repository can be found here:


Xfake :1 -screen 480x600 &
export DISPLAY=:1
x11vnc &

Now run some X application - you can install for example openmoko-calculator2. Run NaeX and voila we have our X11 application running in Qtopia.


Keypebble is really old piece of code. It's based on KDE 2.0's VNC client and now we have KDE 4 ;-) It's horribly slow and hangs after few seconds. But nothing's lost!!! Now I can build current version of Krdc. There is Qt only versions and with minor tweaks it is running. It is really fast and not hanging. Now I'm rewriting it to look like Qtopia application and I hope in few days I will have running solution for using X11 apps in Qtopia :-)



Browser is most wanted software for Qtopia. Links-X11 can be downloaded from Angstrom repository.

opkg install links-x11
links -g -mode 480x600 url


Links X11



run X11 application, get $PID
pidwinid $PID, get $WINDOW_ID
x11vnc -sid $WINDOW_ID -autoport n
retrieve $PORT value and connect to localhost:$PORT

Personal tools