EFL brings Ubuntu Netbook Remix to ARM

Feb 16, 2010 at 10:30 PM

Gustavo Sverzut Barbieri - Feb 16, 2010 at 10:30 PM

Canonical developer Jamie Bennett announced in his blog post The New UI for ARM Based Ubuntu Devices how Enlightenment Foundation Libraries (EFL) enabled rich graphical user interfaces even on non-3D-accelerated ARM devices.

Enlightenment Foundation Libraries were conceived and developed with performance in mind. Started in 2000, the current incarnation was designed based on previous experience with Imlib and Imlib2, libraries known to be quite fast. Over the past 10 years, the API changed a lot to be easier to use, but the performance impact of each and every change was carefully considered and benchmarked using the Expedite tool.

The most performance-critical part of EFL is definitely Evas, the canvas (drawing) library. Fast in both software- and hardware-accelerated environments, it always shipped with lots of engines such as buffer, X11 (Xlib/Xcb) and XRender, but it recently gained more interesting engines due to companies that contributed back their work:

  • 16 bit-per-pixel-optimized engine, contributed by INdT.
  • SDL, contributed by Free.fr.
  • DirectFB, contributed by ProFUSION.
  • OpenGL-ES, contributed by Samsung.

However, Evas is not the only optimized piece of EFL. Eet, used for binary, read-efficient configuration and resources file, boosted Canonical's Ubuntu Netbook Remix (UNR) startup time. The initial version using GConf was quite slow to provide information, so these were cached with Eet for immediate access to background images, display modes, and font configuration.

Aside from being used for configuration files, Eet is also the base of Edje, the theme system used by UNR, Enlightenment DR17, Elementary, Canola2 and others. Edje manages a state machine of Evas objects' states, described in a JSON/C-like language, later compiled into an access- and space-efficient binary format. Its power and flexibility continually amaze its users, as said by Jamie in his post:

Another of the great things about this launcher, as opposed to the 3D launcher shipped with Karmic, is that it's extremely theme-able.

Last but not least, the new kid on the block, Elementary, boosted development time with its canned ready-to-use widgets. Like all the previously-presented libraries, Elementary is very fast and customizable. It is quite unnoticeable in UNR, but it is the base of lists and some error dialogs.

The Enlightenment team is proud its products are being used more and more on embedded systems, be they e-book readers, phones, or TV's; x86, ARM, or MIPS; accelerated or non-accelerated hardware.

Back