Lightweight high-level openmoko development environment

Stefan Winkler openmoko at
Wed Sep 26 14:21:54 CEST 2007

Ok, to answer my own question: ("What do you recommend in order to start app
hacking for OM? (Ok, I can just write plain GTK+ and compile libmokoui
x86-natively on my dev machine, but I also want to see, how my app looks
like on a neo...")

I figured out a way to develop high-level openmoko-apps.

Let's call it lightweight development environment. I tried to figure this
out from diverse wiki descriptions and other resources. The rationale behind
this is, that in order to get more developers hacking on user-level
software, we should provide them with an easy start, so that they can get a
hello world working in openmoko-ui style in 10 minutes (and not 2 days like
the openmoko-devel-image).

If someone finds this helpful, please comment or feel free to publish it in
the wiki.

== Openmoko lightweight high-level development environment ==


   - you want to develop high-level OM applications. High-level meaning
   involving some GUI and logic and no accessing gps, gsm or other
   specialities. (I haven't tried dbus yet...)
   - you have no openmoko-devel-image and you don't want to build one
   right now (you won't get around this step, later - but then,
   openmoko-devel-image building and simulation is maybe not stable and fast
   enough for your current use and you don't want to lose 2 days of compiling
   and fixing build issues just to start developing a simple GTK+-hello world).

   - you have an isolated sandbox, or you don't care having openmoko suff
   messing up your usual directories (the process below will install libmokoui
   and maybe others into your standard lib directory. I haven't tries to change
   library install locations, but you can do that if you like/need. I don't
   because I have set up a vmware instance just for openmoko development).

You can follow these steps to get openmoko-calculator running in openmoko
style using Xephyr (if you want other applications, like the
openmoko-feedreader, you need to resolve the library dependencies):

Do this once:

   - install xserver-xephyr, matchbox-window-manager, and all that
   development stuff (including, but certainly not limited to gtk-2.0-dev,
   gtk-doc-tools, autoconf, automake, libtool, gettext, gcc, ...)
   This list is for Ubuntu/Debian, Packages may be named differently
   depending on your distro.

   - svn checkout
   into a directory of your choice. Let's call this $OMDIR from now on
   - cd $OMDIR/OM-2007.2/libraries/libmokoui2;; make all; sudo
   make install
   - mkdir ~/.themes
   - ln -s $OMDIR/OM-2007.2/artwork/themes/openmoko-standard-2

Do this to start the embedded X server:

   - Xephyr :1 -ac -dpi 283 -screen 480x640+86+295 &
   - matchbox-window-manager -display :1 -theme openmoko-standard-2 &

Do this in every terminal you use to start an openmoko application:

   - export DISPLAY=:1
   - export GTK2_RC_FILES=~/.themes/openmoko-standard-2/gtk-2.0/gtkrc

For example, to get openmoko-calculator to run:

   - cd $OMDIR/OM-2007.2/applications/openmoko-calculator;;
   - export DISPLAY=:1
   - export GTK2_RC_FILES=~/.themes/openmoko-standard-2/gtk-2.0/gtkrc
   - src/openmoko-calculator

Voilà, there is your calculator.

Please note once again, that this method works only for a quick and easy
start into openmoko development.
If your application shall run on the real hardware, later on, you will have
to switch over to openmoko-devel-image and the bitbake process some time in
the future.

I'd love to hear comments ;-)

Stefan "jumpy" Winkler
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the openmoko-devel mailing list