Choosing graphical libraries for embedded systems

The free software community offers many solutions to embedded system developers willing to add graphical applications to their project. This variety of choice, typical from the free software world, has the advantage of giving several solutions, which increases the chance of finding the solution that bests suits your need, but at the same time, might confuse to choose the right one.

I made experiments with the major graphical libraries available, and reported these experiments during the Embedded Linux Conference Europe event, which took place early November 2008 in Ede, The Nederland. My presentation « Choosing graphical libraries for embedded systems » discussed DirectFB, and its Kdrive variant, SDL, Nano-X, Gtk, Qt, FLTK and WxEmbedded, detailing the features, specifities, size of each solution and suitability to various use cases.

The slides are available under the Creative Commons BY-SA license : graphical-libraries.pdf (PDF), graphical-libraries.odp (Open Document Format).

While experimenting with these graphical libraries, I made a few contributions to the Buildroot project, which was used to build root filesystems including these libraries. I hope to release soon several root filesystems allowing an easy testing of these solutions, through Qemu.

Author: Thomas Petazzoni

Thomas Petazzoni is Bootlin's co-owner and CEO. Thomas joined Bootlin in 2008 as a kernel and embedded Linux engineer, became CTO in 2013, and co-owner/CEO in 2021. More details...

One thought on “Choosing graphical libraries for embedded systems”

  1. There are a few other notable choices: OpenGL (and its ES version), Clutter (from OpenedHand) and EFL (Enlightenment Foundation Libraries). I can see that you’re talking about the latter two very briefly in your slides, I really think they deserved a deeper study, especially considering that you’re talking about solutions that are very little used such as Nano-X.

    The work you did is interesting though, I just think that your selection should have been DirectFB, OpenGL (and/or OpenGL ES),, GTK+, Qt, EFL, Clutter, FLTK, and maybe Pigment.

    Also a comparison matrix at the end would have been appreciated.

Leave a Reply