Host-based development with Xoo and Xephyr
From Openmoko
(→Part I (precompiled software)) |
m (→Part I (precompiled software)) |
||
Line 16: | Line 16: | ||
You need to install some software that is usually not present on a desktop system, but used on the Neo1973. Some of this software has already been precompiled by your friendly distribution packager, so you don't need to compile it yourself. Most likely you can install the following packages from your distribution repository: | You need to install some software that is usually not present on a desktop system, but used on the Neo1973. Some of this software has already been precompiled by your friendly distribution packager, so you don't need to compile it yourself. Most likely you can install the following packages from your distribution repository: | ||
+ | * gtk-doc-tools | ||
* libstartup-notification0-dev | * libstartup-notification0-dev | ||
* libgtk2.0-dev | * libgtk2.0-dev |
Revision as of 18:50, 11 December 2007
This page introduces you to the most efficient way to create new software for the OpenMoko platform. Note that there is a VMware image where this environment has been prebuilt for you.
Contents |
Host-based development
This term means you develop most of your application in your standard desktop environment until it's almost finished. Then you can use a Toolchain to cross-compile your application for the Neo1973. Host-based development is incredibly more efficient since you can use your (typically) fast computer, large monitor, ... Compiling for your host also means that your edit-run-debug turnaround cycles are much faster, because you can skip the uploading-to-neo step.
Xoo and Xephyr
Xoo is a GTK2 based graphical wrapper around a ‘Windowed’ X Server. The X server is typically Xnest, the nested X server, or Xephyr. It is intended for embedded developers that want to simulate a target device (with an accurate display size, working hardware buttons, etc) on a desktop machine.
Note that Xoo is not required to simulate OpenMoko hardware - it just improves the presentation.
Prerequisites
Part I (precompiled software)
You need to install some software that is usually not present on a desktop system, but used on the Neo1973. Some of this software has already been precompiled by your friendly distribution packager, so you don't need to compile it yourself. Most likely you can install the following packages from your distribution repository:
- gtk-doc-tools
- libstartup-notification0-dev
- libgtk2.0-dev
- libecal1.2-dev
- libnotify-dev
- libpulse-dev
- matchbox-window-manager
- matchbox-keyboard
- pulseaudio
- xephyr
- xoo
Gentoo users run just
# emerge <package>
Debian/Ubuntu
$ sudo apt-get install <package>
For Fedora, you can use
# yum install <package>
For Mandriva, you may try
# urpmi <package>
for any other find a way how to do it in your distro.
Part II (building from source)
You also need some software that is typically not found in your distribution repository, either because it's too new, too specific, or unheard of.
Most likely you will need to compile the following packages for your distribution:
- matchbox-panel-2
- libjana
- libipkg
To compile and install matchbox-panel-2:
mkdir -f /local/pkg/ohand cd /local/pkg/ohand svn co http://svn.o-hand.com/repos/matchbox/trunk matchbox cd matchbox/matchbox-panel-2 ./autogen.sh make install
To compile and install libjana:
mkdir -f /local/pkg/ohand cd /local/pkg/ohand svn co http://svn.o-hand.com/repos/jana/trunk jana cd jana ./autogen.sh make install
To compile and install libipkg:
mkdir -f /local/pkg/handhelds.org cd /local/pkg/handhelds.org wget http://downloads.openmoko.org/sources/ipkg-0.99.163.tar.gz tar xzf ipkg-0.99.163.tar.gz cd ipkg-0.99.163 ./configure make install
Building the OpenMoko core
First we download the OpenMoko subversion repository:
mkdir -f /local/pkg/openmoko cd /local/pkg/openmoko svn co http://svn.openmoko.org/src/trunk src
Then you compile the software contained there, e.g. you will definitely want to compile at least:
In directory src/target/:
In directory src/target/OM-2007.2/libraries/:
In directory src/target/OM-2007.2/daemons/:
In directory src/target/OM-2007.2/panel-plugins/:
In directory src/target/OM-2007.2/applications:
Each of these packages can be compiled with the well-known-triple of:
./configure (or ./autogen.sh, if it's the first time) make make install
Starting the nested OpenMoko
We have prepared a script for you that starts Xoo and all the necessary X clients in one run. The script om-run-xoo contains the following commands:
TODO: ... (See: To-Do List) |
run xoo set DISPLAY set gconf keys set GTK2_RC_FILES run window manager run panel run openmoko-dialer run openmoko-today run neod
Creating a new application
TODO: ... (See: To-Do List) |
Using a Neo1973 as external GSM modem
TODO: ... (See: To-Do List) |
Using an external GPS device
TODO: ... (See: To-Do List) |
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |