- Home
- Training
- Course List
- Graduate Training
- Mentoring
- Company Profile
- Our Blog
- Resources
- News
- Contact Us
Graphics for Embedded Linux
Increasingly, embedded systems incorporate graphical displays and touch screens to create a rich man-machine interface. Linux, of course, has the capability to display complex graphics as anybody who has seen Linux running on a desktop PC will know.
But, graphical environments are memory-hungry and can easily eat up hundreds of MB of RAM and storage.
This course describes the architecture of graphical environments on Linux, especially the X windows system, and shows how to create optimised systems that are suitable for embedded use. Topics include X servers, frame buffers, programming environments, the GTK+ and Qt widget libraries.
Course Outline
Linux and Graphics
- Types of display hardware
- Frame buffer drivers
- Input devices: keyboard, mouse, touch-screen
The X Window System
- The X.org project
- Components of X
- X modules
- Kdrive (Micro X)
Building X
- Selecting components
- Cross-compiling
- Installing X on the target
Running X
- Configuring display and input devices
- Fonts: bitmapped vs scaled
- Anti-aliasing
- Networked access to X servers
- Testing and debugging common problems
Window Managers
- The role of window manager: do you really need one?
- Examples: twm, ICE, Matchbox
Writing Graphical Applications
- Different layers, widget sets
- Low-level libraries: xlib
- Xt and the Athena widget set
- The Motif widget set
- The GTK+ widget set
- The Qt widget set
- Nano-X
Programming with Xlib
- Description of Xlib
- Example program using Xlib
- What Xlib can and can’t do!
Programming with GTK+
- GDK, Glib and GTK+
- Using Glade to design application layout
- Writing GTK+ applications in ‘C’
- Other language bindings
Programming with Qt
- Qt Objects
- Event handling: signals and slots
- Using Kdevelop for application design
- Writing Qt programs in C++
- Other language bindings
Living without X
- Other ways to program graphical applications
- Qt Embedded
- GTK+ Direct
Course Overview
A three-day course, providing hands-on experience of configuring and programming graphical environments on Embedded Linux. Practical sessions use the Nokia 770 web pad.
Course Objectives:
After completing the course attendees will:
- Understand how to include complex graphical interfaces in small memory embedded systems
- Be able to cross-compile and load X on a typical target board
- Understand the architecture of X, frame buffers and window managers
- Have an overview of graphics programming libraries
Prerequisites:
- Good knowledge of ‘C’ or C++
- Some knowledge of Linux is an advantage
Who Should Attend:
Application programmers and software engineers who need to build a graphical user interface on Linux
Duration:
- Three days
Course Materials:
- Delegate Handbook
Related Courses:

