Posted by: ben | January 3, 2010

First public Enna 0.4.0 release

The very first release of Enna Media Center (v0.4.0) has came out. Let’s check more about the press release:

The GeeXboX project, multimedia-oriented Linux distribution, just announced the release of Enna Media Center, after months of development efforts. Enna will obviously be upcoming GeeXboX 2.0 user interface, providing so much more features while keeping its easy-to-use aspect.

Considering this approach, the very first public stable release of Enna (v0.4.0) just came out. Enna relies, at least for its graphical part, on Enlightenment Foundation Libraries (EFL) and, as for its multimedia capabilities, on libplayer (an audio/video multimedia player abstraction framework, that provides seamless control over either MPlayer, Xine, VLC or GStreamer) and libvalhalla (a metadata extraction library which also provides external resources retrieval, such as covers, posters, fan arts, lyrics … along with saving these info on an SQLite database), both being originated and developed by GeeXboX team.

Enna supports multiple video rendering methods (being Frame-Buffer, X11, or OpenGL (ES)) and, through libplayer, do adds support for XVideo or VDPAU, in order to provide hardware video decoding on nVidia capable boards.

Still young, Enna reminds a lot of XBMC, which tends to feature so much more, but is although much smaller in terms of size, dependencies and resources consumption. Fully keyboard/mouse/LIRC controllable, Enna allows you to listen to your favorite songs collection, watch your personal photos, movies and TV shows, to check on your local weather forecast, but also an on-line ebook reader through and content providers.

Now let’s dig a bit more in Enna dependencies:

Enlightenment Foundation Libraries (EFL)
As the name tends to  say, EFL are the core of Enlightenment’s E17 project. It’s a set of various libraries such as:
Evas: a video compositing layer and rendering engine.
Ecore: an event layer with I/O support.
Edje: a theme and scripting engine
Elementary: a set of widgets.
Optimized for embedded devices, these libraries are C written, fast and reliable.

GeeXboX uses MPlayer for quite a few years now (original creators also being MPlayer developers), through its OSD menu, both as media player and user interface. While that’s quite easy, it’s also extremely difficult to extend it. The idea was then to split the user interface from the video rendering engine. Over the time, MPlayer not necessarily is the best candidate these days (depending on context and the type of resource to be read, e.g. DVDs or network streams). it appeared as a good idea to create an interface that would allow, through a unique API, to seamlessly control multiple kind of players, such as MPlayer, Xine, VLC or GStreamer. Hence was created the libplayer project. This latest now provides control over the 4 players, as a thread-safe C library. MPlayer and Xine wrappers currently are very well supported, the 2 others are much less. Some of the missing features simply are dued to a lack of time, others come from more problematic technical issues (e.g. nVidia’s VDPAU implementation still relies on non thread-safe X11 API instead of XCB, as well as libVLC which still uses a lot of global variables) but the basis performs quite well.

Once again fully initiated by GeeXboX team, this library acts as a metadata scanner and parser among your multimedia files (songs, videos, photos). It aims at fetching as many information as possible (such as lyrics, CDDA and DVD covers, movie resolution, codec type and such …) and store them in an SQLite database. These information will be used later on by Enna to provide an extended display of your file’s characteristics when browsing in your multimedia collection. libvalhalla was designed to be an extremely fast and parallelized (hence thread-safe) library, that can run either in background, scanning all of your HDDs, or on demand, to force instant retrieval of a given file’s information. The design is quite modular, allowing to use (or not) multiple modules, in order to retrieve on and off-line data. Among them, currently supported on-line grabbers are,,,,, The, and As for off-line grabbers, libvalhalla currently supports EXIF, FFMpeg, libnfo and local files.

While being developed by GeeXboX project members to interact with Enna, it’s needless to say that these 2 libraries were designed to be independent and re-usable. In other words, one can obviously make use of them for any other purpose or within other projects (e.g. how many application ever tried, with more or less success, to implement MPlayer’s slave-mode FIFO control ? One can now do it in plain C).

Enna, and its associated libraries are available for any modern GNU/Linux distribution. Ubuntu 9.10 Karmic users can have a quick try at it, through apt-get, the whole stuff having been packaged for.

One may also note that Enna will obviously be part of GeeXboX LiveCD, which 2.0-alpha1 release is due to January 2010. Enna will also be shortly presented in FOSDEM next February.



  1. Hello,

    I tried running it in Ubuntu Karmic, but it doesn’t start:

    enna: error while loading shared libraries: cannot open shared object file: No such file or directory

    • Hi,

      I’ve tested the packages on two fresh installations of Ubuntu Karmic without problem. You should provide more informations. For example the arch, if you use our deb repository for the EFL…
      The result of the command:
      ldd `which enna`

    • I was searching for a solution to more or less the same problem – the only difference being my Enna (on Linux Mint 9) was asking for “” and I found the solution at which helped… I simply made one symbolic link of my only “libembryo” file in /usr/lib directory ( and named it “” and voilà!!! Enna replaces Xbmc which seemed too heavy for my machine…

  2. […] can read Ben’s post on his blog : it talk a bit more on enna and integration with next geeXboX 2.0 […]

  3. instalei, mais não consegui configurar as pastas, talvez um coisa idiota, seleciono as pastas, mais não sei aonde fixar elas como pastas de midia, alguma dica?
    **Google Trad: **
    installed, it could not configure the folders, maybe a stupid thing, I select the folders, most do not know where to fix them as folders of media, any tips?

  4. […] – Enna : A powerful and open Media Center – First public Enna 0.4.0 release (Ben’s Lost World – Diary of a GeeXboX […]

  5. […] – Enna : A powerful and open Media Center – First public Enna 0.4.0 release (Ben’s Lost World – Diary of a GeeXboX […]

  6. […] Via | Gxben […]

  7. […] – Enna : A powerful and open Media Center – First public Enna 0.4.0 release (Ben’s Lost World – Diary of a GeeXboX […]

  8. […] […]

  9. […] и лидер команды разработчиков GNU/Linux дистрибутива GeeXboX, сообщил о доступности первого публичного выпуска нового […]

  10. […] Via | Gxben […]

  11. […] Nota de lançamento:…]rst-public-enna-0-4-0-release/ […]

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: