Lightweight high-level openmoko development environment

Mark Crowley markcrowley at
Wed Sep 26 16:00:06 CEST 2007

Hi Stefan,

Looks like a very interesting approach. Good work on this mini-howto. Will
have to try it out later.

With regards,


On 9/26/07, Stefan Winkler <openmoko at> wrote:
> 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 ==
> Preconditions:
>    - 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
>    ~/.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;;
>    make
>    - 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 ;-)
> Cheers,
> Stefan "jumpy" Winkler
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the openmoko-devel mailing list