Archive

Archive for the ‘GeeXboX’ Category

How QT is that ?

July 3rd, 2010 No comments

Our new goal with GeeXboX is to get closer and closer to embedded systems and for that we’re currently reworking a lot of stuff to really feature a new-generation of cross-compilation framework. In a short amount of time, it’ll get very easy to generate a really customized embedded system by selecting various components as to build a fully customized distribution. In this purpose, QT has just landed in GeeXboX repository.

How QT/cute is that, huh ? Don’t get me wrong here, we’re still featuring Enna and it’s still relying on EFL, there’s no plan to change that. However, many people might be interested in developing QT-based applications and it is now possible. QT in GeeXboX is now in version 4.7.0-beta1 and features QML, the new scripting language one can use to easily create applications and I really have to say it works quite well. Current version runs through X11 only (though we may consider QWS support for very embedded systems using DirectFB) and uses OpenGL(|ES) when available. The OpenVG support is expected to come in the following weeks too.

Share
Categories: GeeXboX Tags:

GeeXboX has a new home

June 25th, 2010 6 comments

We’ve been working for quite a few time on it and it was expected for even much longer but the GeeXboX project now has a brand new website. The whole thing is much more “Web 2.0″-like (if it still means anything …) and will provide you much more interaction with the development team.

We expect to be able to use it as a blog engine and keep you posted of every significant change and steps in the project’s lifetime. In the mean time, you’ll also be able to comment and reply to our posts and share news through various social networks.

Hope you’ll all enjoy this new website :-)

Share
Categories: GeeXboX, Website Tags:

Road to ARM devices !

June 4th, 2010 1 comment

This ain’t news to anyone now cause, as announced to last ELC, the GeeXboX project is now focusing most of its efforts to support ARM devices and I’m glad to say that we made impressive improvements in this area. First, let’s be realistic, there are hundreds of different SoCs and ARM devices and it’s definitely not possible to support them all as one would do on x86 computers. Right now, we’ve decided to focus on OMAP3 from Texas Instruments. Why so ? That’s easy: it features nearly everything one can want to build a Media Center: an ARMv7 CPU (Cortex-A8), an OpenGL|ES compatible GPU (PowerVR SGX 530) and a 720p H.264 hardware capable decoding DSP. This SoC is also mature and has an impressive support from community. As a consequence, thanks to a few sponsors (CELF), the revenues from Google AdSense and generous donations, we’ve been able to get access to one BeagleBoard, 3 IGEPv2 boards and a TouchBook.

These brand new shiny toys really make wonders and thanks to a very hard labor, I’m proud to say that GeeXboX current development tree is now running fine out there. Of course, there are still many rooms for improvements but the basics are there and we’ve been able to run Enna on it by this week. While now working out of the box on these devices, we’re still using fully software methods (i.e. no DSP or GPU) which are, by definition, resources eating. But at least all of the infrastructure work has been done and we’ll now be able to focus on these peripherals.

When this will be achieved, we’ll have a complete out-of-the-box multimedia solution for very low-end devices that one can use to drive is Set-Top-Box. Speaking of that, we’ve decided to work, in the months to come, to the hardware design of our own motherboard (obviously based on ARM SoC), as to provide a full-featured STB, with Open Software and Open Hardware. More details will be available in the weeks to come.

In the long term, we also intend to support as much ARM chips as possible. I originally wanted to target at least ARMv7 architecture, due to its impressive NEON SIMD instructions set, but many devices still being based on ARMv5, we might possibly do some porting efforts. With a bit of luck (and very likely depending on Texas Instruments), we might also support OMAP4 architecture by end of the year (Cortex-A9, PowerVR SGX 540 and 1080p-capable DSP) and why not nVidia Tegra2. This can however only be done if we managed to get access to the hardware. So any interested developer or if you know any way to get sponsored some boards, feel free to join or to contact us at least.

Regarding GeeXboX itself, we also made very deep changes in the toolchain and our build system. I’ll make some announcement when the time will come but you may soon expect to have a impressively easy cross-compilation framework, with the possibility to create additional components through our SDK and package the whole thing using OPKG, which we’ll be using to have a fully packaged-based and upgradeable multimedia distribution.

So stay tuned :-)

Share
Categories: ARM, GeeXboX Tags:

GeeXboX at Embedded Linux Conference 2010

April 26th, 2010 1 comment

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:
http://elinux.org/images/0/03/ELC_2010_-_BZ_-_GeeXboX_Enna_-_Embedded_Media_Center.pdf

And the video will be posted when available.

Those interested in all ELC conferences might take a look at:
http://elinux.org/ELC_2010_Presentations

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.
Share
Categories: ARM, Enna, GeeXboX, Meeting Tags:

GeeXboX 2.0-alpha2 release

March 13th, 2010 4 comments

It’s already been one month since 2.0-alpha1 release so here’s alpha2. This release fixes a lot of bugs that have been encountered by our users on this first 2.x series preview.

  • Normalize LIRC configuration by providing generic binding for each and every remote control.
  • Initial port to ARM architecture: stay tuned, it’s gonna be awesome news soon :-)
  • Restoration of UPnP/DLNA feature with a brand new stack.
  • Restoration of internationalization support.
  • Upgrade of nVidia drivers: proprietary, legacy one and addition of Nouveau.
  • Add Kernel Mode Settings (KMS) for ATI/Intel/nVidia drivers.
  • Upgrade to Linux 2.6.33 kernel.
  • Fix LiveCD and Win32 installers, you can now install GeeXboX to disk again.
  • Fix OGG files playback issue.
  • Upgrade Enna to future upcoming 0.5.0 release, including hundreds of bug fixes and new features such as Weather enhancements, GeoIP localization, UPnP support, SHOUTcast and Podcast streaming.

Generator is still not yet ready for prime-time but we’re working on it. That said, feel free to download this new 2.0-alpha2 release. It had been made available for i386 and x86_64 computers. The light and full sources of this release obviously are available too.

You can also install it without further disk partitionning through the Windows installer.

Share
Categories: GeeXboX, HDTV, Release, x86 Tags:

GeeXboX 2.0-alpha1 release

February 14th, 2010 No comments

This has been announced for years but we’re finally stepping forward to the so long awaited for 2.0 release of GeeXboX. Today, we’re proud to let you have a first try at this new version, based on the Enna Media Center application that we have developed.

Enna is a standalone application that one can use on any Linux distribution (soon to be available for MacOSX and Windows users, who knows …) that replaces the old and dying MPlayer OSD interface we’ve been using for so long. The GeeXboX distribution you all know about will then become the Enna Live-CD project, but with all optimizations, configuration and tweakings that one may be able to do on his regular computer.

With Enna, GeeXboX now looks promising again, with this new shiny look and feel interface. Also being much more nicer, Enna allows us to add so many new features that you all were waiting for (check out the Enna website for that) so future looks bright again.

Also, Enna has been designed to be simple and intuitive to be used. It can be controlled either through keyboard, mouse or remote control. Mouse support is quite new in GeeXboX but its usage is kinda trivial. As for keyboard, we have tried to make usable with as few keys as possible. As a result, one can control Enna the following way:

  • Arrows: used to navigate between the different menu lists.
  • Enter: used to validate your selection.
  • Backspace: used to cancel or browse back to previous menu.
  • Escape: if you ever wanna stop Enna (and shutdown GeeXboX as well).

As you might have understood, Enna and GeeXboX v2.x design is the result of years of development and deep architectural changes. Things now are getting stabilized but we’re still lacking of manpower to enhance it the way we’d like it to be. So if you’re a Linux developer, feel free to join our team. If you’re interested in GeeXboX v2.x architecture, you’d be glad to know that it was presented to FOSDEM (Free and Open Source Software Developers’ European Meeting) a week ago and both slides and video are available.

We all hope you’ll enjoy this first alpha release of GeeXboX 2.x series. Though, keep in mind that, as the name suggests, it’s an alpha version only. This means that unfortunately, it still suffers a lot of bugs and many regressions towards 1.x series. The availability of final stable release over requires you to test it the most you can, reporting any trouble one can find.

As a consequence, some stuff are already know to be broken or missing:

  • Some features are disabled, including TV and netstreams support.
  • Generator needs a huge rewrite and will be part of alpha2 release only, sorry folks.
  • Audio OGG files are seen as video files (!!) and playing them back results in a black screen with uncontrollable Enna (you’ve warned).
  • The framebuffer-based console mode has been disabled until being fixed. HDTV mode only (i.e. using X.Org server) is supported in this version.

On the bright side, new features have been added or enabled by default:

  • The proprietary nVidia video driver has been integrated. Every nVidia GPU should now be supported. With those cards, Enna should also be using its OpenGL rendering engine, providing a smooth rendering.
  • The VDPAU hardware decoding engine has been integrated. If you’re the lucky owner of an nVidia card higher than GF8800 series, than you should be able to decode MPEG-2, MPEG-4 (i.e. DivX), H.264 and VC-1 streams using your video card, offloading your CPU. This of course includes ION-based Set-Top-Boxes that are now able to decode 1080p videos.
  • For non-nVidia users, the multi-threaded decoding feature now has been enabled by default. MPlayer will then uses all of your CPU’s cores to do software video decoding.

In order to allow us to enhance GeeXboX to our users’ configuration, we’ve also setup a statistics utility that provides us with some information regarding your hardware configuration. It has been enabled by default but we know that it can be intrusive for some users. So if you’re not willing to provide these info (CPU model, amount of memory RAM, video board type, and such …), you can disable it by adding nostats to the boot command-line.

That said, feel free to download our new 2.0-alpha1 release. It had been made available for i386 and x86_64 computers. The light and full sources of this release obviously are available too.

Share
Categories: GeeXboX, HDTV, Release, x86 Tags:

GeeXboX 1.2.4: fix release

October 11th, 2009 No comments

Some commercial DVD decryption bug having been spotted out on GeeXboX forums, we had to fix it through this minor 1.2.4 release. In the mean time, you’ll be pleased to hear that 2.x development branch has been greatly stabilized recently and we should be able to provide the first alpha release by end of year.

Share
Categories: GeeXboX, HDTV, PowerPC, Release, x86 Tags:

GeeXboX 1.2.3: fix release

July 10th, 2009 No comments

As it appeared that a nasty bug with some AC3 audio encoded files slipped through previous 1.2.2 release, here’s another minor release. No big changes here except from AC3 playback recovery.

Share
Categories: GeeXboX, HDTV, PowerPC, Release, x86 Tags:

GeeXboX 1.2.2: features enhancement release

June 19th, 2009 No comments

A few interesting patches recently having been commited to 2.0 development tree, people on forum asked for backport of these on stable 1.2 release. So did we, adding a new key feature, with multi-threaded video decoding support. Non IT people can see this as a way to finally make use of their brand new multi-core CPU systems providing parallelized treatment. And the results are pretty good, with a 1.8x video decoding speed boost on Core2Duo and 3.0x speedup with Core2Quad. It is now truely possible to actually decode 1080p HDTV streams on Linux.

As exciting as it may be, please however note that this is still an experimental feature (we’re probably the one of the first Linux distro to integrate it), that may cause undesired visual artefacts (in some very rare cases). In order to make use of it, you’ll have to explicitely enable it through ISO generator.

Detailed Changelog (relative to 1.2.1 release):

- Multi-threaded video decoding for MPEG-1/2/4 and H.264 codecs.
- Support for newly discovered DVD MovieProtect encryption method.
- Extended DVD CSS descrambiling capabilities.
- Removal of GOOM audio visualization (was causing too much troubles).
- Automount daemon enhancements.
- Upgrade of MPlayer and its set of codecs.

Share
Categories: GeeXboX, HDTV, PowerPC, Release, x86 Tags:

February 2009 Progress Report

March 4th, 2009 No comments

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

Share
Categories: Enna, GeeXboX Tags: