March 31, 2010
This article was contributed by Nathan Willis
Element is a lightweight Linux distribution for use on a home theater PC (HTPC). It comes with most of the same video-playback applications one would find in a modern desktop distribution, but the development team has put considerable effort into wrapping the applications in an environment that is easy to navigate from across the room, and comfortable for non-multimedia-hackers. Tough challenges still remain for any HTPC distribution at the hardware and configuration level, but Element's results are definitely an improvement over basic Linux systems in setup, application integration, and usability.
The distribution project started in April of 2009; the current release is version 1.1, from March 24, 2010. The release is available as a CD-sized ISO image via direct download or Bittorrent. The Element team supports its development
through affiliate sales of HTPC hardware, and is pursuing web ad sales and
OEM installation deals as additional revenue sources. Element is based on Xubuntu, but with a heavily modified front end. From developers' comments on the support forum, the version of the Xfce desktop environment shipped is stripped down, the xfwm window manager has been replaced by Metacity, the login manager has been replaced by SLiM, and a modified version of the wbar dock/launcher is used to present a simplified interface to launch the main media applications.
Other work has gone into tweaking the settings of the desktop to achieve the "ten-foot interface" designed to make the desktop itself more usable from across the media room. The Metacity window manager uses an add-on called maximus to keep application windows maximized and remove their title bars. The GTK+ and Firefox themes are designed with high-contrast icons and colors, the application fonts are both large and readable, with adequate padding on all sides, a detail that some purely cosmetic widget themes never consider. The desktop panel incorporates easily-accessed corner buttons for volume, application menus, and returning to the desktop.
The interface is very clean, and is consistent across almost all applications. Just as importantly, it starts up quickly and consumes less RAM than a full-sized desktop distribution. The developers claim that it has a lower footprint than standard Xubuntu, and on their test machines takes around 15 seconds to boot up, and requires just 104MB of memory.
At the lower levels, Element retains Xubuntu 9.10's core components: kernel 2.6.31, GCC 4.4.1, X.org 7.4, Xfce 4.6.1, Firefox 3.5, and Python 2.6.4 (which is used for several custom configuration applications). The built-in media offerings include FFmpeg, the XBMC media center front-end, the Transmission Bittorrent client, Decibel audio player, and the VLC, Totem, and GNOME-MPlayer video players.
By default, Element does not install the binary-only NVIDIA graphics card drivers, but they are available for installation through the administration menu. This is important because of two features often discussed in the forums. First, several of the media player applications support GPU-hardware acceleration during playback on NVIDIA hardware, but only when used with the proprietary video drivers. Second, the latest NVIDIA releases finally add Linux support for overscan correction, in which the driver can compensate for edge-cropping that is automatically performed by most consumer TV hardware. Correctly installing and setting up these functions is critical to HTPC users.
Applications, add-ons and desktop usability
Considering that Element ships the same media applications as virtually all HTPC Linux distributions, there are very few surprises to be found. The emphasis is on XBMC, which focuses its feature set on web video playback and local media collections (both on-disc and shared over the local network). The XBMC version included does not have content plugins or scripts installed however; for those the user must visit the XBMC site.
Interestingly, two applications are built-in the program launcher that open proprietary streaming video sites in the browser: YouTube XL and Veoh TV. Both sites can run in full-screen mode, but do not do so by default. At the same time, the Element site offers a small selection of additional apps for manual installation, including the XBMC derivative Boxee, the Moovida media center front-end, and the Hulu Desktop player. Boxee and Moovida both include links to commercial video sources among their built-in shortcuts, and distribution deals may preclude Element from including them in the downloadable ISO image, but the Hulu Desktop player itself is nothing more than a single-site Firefox launcher. Hulu has taken an antagonistic stance towards other ways of connecting viewers to its content, including actively preventing Boxee users from viewing the Hulu site, even though Boxee renders the same content the same way as the Hulu Desktop player — through its browser.
Commercial services aside, web-based and local file-based content are the only content sources covered by Element's applications — there is no DVR functionality, and enabling DVD playback requires fetching an add-on package from the Element site. The Decibel music player supports network shares in addition to local storage, but the emphasis is clearly on providing a rich video environment, not a rich audio environment.
Element users that do enjoy XBMC will appreciate the wbar-based launcher, but others might be surprised to find that it is not user-configurable. Even after installing the Boxee or Hulu Desktop applications, they cannot be added to the launcher without consulting the user forums for tips on locating and altering hidden configuration files.
The missing pieces
All things considered, the usability factor of Element is high. However, on those specific points where it falls short, it can be maddening. For example, in my tests I could not configure Element to use the optical out on my M-Audio audio card, which is connected to the stereo receiver. The card itself was correctly detected, but I could neither enable the correct output, nor even find the appropriate setting to enable it manually. Similarly, I could not get LIRC to recognize my remote control (nor the ancillary front-panel buttons, nor LCD panel output itself). Other users seem to have had success with both tasks, which makes it more frustrating.
Admittedly, LIRC is a pain to configure for everyone, and is probably long overdue for an overhaul. Element is right to discourage the casual user from having high expectations — those interested much fetch the LIRC setup package from the Element web site, then track down missing package dependencies. Likewise, as a MythTV user, I do not expect a new HTPC distro to install and correctly configure a MythTV Backend; it is an arduous and confusing process that continues to throw curve balls even at veterans by changing its configuration in arbitrary ways with each release. MythTV Frontend setup is slightly better, but still should not be done without a browser open for hunting down questions and explanations.
However, the sad truth is that in the present, broadcast TV, cable, and satellite are still where the majority of the video programming in the world comes from. The Boxee team is adamant that Internet video delivery is the wave of the future, and that may be correct, but for the majority of users, a DVR is the critical HTPC component. Omitting one is even ironic in a free software system that supplies numerous avenues for viewing commercial web video, because a DVR's primary purpose is to put the user back in control of when content is viewable.
A few other disappointments popped up during testing — no
automatic login, incorrect keyboard detection, etc. — but none so
serious that someone who was familiar with the idea of a basic Linux
installation could not easily overcome them. Perhaps a bigger issue is
that Element's discussion forums are hosted at GetSatisfaction, which
does not support full-text searching nor, evidently, allow Google indexing. That borders on unbelievable in 2010.
The future
The Element team is active on the forums, and from their comments a few
things are clear about where Element is heading. First, they are aware
that the traditional six-month Ubuntu update cycle may not appeal to all
HTPC users, and are preparing
to base Element 2.0 on the next Long Term Support release of Xubuntu (10.04). Next, they are responsive to users' calls for additional applications. Apparently the approval process for adding additional applications involves Element-specific modifications to the interface to comply with the "ten foot interface" UI guidelines. MythTV may be a possibility, but would require Element collaborating with a MythTV developer for testing.
DVR support is a major undertaking, not just because of MythTV's own peculiarities, but because it means supporting a vast assortment of special-purpose hardware. In contrast, video playback is a software-only problem much smaller in scope. The same can be said of the other major sticking points in Linux HTPC Land: where hardware is concerned, the problem is difficult, whether it is audio configuration, hardware-accelerated video drivers, DVD codecs, or infrared remote control detection and setup. In an ideal world, a distribution would correctly detect all of this hardware and either auto-configure it or step the user through the process. That is still a long way away, but hopefully the community doesn't use that as an excuse for not trying — writing a kernel from scratch isn't simple either, and distributions have made big strides in wireless networking and X configuration recently.
Compared to those tasks, the work involved in building a consistent, easy-to-use HTPC desktop environment may seem like low-hanging fruit. But Element 1.1 is surprisingly good in this regard; a noticeable improvement over the MythTV-centric media distributions. Many choose cosmetically "HTPC like" interfaces, but do not put the same amount of work into window behavior, task switching, application access, and other usability points. It is good to see someone tackling them. Element's low-resource-usage model is also a welcome feature; MeeGo purports to have set-top boxes on its roadmap, but Element is a reminder that a lot of the optimization can be accomplished today. The final word on Element is the same as on other HTPC distributions — your choice must be driven by application support. If you need MythTV, you should look elsewhere. XBMC and Boxee are excellent options for those interested in Internet-accessible video, however, and if you are building a set-top box to run either of those front ends, Element looks like an excellent choice.
(
Log in to post comments)