wxGPE - wxWidgets for GPE/PDA

Information on wxGPE

wxEmbedded - wxWidgets support for GPE

General information

wxGPE is the port of wxWidgets to the GPE Palmtop Environment. GPE is based on X11 and the GTK+ toolkit and runs on some PDAs otherwise running Microsoft PocketPC, such as many HP iPaq devices, Sharp Zarus devices, the Nokia 770 Internet Tablet device, as well as a number of specialized handheld devices and embedded devices. wxGPE is mostly based on wxGTK, the GTK+ port of the wxWidgets C++ GUI library plus a number of adaptions to smaller screen size and other pecularities of GPE.

Places to look

The main information site for the various embedded and mobile projects around wxWidgets is the wxWidgets homepage itself and its embedded page in particular, see www.wxwidgets.org/embedded.htm.

There many places to look at, some important starting points would be www.linuxdevices.com and www.handhelds.org which features the Linux Familiar distribution. GPE itself is a free PDA desktop environment based on the GTK+ toolkit. See more info gpe.handhelds.org. More information about the cross-compilation build environment called OpenEmbedded is available here: oe.handhelds.org.

Other companies working on GPE

OpenedHand Ltd. is a London based company working on GPE and GTK+ based embedded systems. They also provide further embedded tools, including what is needed to provide an emulator. See more at www.openedhand.com/activities.

KernelConcepts Systementwicklung is a German company also working on GPE and Linux handhelds in general. KernelConcepts also has an English page about their OSS project around GPE, the Maemo platform and Linux kernel work for embedded or mobile devices. See more at oss.kernelconcepts.de

Altough not actually GPE related, Maemo is a GTK+ based mobile environment, used primarily of the Nokia 770 Internet tablet (on which you can also install GPE apps). It should be fairly simple to create wxGTK apps for Maemo and also adapt these apps for the specific API of Maemo called Hildon UI. Maemo and its Hildon UI have been developed by Nokia.

GPE screenshots

Here are two screen shots taken from the frame-buffer on an iPaq running GPE in order to demonstrate how GPE and GPE apps actually look like. It may be noted that GPE apps (at least subjectively) often run smoother and faster than similar apps under PocketPC on the same devices.

Build system - cross-compilation toolchain

We use a build system based on the OpenEmbedded build system. We recommend to use the cross-compilation toolchain supplied by Florian Boor from KernelConcepts Systementwicklung created with OpenEmbedded. The latest snapshots from this cross-compilation toolchain is available from: http://handhelds.org/~florian/sdk. You need to untar the package into /usr/local/arm.

Getting wxGPE

The latest wxGPE updates have been made on the 2.6 branch of wxWidgets (the stable branch) after the 2.6.2 release, so they will be in the 2.6.3 release of wxWidgets. You can get information on how to obtain the latest code from CVS from wxWidgets' main site, in particular from wxWidgets' CVS page. Once you logged in to the wxWidgets CVS, you need to checkout the stable branch of wxWidgets using:

cvs co -r WX_2_6_BRANCH wxWidgets

Building wxGPE

You need to set a few environment variables before configuring wxWidgets with a number of specific options:

export PKG_CONFIG_PATH=/usr/local/arm/oe/arm-linux/lib/pkgconfig
export PATH=/usr/local/arm/oe/bin:$PATH
export LDFLAGS=-L/usr/local/arm/oe/arm-linux/lib

Create a subdirectory under the main source tree and then configure like this (not all options are strictly required:

../configure --enable-gpe --enable-unicode --prefix=/usr/local/arm/oe/arm-linux --x-includes=/usr/local/arm/oe/arm-linux/include/X11 --x-libraries=/usr/local/arm/oe/arm-linux/lib --host=arm-linux --build=i586-linux --enable-no_rtti --disable-joystick --disable-mdi --disable-printarch --disable-postscript --disable-resources --disable-prologio --disable-debugreport --with-libpng=builtin --with-libtiff=builtin

and then make the project. Please note that e.g. GPE 0.8.2 does not include libstdc++ in the base OS, so you will need to install the ipkg package for that separately or just copy the files from the SDK to your device.

wxGPE screenshots

Here are a few screen shots taken when running some of the samples that ship with wxWidgets. They show some of the common dialogs that wxWidgets provides and some other usage (viewing an HTML book contained in a zip file, playing Forty Thieves, looking at Life!, a variant of the classical Game of Life):

Copyright 2005, wxDesigner Software e.K.