Porting GPE to a new Device
Many developers getting in touch with GPE have some particular device in
mind to run GPE on. This chapter is about how to port GPE to a new hardware
platform and what kind of software and libraries are necessary to have on
this hardware. One additional section offers information about tools to
create complete filesystems including GPE.
Suppositions to run GPE
Operating System
GPE is designed to run ontop of the Linux operating system, but
it should be possible to run it on other UNIX-like systems too.
Most of the GPE developers don't have much experience with
running other operating systems than Linux on their mobile
devices, so any feedback about GPE running on other operating
systems or information about what to change in GPE to make it
work is very important for us.
Libc Flavours
At the moment we usually use Glibc in systems running GPE, but
it is reported to work with Uclibc as well. The main reason
not to use Uclibc in production systems/daily use is the lack
of internationalisation support in it. This lack may cause
trouble with some GPE applications which do not support being
built without i18n support, but the most frequently used GPE
applications are known to support this.
X window sytem
The X window system provides the graphical backend for GTK
and GPE. In theory you can use GTK with different backends
(e.g. GtkFB) as well, but it would be necessary to remove
several features making use of special features of the X window
system (e.g. tray messages and infoprints). On the most
platforms it is easy to make a X server work using a framebuffer
driver. There are only a few platforms around which need special
care to make X work at all. Hardware acceleration support is
useful especially for devices with higher display resolutions.
GPE will make use from this automatically running on X servers
with hardware acceleration. Typically you would use the Kdrive
X server on mobile devices. Kdrive is part of the Xorg project
and provides a small and fast X server with good support for
common mobile hardware.
GTK+ and related libraries
Because GTK runs on most UNIX-like platforms the availability
of GTK is usually not a major problem. On some platforms with
uncommon graphics hardware you might run into trouble with
some Pango issues, but that should be easy to fix.
Platform dependencies in GPE
Building filesystem Images