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.
For interested people, my slides are available at:
And the video will be posted when available.
Those interested in all ELC conferences might take a look at:
So, what happened meanwhile this event ?
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:
- Name: GeeXboX
- URL: http://packages.geexbox.org
- Distribution: fremantle
- Component: main
Proceed with packages database update and then:
- Hit the Download icon.
- Choose Multimedia application.
- Select Enna Media Center.
That’s it. I hope you’ll enjoy it
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.