The various system layers used by GUIs
- Kernel drivers: frame buffer, direct access, ...
- Hardware abstraction layers: X, GGI, DirectFB, ...
- Graphical toolkits (widgets): QT, GTK, FLTK, ...
- Window manager: matchbox, sawfish, ...
- Desktop environments: GNOME, KDE, ...
The Linux frame buffer
- Selecting frame buffer support when building th ekernel
- Generic VGA support, VESA
- Provided features
The hardware abstraction layers
- X: standard server and embedded-specific versions (tiny-X, Kdrive, Nano-X)
- GGI: generic multiplatform GUI (Linux, Windows, MacOS/X ,...)
- DirectFB: hardware acceleration above the frame buffer
The graphic toolkits (widgets)
- Trolltech's QT
- GTK (Gimp ToolKit)
- WxEmbedded
- FLTK (Fast Light ToolKit)
- MiniGUI
- Nano-X (ex MicroWindows)
- Standard "desktop" versions and embedded-specific versions
- Graphical GUI design tools: QT designer, Glade, FLUID...
Linking commands to GUI items
- Using fork and exec
- Pipe communication
- Integration with widgets
Embedded GUI distributions for Linux
- The "familiar project"
- GPE Palm Environement
- Qtopia
- Pixil