[maemo-developers] How VNCVIEWER can bring non maemo applications onto the N800

From: Detlef Schmicker d.schmicker at physik.de
Date: Tue Feb 20 14:18:42 EET 2007

the last weeks I played around a little with setups, which allow to run
applications on N800, which are not ported to maemo. The main problem
using this kind of applications is the missing keyboard, if they are
cross compiled. 
vncviewer (http://vncviewer.garage.maemo.org/ ) can handle this, as
easily is tested connecting to a debian linux machine and trying all the
applications availible.

Have a look at the screen shot at http://physik.de/770/ with debian /
testing runnin on a N800 within chroot and vncviewer.

I tried three different setups (all are working, but none is enduser

1.) I compiled Xvnc using the source from debian/testing within bora.
This was running on N800. Than I started Xvnc for display :8 (from
xterm) set the display variable and started the crosscompiled but
unported version of e.g. rdesktop. Than vncviewer was started to view
this localaly.

This way one can use cross compiled version of linux software.

2.) I installed the debian armel port within a chroot environment,
installed the vncserver package within this port and did basicaly the
same as in 1.)
what to be done for setup this:
I have debian / armel port running on N800 on a 512 internal flash.

I had to format it with ext3 filesystem (I think ext2 would have been
I had to insmod mbcache and ext2 module
I mounted it
I unpacked the rootfs from

I installed chroot and chrooted to the directory

(I installed a new version of tar (compiled from sources), as the
busybox does not support bz2 files)

Now I do a gpt-get update within chroot ...

This way all packages within this debian armel port seem to be usable on
the N800

I did basically the same but with debian / testing for the arm platform.

I compiled debootstrap for maemo, used it to install debian / sarge into
a chroot environment. Than I configured /etc/apt/sources.list to use
debian testing within the chroot. Did a apt-get update and apt-get
dist-upgrade (if I remember correctly I had to remove apt-get first and
install the version from debian / stable download dpkg -i), installed
vncserver and icewm (window manager) and two init scripts:
/root/init.sh with on N800 to start the chroot environment
insmod /mnt/initfs/lib/modules/2.6.18-omap1/mbcache.ko
insmod /mnt/initfs/lib/modules/2.6.18-omap1/ext2.ko
mount /dev/mmcblk0p1 /media/mmc2
chroot /media/mmc2/sid-arm /root/init.sh

and within the chroot environment there was
Xvnc -depth 16 -geometry 800x600 :8&
export DISPLAY=:8
mount proc /proc -t proc
mount devpts /dev/pts -t devpts
xsetroot -solid "rgb:00/00/30"

And up was the debian testing on the N800.

I tried running firefox, gimp, kstars, xterm (a device was missing in
debian / testing). firefox was quite fast, kstars very slow (floating
point ?) gimp was slow too. But simple applications (gnome based and kde
based) seem to run perfectly, just apt-get them within debian / testing
and run.

E.g. rdesktop runs fine in this setup.
I expect even gnome desktop would be installable, only my 512 internal
sd-card is to small:-)

Thus anybody discussing, helping ... to get (I would love the debian /
testing) setup enduser ready? A 300 MByte root fs I do not want to
deliver, which would be the easiest way :-)

Or getting the first setup developer ready, so that they may easily
crosscompile an launch application they love. How to pack this for maemo
(dependence an vncviewer and Xvnc server (not x11vnc as in 2006
application list :-)

Hope some discussions will start :-)


More information about the maemo-developers mailing list