Posted by: ben | March 4, 2009

February 2009 Progress Report

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:

weather2

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 :-)

Posted by: ben | February 8, 2009

GeeXboX developers meeting at FOSDEM’09

The GeeXboX team members finally met at FOSDEM this weekend at Brussels, Belgium. It was a big pleasure finally meeting everyone IRL.

p1000188

Attending members, from left to right: Aurélien Jacobs, Nicolas Aguirre, Guillaume Lecerf, Davide Cavalca and Benjamin Zores. Mat and Andrew were not able to join but it still was a very nice weekend.

Posted by: ben | December 24, 2008

Enna’s Xmas Status

Hi,

This might be (or not) latest post for 2008 on this blog but it definitely is for Enna at least :-) 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:
  1. audio metadata like ID3 tags, codec, bitrate, frequency …
  2. video metadata like resolution, codec, framerate …
  3. photo metadata like EXIF tags
  4. 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 :-)

That’s it for 2008.

Merry Xmas@all and let’s see you back in 2009.

Posted by: ben | December 14, 2008

GeeXboX 1.2-beta2

Here it finally comes ! A few weeks after 1.2-beta1, here comes the second beta release. A lot of bugs have been fixed and it’s expected to be more stable than ever.

See GeeXboX webpage and happy playback :-)

Posted by: ben | November 29, 2008

Enna progress report …

Hi folks,

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-main_menu

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.

enna-pictures_wall

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.

enna-playing_music

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.

enna-movie_preview

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.

Posted by: ben | November 16, 2008

nVidia brought PureVideo to MPlayer/Linux

Regarding GPU, I always used to be an nVidia fan, especially considering Linux. I do like Intel too, but only because they have a relatively good OSS Linux driver (and having a MacMini, it’s well appreciated) but, on my main PC, I had to choose between ATI and nVidia and the choice was obvious.

The sad thing unfortunately is that nVidia GPU is fine under Linux only if you intend to use their proprietary binary driver. That’s a bit of a pity considering it’s fully bloated and closed-source but at least it works fine (way more than the ATI crap). Due to license issues, we won’t be able to ship it with GeeXboX though.

What’s interesting today, is that nVidia released their new version of Linux driver, which is particularly interesting for GeForce 8+ owners (those with cards that support CUDA API), because they manage to bring PureVideo h/w video decoding support to Linux.

This means that this driver is capable of using the GPU to handle parts of MPEG-2, MPEG-4, H.264 and VC-1 video decoding. OK, I know, ATI did the same kind of announce 3 weeks ago and released their own API too but they “forgot” to provide any libs and headers which make it unusable right now …

nVidia called its extension VDPAU, which stands for Video Decode and Presentation API for Unix (yes, it does work on FreeBSD and Solaris too). However, what is pretty interesting is that, for once, they did the full job, providing patches to ffmpeg and MPlayer so that Linux players are directly able to make use of their API. And the results are damn impressive !!

Phoronix has already performed benchmarks of it and the results are excellent. What used to take more than 50% of your CPU now only take 5. Real HDTV decoding is now completely doable under Linux at a reduced cost. It’s likely that patches will get merged into upstream MPlayer and all we have to hope now is that OSS Nouveau driver become stable enough and find a way to provide CUDA API access so that we’ll be able to do it the OSS way :-)

Posted by: ben | November 16, 2008

GeeXboX now features HAL !!

It’s been 2 weeks since 1.2-beta1 release and results were mitigated. Some people are pretty enthusiastics as it used to worked out of the box, others were disappointed as nothing worked at all :-)

The first good news is that a lot of issues have been isolated (and hopefully fixed). There used to be breakages in installator, X.Org ATI driver (readonhd has now been dropped and replaced by the legacy one) and UPnP discovery. We have also upgraded kernel and X.Org server for a better compatibility with some GPUs and TV screen detection.

Statistically however, 95% of downloads (at least on main website, dunno about mirrors) were done against x86_32 ISO image. Geez, why did we waste time on x86_64 port if no one is using it ? I’m kinda disapointed in this area. Though, the PowerPC branch has been restored and its associated ISO will be provided for upcoming 1.2-beta2 (I don’t expect much downloads of it that said …).

Today’s point however is meant to announce that GeeXboX now support HAL, a.k.a. Hardware Abstraction Layer. X.Org is taking advantage of it through its XInput extension. Basically, that means that we do no longer provide and support the legacy X.Org keyboard and mouse drivers but evdev (Event Device) instead.

How does it work and what is it useful to ? Actually, Linux kernel provide some evdev driver that is used to detect any HID device (keyboard, mouse, touchscreen, some remote like Apple IR one) and, through udev, it notifies the hardware abstraction layer that new event devices are available. Using HAL (and the D-BUS message bus), X.Org server can automatically discover input devices and make use of them. As a result, it now support hotplug detection of input devices and do not require any configuration at all. You should now be able to plug in/out any new input device and directly use it to control the interface.

Another good news is that input drivers were the only remaining devices that needed to be probed for X.Org to work. Hence, GeeXboX used to boot in 2 steps, one starting X.Org in probe mode, generating a xorg.conf file, and then, booting X.Org for real. Now that everything is automated, the xorg.conf file do not exist anymore (i.e. X.Org can boot without it but you can still provide one if you feel the need) and boot process is faster.

Ok, I know, this still looks a bit overkill regarding current UI, especially when taking about touchscreen/mouse hotplug support but Enna will be included soon and changes will then be far different :-)

Posted by: ben | November 2, 2008

GeeXboX 1.2-beta1

It’s finally there ! I’ve been able to produce the 1.2-beta1 release for both i386 and x86_64 computers. Now it’s up to you guys to test it out and report the most bugs you can till final 1.2 release.

See GeeXboX website for more info on what has changed with this release.

Posted by: ben | October 26, 2008

Again, GeeXboX 1.2 ?

Hi,

It’s been 3 weeks since latest post on upcoming GeeXboX 1.2-beta1 release and here are more news. Many efforts have been done to stabilize the development tree and it’s hopefully hte case today. Due to some nasty kernel configuration (actually it’s been there for a few weeks/months I guess), many X.Org video drivers had difficulties being inited. Some drivers also were updated (mostly RadeonHD and Intel ones) and I’ve been successfully testing both ATI, nVidia and Intel X.Org drivers.

Hopefully, the development tree seems to be pretty OK right now, at least on i386. A last bug still exist with x86_64 and, once fixed, everything should be ready for 1.2-beta1 release. So, just stay tuned …

Posted by: ben | October 5, 2008

Ever dreamed of a pictures wall … ?

Evas (Enlightenment canvas toolkit) is an extraordinary library and one of its awesome feature is being extremely fast to load and render objects, like pictures. As a result, that’s one of the reasons why we’ve choose it for Enna. But let’s see what can be done with it :-)

You’ll find below an example of what Enna’s pictures viewer will look like in a few weeks. No need for you to grab latest development tree to do the same, it’s not yet committed. We’ve tried to think at the best and more natural way for one to browse within its photo collection and considered it was pretty useless to have them sorted by name (after all, they are all named DSCNxyz or whatever your camera save them …) and, more important, the following render just kicks ass, and that’s all that really matter. Hopefully, Nicolas Aguirre, Enna’s creator, master Evas like no one does. Lets just see what he can do:

Isn’t that just beautiful ? One can scroll between the various using the arrow keys or mouse and the whole directory is rendered as a large single wall of pictures that you can horizontally slide on (and pretty fast and smoothly). Alos, for the record, the display was generated from a 120 MB directory of pictures and it was loaded in a second. Pretty fast, huh ?

Let’s conclude with this picture wall dream with a real time video preview (though video capture is too slow to show you the image viewer smoothness).

The whole thing is just a mockup right now but is soon to be included within Enna. Of course, it also lacks of a few things like fullscreen display of the selected picture and, why not even add the possibility to display a panel with picture’s EXIF info or description ?

Older Posts »

Categories