Element 1.1 for home theater PCs
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.
Index entries for this article | |
---|---|
GuestArticles | Willis, Nathan |
Posted Apr 1, 2010 21:15 UTC (Thu)
by thoffman (guest, #3063)
[Link] (3 responses)
Is there any alternative program, or pair of programs that can do:
1. "TV" - View live HDTV by controlling "Video For Linux 2" tuner hardware from a defined channel listing, with basic channel changing & volume control, and windowed / full-screen support.
2. "VCR" - Schedule automatic recordings by channel and time, (same hardware as above) and save the recording with a reasonable name and file format to be played back later. A background recording daemon and separate front end UI might be nice but I'm equally happy to just leave the recorder running.
Ideally, these would be standard GTK2 programs that integrate nicely into a Gnome desktop. But KDE or whatever would be fine too. Just something that works and isn't hideously ugly.
That's it. That's all I want.
MythTV is unsuitable for me, due to a long list of usability problems starting with setup but sadly, not ending there.
Posted Apr 2, 2010 18:04 UTC (Fri)
by waucka (guest, #63097)
[Link]
Posted Apr 2, 2010 18:10 UTC (Fri)
by giraffedata (guest, #1954)
[Link]
I built something like that a few years ago, at the cost of about 200 hours of labor (coding, building other people's code, shopping for suitable hardware, etc). I knew something designed for somebody else, like Mythtv, would not satisfy me and some code I could get already written would take me longer to learn and get working that it took me to code it myself.
What I never did get working, and would dearly love, is a wish even simpler than yours: I want a DVD player that plays the movie when I press a button. No menu, fancy wipes, disclaimers, FBI warnings, previews, ads, or logos. Just play. And a related feature: never disable user controls.
It is presumably easy to build such a thing, and I believe lots of people have done it, but I myself have never witnessed a Linux machine playing a DVD. I tried half a dozen DVD players and rippers on Debian Lenny and not one could read my regular Hollywood movie DVD (error messages were unhelpful, but seemed consistent with the proposition that these programs were not designed for anti-ripping features). I was almost successful with the old Mplayer I use on the above mentioned TV recorder. I fixed a few bugs in the DVD code, and then the DVD menus operated and the movie played, but it was too jerky to watch. I know I don't have time to debug and fix that.
Based on my experience and what I've heard from others, I think expecting a software package to meet our needs is a pipe dream. There's too much integration. (My jerky playback might well be unique to my video and/or sound controller). So I'm keeping my eyes peeled for a hardware package I can buy that contains a wide open (i.e. not helpfully concealed from me) Linux OS so I can start from there to customize it to my whims.
Posted Apr 5, 2010 19:46 UTC (Mon)
by a9db0 (subscriber, #2181)
[Link]
If you just want to see it in action, or find out if your hardware will work with Myth, try one of the many prebuilt myth systems - KnoppMyth, Mythbuntu, or MythDora.
Also, the .23 release is about ready (RC2 was out last week) which may improve things further.
Element 1.1 for home theater PCs
Element 1.1 for home theater PCs
is a massive pain.
Element 1.1 for home theater PCs
Element 1.1 for home theater PCs