EFL 1.8

EFL 1.8 is Out

We are pleased to announce that EFL and Elementary 1.8 are now out and available for download. Also Emotion Generic Players and Evas Generic Loaders are available too.



What's New

Many major things have happened to EFL in the past year since EFL 1.7 first came out. The usual has been done in fixing bugs, optimizing speed and memory footprint, and much much more. These are just some hilights of what has been done since 1.7, so don't take this as a complete list. Take a look at the NEWS files for more expansive information if you want that.

Merged EFL tree

We have merged Ecore, Edje, Eet, Eeze, Efreet, Eina, Eio, Embryo, Emotion, Ethumb, Evas and Evil into a single EFL package (as you can see above these are no longer there, but inside the EFL distribution). We also added in Eldbus, EPhysics, and Escape.

Eldbus a replacement for E_dbus, which is still able to be built in it's 1.7 form but will no longer be updated or maintained, but still functions against EFL 1.8 if you depend on it.

EPhysics is a new library that glues in the Bullet physics engine into EFL to allow you to make use of an entire physics engine easily and simply in your creations. Edje also makes use of this allowing your themes to use it too.

New Theme for Elementary

Elementary now has the same dark look at Enlightenment 0.7 debuted with. It looks far sleeker and more consistent now. This theme also contains all the theme elements for Enlightenment too, unifying themes into a single entity now.

Office document loading for Generic Loaders

Evas Generic Loaders now can harness Libreoffice to generate thumbnails for common office document formats.

Wayland support majorly improved

EFL now has fairly complete support for everything in Wayland 1.3. As a client it does most things right and is certainly usable now for day to day usage.

Async rendering in Evas

Software rendering in Evas now works asynchronously by default. That means that while your app is doing application logic in your main-loop a background thread is also handling rendering for Evas. This should reduce frame-drops and stutters allowing you to make use of more CPU cores as well.

Object model and safety

Inside of EFL a new Object model is being created, called Eo. This starts to unify the ad-hoc object systems EFL has had and begins a journey on the way to EFL 2.0, providing interfaces, multiple-inheritance, unified callback prototypes, introspection and weak and strong references among other things. Currently Eo is not considered Stable as an API, but functions solidly. It also adds benefits of removing direct pointer access to existing EFL objects and puts them behind a table indirection which should remove any crashes when it comes to accessing invalid object handles. Object pointers are no longer real pointers, but are IDs in a table. For compatibility we place these new IDs into the old object pointers.

Audio support

Ecore Audio is now there. Only with an Eo API, so currently unstable (API-wise), but working solidly. It is used by Edje now to provide the ability for theme files to have sound effects.

Building and Dependencies

If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. If you are compiling the above, please compile them in the following order:

  1. efl
  2. elementary
  3. emotion_generic_players
  4. evas_generic_loaders

Please refer to the respective README files in each release for a full list of dependencies, explanations on configure flags and other relevant information (Just scroll down to see the README already displayed nicely).

Recommended dependencies are for all of the above are:

  • bullet
  • libpng
  • libjpeg
  • gstreamer (0.10) (ensure you have all the gstreamer codecs you need/want)
  • zlib
  • lua (5.1 or 5.2)
  • libtiff
  • openssl
  • curl
  • dbus
  • libc
  • fontconfig
  • freetype2
  • fribidi
  • libpulse
  • libsndfile
  • libx11
  • libxau
  • libxcomposite
  • libxdamage
  • libxdmcp
  • libxext
  • libxfixes
  • libxinerama
  • libxrandr
  • libxrender
  • libxss
  • libxtst
  • libxcursor
  • libxp
  • libxi (2.2 or newer)
  • libgl (opengl/glx or opengl-es2/egl)
  • giflib
  • util-linux (limbount + libblkid)
  • systemd / libudev
  • harfbuzz
  • systemd
  • libwebp
  • vlc (libvlc)
  • poppler
  • libraw
  • libspectre
  • librsvg

It is suggested you add the following options when building EFL to get a better experience:

--enable-xinput22 \
--enable-multisense \
--enable-systemd \
--enable-image-loader-webp \

On linux to get framebuffer support you may want to also do:


If you want wayland support also add:


At runtime if you want thumbnailing for DOC/PPT/XLS etc. files also provide:

  • libreoffice
Written by raster on Dec 1 2013, 2:12 AM.
Keeper of the rabid stoat