What is ilixi?

ilixi is an open-source C++ library aimed at developing rich graphical applications for embedded Linux systems. Having been actively developed since 2010, it is running on thousands of devices around the world.

Why ilixi?
  • Lightweight

    Designed to run on low-end embedded SoCs with limited resources; it has a small footprint.

  • Optimal performance

    Developed specifically for DirectFB with help from its core developers!

  • Customisable

    Create your own look and feel via built-in theme support.

  • Easy to master

    Extensible and intuitive API even for beginners.

Features


Check out API documentation to see all available classes.

Key and touch input ready


Use touch, pointer or key inputs in your applications. Key navigation is provided out of the box.


Event driven programming


Utilise event handlers and signals in your Widgets to take actions upon user input.


Animations


ilixi has easy to use animation classes to help you bring your UI to life with fluid easing effects.


Layouts


ilixi comes with box and grid layouts so it can automatically tile widgets inside containers.



Vector graphics


You can use Cairo to render vector graphics with DirectFB or GL acceleration.



OpenGL support


Combine 2D widgets and 3D using GLWidget.


Internationalization


ilixi has built-in I18N support via gettext. Application UI is automatically updated when you change language at run time.



Gestures


You can use gestures to create more intuitive user interfaces.



Drag and Drop


Implement drag and drop handlers in your custom widgets to transfer data between widgets.

Frequently Asked Questions

Feel free to send an e-mail to developers for general questions about ilixi usage.

 

ilixi is released under the LPGLv3. You can use it in a commercial or proprietary project without any fee. We would appreciate if you send bug fixes and improvements as patches to developers.

  • DirectFB is a thin but feature rich core library with a small footprint. It provides hardware acceleration for graphics operations on widely used target plaforms. It is used by ilixi for managing input devices, display layers, windows and media resources.
  • libsigc++ provides signals and slots for Widgets; it is a very efficient library for typesafe callbacks.
  • libxml2 is a powerful library for building and parsing tag-based data. It provides support for XML catalogs and DTDs. It is mainly used for theming and application management functionality in ilixi.
  • fontconfig is a library designed to provide configuration, enumeration and substitution of fonts to other programs.
  • gettext is an internationalization and localization (i18n) system commonly used for writing multilingual programs.
  • FusionDale is an IPC library built on top of DFB/Fusion. It can be used by clients and IPC components to make remote calls and send broadcast messages respectively.
  • FusionSound provides support for the playback of audio streams and static sound buffers.
You can simply send us a signed patch or make a pull request for our github repo (see this page for instructions).
If you are interested in using ilixi in your project and need professional support and development services, do not hesitate to get in touch with developers for more information.