So Linux 2.6.35 is barely out and has already been integrated to GeeXboX. We planned to stick on previous kernel but this one really has some major improvements. It came with many changes over ARM architecture and allowed us to get rid of an incredible number of patches for OMAP3 boards. Also it now supports upcoming OMAP4 boards which soon will be supported by GeeXboX too.
Last but not least, there was a major improvement over x86 Intel DRM drivers that now supports H.264 hardware video decoding for newest G45 GPUs. As a result, we also update our VA-API framework and enabled it within GStreamer and VLC players, providing hardware video decoding capabilities.
As for embedded space, one may also notice the introduction of DirectFB, an accelerated framebuffer interface that allow us to provide non-X support for some devices. Enna still has to be updated to take profit of that but this will open our media center to a bunch more devices.
The CE Linux Forum organized the ELC (Embedded Linux Conference) 2010 session at San Francisco from 12th to 14th April. I had a 1h speaking timeslot where I presented GeeXboX, Enna, libplayer and libvalhalla. This was also followed by a 2 hours demo session where Davide and myself presented Enna on netbooks + Nokia N900 to various attendees and enterprises.
GeeXboX and Enna received a pretty good feedback from both the people attending the presentation than the demo. We also managed to draw contacts with many interesting people from various companies: Nokia, Texas Instruments, Samsung, Numonyx, AlwaysInnovating …
A lot of questions were raised, a few remarks too and in many cases, people had the same remarks or feelings (I do personally share many of them btw).
Most of the people were impressed by Enna on Nokia N900. Actually, most of people are interested by Enna on embedded devices (but that’s somehow normal due to expected audience), way more than on regular PC. Most people want it to run on ARM targets.
People were impressed by the very low footprint required. Numonyx folks consider it very useful with XIP approach.
Many people where very interested by libplayer actually. Its capability to allow user choose which backend to use seems to be very popular. Though everyone requested a GStreamer backend. I’m currently writing it but it’s definitely the way to go if we really intend to address embedded devices and enterprise-grade devices. It’s the only way to correctly handle DSPs atm.
Executives from Samsung were really interested by Enna itself. Actually, they knew about it before joining the stand. They wanted to know what was the difference with the enna from Enlightenment project (memo: Samsung hired the EFL main developer). They were happy to know that our Enna is the same as the one from E project. They also are very interested in it for their mobile phones (but not for the Bada project, or so they said) but were very disappointed by its very slow response time on N900. For the record N900 is running in software_x11_16 currently, the OpenGL|ES renderer being barely faster (if not slower) and produces garbage. I recalled them that they hire the man responsible of Evas and the renderers. Though it’s true and I confirm their feeling. I consider Enna as really really slow to draw anything (both on embedded devices and x86). No idea if its Evas issues or Enna bottleneck for we have slowdown issues. Though, from the expedite tests I did on N900, I’m disappointed by Evas performances.
People loved libvalhalla (or what it provides) and the capability to retrieve all metadata was really welcomed.
The biggest reproach done to Enna was the use of EFL instead of QT. Both individuals and enterprises (including Nokia obviously, but not Samsung, obviously too would have recommended to use QT for its stabilized and documented API. The no-relases behavior, lack of documentation and unstable API of EFL was stated countless of times. Nokia shown us some small apps written using their new QML langage (EFL Edje equivalent) which is completely interpreted (but can be compiled) and I have to say the results were impressing. At first they have all necessary widgets (i.e. a completed Elementary) we need and the performances (on a regular PC at least) truely outcomes the ones of Evas-based applications (again while being interpreted). I asked us about OpenGL|ES performances and benchmarks (as it’s now my main point of interest) but they have no numbers to be provided (they however confirmed it to work fine). A lot of people also told us they would consider helping the project if it was QT written.
Good news everyone ! I recently ‘ve been sponsored Nokia N900 phone by CELF, this awesome pro-Linux foundation that already used to sponsor me DLNA specifications a few years back. The idea of course was to start porting our software to ARM-based devices. Nokia N900 phone is a great toy. It features an OMAP3 SoC (ARM Cortex-A8 CPU associated with an SGX GPU that can handle OpenGL|ES) and is running Maemo 5 distribution (soon to be replaced by Meego), a Debian-derivated by Nokia. The idea behind all this of course was to port Enna (and its associated dependencies, i.e. libplayer, libnfo and libvalhalla) on this system and optimize the hell out of it
This is now done. Kudos to myself :p
There are still room for way more optimizations. Enna has been ported, that’s a fact. The underlying dependencies can however be improved a lot. The EFL can use either X11 or OpenGL for output. Right now, we’re still using plain X11. It’s not really optimized but I’m not yet fully convinced of the OpenGL|ES port so it’ll stay this way for a still a while. Also, libplayer on N900 has been configured to use MPlayer. While this perfectly works, it uses CPU (with all possible ARM VFP and NEON optimizations though) for software decoding instead of using the hardware DSP. As a result, it can decode much more audio and video formats than the default embedded played allows to, but it’s also slower. I have multiple possibilities to make use of this DSP (through Maemo MAFW video API or using OpenMAX) and have not yet settled my choice.
Anyhow, everyone should now be able to try out out Enna v0.4.0 on his phone, provided he has one Nokia N900 of course
In order to install it, go to Package Manager and add a new repository:
So next week (6th-7th February 2010) at Brussels takes place the Free & Open Source Software Developers Meeting (a.k.a. as FOSDEM). We manage to get lucky enough to get granted a short time-slot to present GeeXboX and Enna. So if you’re interested in Enna and you’re going to FOSDEM, don’t miss the GeeXboX: An Introduction to Enna Media Center lightning talk at 18h20 on Saturday 6th. Those of you who won’t be able to attend (let’s be realistic, we’re talking about 99% of you) will have to wait a few days more as I’ll put the slides (and potentially video of the talk) on-line after FOSDEM.
It’s now has been 3 weeks only that Enna first official release has been out and I’d have to say the project received a warm welcome. The news spread around the world and a lot of people have manifested a huge interest in it. We’ve been helped by many volunteers that gladly extended the internationalized pages so that next release will be available in much more languages. Unfortunately, no new developer came out so our team still is pretty low numbered. Though, the various projects (libplayer, libvalhalla, Enna …) seem to please people as many distributions (Debian, Ubuntu, Fedora, Slitaz …) have started packaging our libs.
Meanwhile, we’re still trying to stabilize a bit more the GeeXboX distro so that you should be able to test Enna on our alpha1 release of LiveCD. But let’s focus a bit more on Enna itself. As said, only 3 weeks have passed and still, many improvements have been made, based on some user requests and feedback we just received (plus other features that were meant to be done anyhow). So let’s have a look at what’s already done and which you’ll see in next 0.5.0 release.
Massive rework of the libvalhalla-based database browser. It is now much more generic and can be used in both music and video activties.
Addition of a new UPnP A/V (and DLNA) browser plugin. It is based on GUPnP libraries and will allow you to automatically discover and your network devices and browse their content. Unfortunately, it uses the very latest version of GUPnP API, which is not available in Ubuntu 9.04 Karmic. It is however in Lucid 9.10 and future users will be able to use it by this time.
HAL being mostly deprecated and most of distribution tending to remove it, the volume auto-detection plugin is now based directly on libudev, which turns out to provide the same level of features which much less overhead.
Many users have complained about the difficulty to find the configuration file and to edit it, and for good reason. This was a known issue, but not a release-blocker though. Efforts are spent to try to provide a fully GUI-based configuration. In this intend, we’ve added an .ini-style configuration files parser/dumper. This allow us to load and write configuration at any time. Hence, at Enna run, a default configuration is loaded and this one will be saved back to file at shutdown. Also, we’re now following the XDG specifications in order to store the configuration and data files (so you’ll have to modify a few things at 0.5.0 release).
The weather module was very well appreciated but also a source of multiple complaints. Well, good thing is that you’ve been heard, as it was improved in many ways. The module now allows multiple cities to be specified and, if none is specified, Enna tries to perform IP geo-localization in order to know where you are (based on your Internet provider’s information). Also, this may sound stupid, but it is now possible to force temperature metrics, between Celsius and Fahrenheit.
Many changes also have taken place in libvalhalla, which now allows you (through Enna) to choose which grabber(s) you want to run. It also fetches the various information much faster and gives priorities to certain type of metadata based on their origin (e.g. if available, we’d better take the movie backdrops from HD-compatible sources such as TheMovieDB than Amazon). The database format has changed a bit though, so the current one won’t be compatible with next Enna release.
That’s pretty much all for now on, regarding Enna new features. However, if interested, you’d be glad to know that the GeeXboX team will held a 15mn lightning talk conference at next FOSDEM (Brussels) on 6th February 2010. We’ll speak about Enna, libplayer, libvalhalla and of course GeeXboX. Feel free to come, especially if you’ve already planned to join FOSDEM.
Oh and by the way, I’ve just registered GeeXboX and Enna on Ohloh. So if you’re pleased by our software and proud to use them, just let us now
It was kinda hard and efforts were countless, but GeeXboX team is proud to announce the very stable release of Enna Media Center. After months of development, this brand new user interface finally has landed. Enna is available as a standalone application for all modern GNU/Linux based distributions (and already packaged for Ubuntu 9.10) and will, obviously, be part of GeeXboX v2.0 release. Speaking of which, the hardest part now being behind us, the first Alpha1 release of GeeXboX v2 is due to this month.
In the mean time, feel free to test Enna on your regular PC and we really hope you’ll enjoy using it. More information are of course available on Enna website.
Those of you who follow GeeXboX development carefully already heard about the project Enna . It’s a Media Center project, based on Enlightenment Foundation Libraries (EFL), that has been developed by the GeeXboX team members. Enna is a standalone application, that can be run on any Linux distribution, GeeXboX LiveCD being one of them and that will be the major feature of upcoming v2.0.
As a convenience (and because some users do not want to use the LiveCD distribution), Enna will be made available for others than GeeXboX (first release is expected pretty soon). Enna being a graphical interface only, the team has developed many other libraries that are used by Enna and for which initial release just has been made:
libnfo : a small library used to parse and write NFO files. NFO files are XML files used to store metadata information on many multimedia files. It is massively used by other Media Centers, such as XBMC, which allow you unique metadata storage among your various Media Center applications.
libplayer : a multimedia A/V abstraction layer API. Its goal is to interact with Enna . libplayer provides a generic A/V API that relies on various multimedia player for Linux systems. It currently supports MPlayer, xine VLC and GStreamer only. This will allow future GeeXboX users to easily switch from one media player to another.
libvalhalla : a media scanner library, that stores various information in an SQLite database. It features many Internet grabbers that allows automatic download of covers, lyrics, informations on media files, tags retrival in video and music files and so on. Among them, we currently support Allocine, Amazon, EXIF information, FFmpeg, ImDB, Last.fm, local files, LyricsFly.com, LyricWiki.org, NFO files, TheTVDB.com, TheMovieDB.org and TVRage.com. It can of course be extended to support so much more.
All of these libraries just hit the 1.0.0 release and are available either under source format in their respective projects’ homepages but also have been packaged for Ubuntu 9.10 (Karmic) users (but should work as well on Debian Sid) to try them out.
Also remind that these libraries are not meant to be GeeXboX specific. They are fully portable and can be used with many other projects.
As you may have understood, it is now possible for you to easily try out Enna before it gets officially released. However, and just for the most eager ones of you, you may appreciate the following screenshots of Enna .
So, what happened in the GeeXboX world since FOSDEM and the beginning of 2009. As you all may have seen, the 1.2 (and even 1.2.1) release finally landed out. It was a big relief and seems to please a lot of people from now on. In the mean time, we’ve upgraded major GeeXboX components, namely Linux kernel and X.Org and the development tree is now a really big mess (a.k.a. everything crashes so bad we don’t even know where to look for). The Linux graphics parts is currently evolving quite fast and most of drivers are being completely rewritted, resulting in a lot of issues. Though, we’ll try to fix it ASAP, especially now that Enna has been included in GeeXboX as new default UI, in order to provide you very soon with the very first 2.0-alpha release.
For video decoding fans, it is good to know that MPlayer now natively supports VDPAU, the h/w video decoding framework from nVidia. When used with the adequate nVidia proprietary drivers for X.Org, it is now possible to make MPEG-1/2/4, H.264 and VC-1 video decoding done by your GPU. It is not yet included in GeeXboX, as it relies on the non-redistribuable proprietary driver but we’re considering a way to optionally add it afterwards. In the mean time, an experimental branch of FFMpeg is available, which provides multi-threading support. This is a much more elegant solution that actually finally allows you to use more than 1 thread (or CPU core) at a time for video decoding. On my Intel Q6600, using the 4 cores actually provides a 3x faster decoding speed, which is simply awesome. This has not yet been included into GeeXboX but it’ll definitely be part of the next alpha release.
And now comes the most interesting part: news from Enna. Most of our time and resources are currently wasted on Enna, our next-gen UI. Nico recently did a lot of work on it in order to both simplify the code and fasten it quite a bit. On my side, I’ve just finished adding a new weather module, that makes use of Google Weather Web API to provide you weather forecast (up to 4 days). But the following screenshot is probably better for you to see the newly added stuff:
Davide, on his side has started working on Enna for the very first time and he already manage to create a new games module that looks for all games installed to your Linux desktop and allows you to start them out from Enna interface. Being our DVB/VDR guru, Davide is also working on a new TV module for Enna that would allow Enna to directly use VDR (VideoDisk Recorder) to grab and display DVB streams (with recording capabilities) but it’s a long time plan, and still far from being completed.
The major contribution from these last days probably comes from Mat, who introduces a new component called libvalhalla that actually is an ultra-fast multi-threaded media scanner library that extracts metadata from all of your audio files (through FFMpeg libs) and save them back to an SQLite database. He of course also wrote the Enna browser plugin that makes use of libvalhalla allowing user to browse his media library by different criterias such as artist, album and so on …
Pretty good, isn’t it ? Now I feel that you’re all eager to test out the alpha release :p So let’s get back to the code and try to fix it so that we can provide it to you whenever it’s possible
Around 6 months ago, we were still pretty stucked with the GeeXboX GUI question (as we were for the last 2 years …) and then we found some very small Enlightenment based Media Center UI called Enna. Over the last months, we’ve been working on Enna and nearly all of its parts were even rewritten. A lot of work also have been commited on it over the last days and I’m pretty happy about its current status. We should be able to have a working next-gen UI in GeeXboX (with basic playback features only though) over the first months of 2009.
Now, regarding Enna itself, a lot of things have changed within the last 2 weeks:
Complete modularization: everything is now a dynamic module (backend, browsers, activities, metadatas …) and can be atomically enabled/disabled according to user needs.
The various activities (audio, photo, video) have been reworked a lot to share the same browsing codebase. This avoid duplicating bugs and simplifies things a lot.
The metadata module class has been completely rewritten to allow easy writing and addition of different modules capable of retrieving properties from a given resource. Among these properties, we consider:
audio metadata like ID3 tags, codec, bitrate, frequency …
video metadata like resolution, codec, framerate …
photo metadata like EXIF tags
Audio CD or DVD cover, video snapshot or poster/picture wall
libplayer module has now been split into 2 logical modules: one for backend (playback) and one for metadata retrieval.
a new metadata plugin has been wrote to access to TheMovieDB.org (TMDB) to retrieve hi-definition covers, pictures and movie info like story overview, actors list, release date and so on.
The metadata are now stored/dumped in an EET file. This allows ultra-fast recovery of metadata for a given resource if they’ve already been retrieved once.
A new HAL browser also has been added, allowing to automatically discover all of your available devices (HDDs, external USB disks, Audio CDs, DVDs …) supporting hot-(un)plug notification.
Looks cool isn’t it ?
Also, a newcomer has manifested some interest in Enna’s development so we might soon be one more developer to work on this awesome project
It’s been a while since latest Enna’s news entry. A few work has been done for the last couple of weeks and the picture wall you’ve seen earlier is now fully integrated. Theme also has changed a bit, in order to become a bit lighter and a new menu top bar has appeared, with date information and a few control buttons.
Enna still only features 3 main modules (music, video and photo) and we’ve decided to keep it so for first release, as it’s always better having a few working modules than a lot of buggy ones The photo module has been quite updated to integrate the ass kicking pictures wall. It is however not yet able to display fullscreen pictures, add slideshow effects, perform rotations, display EXIF metadata but it’s planned for a very near future.
The music module hasn’t evolved much, as it was already working pretty fine. The only noticeable change may concern the cover display item. Covers may be grabbed from either local directory, if present, or from Amazon.com webservices API, if your audio file has enough metadata in it. Next plans for music module will be to add a few more buttons to switch between songs, seek within, update volume level and so on. Most of these actions can already be done using keyboard of course, but Enna is meant to be used with touchscreens too, so we’ll definitely need that.
Finally, the major changes took place in video module. Previous one was pretty ugly, least to say We’ve decided to enlighten it and rework its whole design. You now have a video thumbnail, next to which are located all of the video properties. As usual, if movie title is eloquent enough (forget about your HDTV rips), Enna will try to look on Amazon.com for a proper DVD cover.
That’s it for today’s Enna changes. Oh, by the way, I’ve almost forgot to tell you about … This week, I’ve started the first geexbox-enna branch. Yeah, instead of focusing on finalizing 1.2 release, I’ve decided to integrate Enna to GeeXboX. As it’s only a work-in-progress branch as for now, it is already usable and judging by the results, it is already pretty much usable (but ages from being ready for production). Those interested in trying it out may just look for commits mailing list archives.
As today’s conclusion, I’ve made a 5mn runtime Enna video. Just enjoy the show
As usual with Google vids, resolution and compression is a bit crappy, so feel free to use slightly better version of it.