Coffee on the desk and a few terminal windows in front -- this is how we relate to Linux most of the time. But when the office lights switch off and the hum of the server room dies down, Linux goes out to party. The four-CD server installs slim down to single-CD-install bootable entertainment systems.
The thought of using Linux as a home entertainment system -- especially one that comes complete on single CDs -- is so intriguing that I had to find some examples to prove it. My search turned up four home entertainment LiveCDs that I never imagined existed: for watching DVDs and TV, listening to music, and playing games.
The list of entertainment tools for the Linux operating system is extensive. It includes music players like xmms, video players like mplayer and xine, and games like Mahjongg and Sokoban, which have been around forever.
With Knoppix came the whole "make-your-own" Linux distribution movement. A few crusaders with a copy of the three-CD Linux distribution that included their favorite entertainment tools in one hand, the LiveCD in another (and their collection of videos, MP3s, audio CDs in the backpack), wondered "hmm ... let's try and combine all these."
And combine them they did. So wherever they went, along went their favorite tools and their favorite form of entertainment. Most importantly, though -- irrespective of the operating system on the available computer -- everything played like they wanted.
The MoviX project started the whole "Entertainment LiveCD" campaign with its mini-distro eMoviX:
"The prime reason for eMoviX came from the frustration of not being able often to play my own dvd/divx videos I'd bring to friend's house because their player missed the right plug-in or just because their operating system would have some kind of problem and so on. It was almost three years ago, and the still recent appearance of the "liveCD" distros DemoLinux and Knoppix and the many minidistros that also existed at that time, made me think that probably building a distro able to boot and play its audio/video content automagically was not a hard task, and so I started collecting info on minidistros and started working."
-- Roberto De Leo, lead-developer of MoviX
A few weeks after the initial release, Roberto received a request for a user interface that allows users to play videos they hadn't included with eMoviX. That's when he started working on MoviX and MoviX2 (which supports X).
Keeping the size of the distro small was paramount to Roberto's concept. The smaller the size of the distro, the bigger the files you can stuff in your auto-playable CD/DVD. For MoviX/MoviX2, it is matter of RAM consumption -- to date, you can have MoviX running on a PC with just 64MB of RAM (while MoviX2 needs at least 128MB). The distro boots from every boot media you can think of: CD/DVD, HD partitions (both Windows and Linux paritions are OK), net, USB, pens, flashcards.
The last year has been very tough for Roberto; the project's development has slowed. But he insists that things have picked up steam again and he hopes to get back the 10 developers he had been working with. For MoviX2, he would like to have an interface similar to MythTV's and also add recording capabilities.
Roberto informs me that apart from carrying updated versions of MPlayer and the various drivers, the next version of MoviX2 will be based on a "great" set of scripts written by Rémi Turboult. This will allow "everybody" to easily rebuild the whole distro from scratch. Since this also makes adding drivers to MoviX easier, Roberto feels it will make MoviX a starting point to produce new dedicated mini-distros.
Roberto is always on the lookout for developers and translators.
Figure 1. MoviX's MPlayer handles DVDs, CDs, MP3s -- all sorts of media
GeeXBoX was started by two French students, Aurelien Jacobs and Benjamin Zores, in December 2002. The first public version (0.90-1) was released in May 2003. Amir Shalem joined the team in 2004 to provide support for Hebrew subtitles and has now become a valuable member of the team.
According to Benjamin, they were looking for an easy way to get the best out of old computer, to easily transform it into a Media Centers fully controllable by a remote controller and able to play any kind of multimedia files directly on the TV screen (a thing which many commercial players still aren't able to do today):
The goal was then to build the ultimate out-of-the-box Linux distribution for multimedia use. The key words were: free software, efficiency, and simplicity. The aim was to provide an operating system that users can play with, almost without having ever used a computer. GeeXboX must be as easy to use a regular home DVD player.
The ISO of GeeXBox is 5MB, which leaves lots of space for the movie. If you decide to use the distro through CompactFlash cards or USB disks, you can read files from the HDD, CD/DVD, USB drives, and also network shares (Samba, NFS, HTTP).
To be compliant with any kind of video card, instead of using the X server, GeeXBoX runs MPlayer with VESA output. This way, it does not require any video drivers at all and provides a working TV-Out mode for almost all chipsets. For supported cards, there's the VIDIX drivers for hardware video acceleration.
The project's forum, available in both French and English, is jammed with active users. The developers constantly sweep the boards and keep an eye out for all the bugs being reported. The latest support feature is the development mailing list from which patches are sent and the future of GeeXboX is designed. The next release will feature something the developers are calling the MPlayer User Interface (MPUI). It is a completely new video filter for MPlayer and will be much like Freevo, MythPC, or Windows Media Center. "We hope our work on MPUI will one day be directly included in MPlayer," says Benjamin.
Also in the works is a completely new GeeXboX ISO Generator written in FLTK, which will help users compile a customized version (dynamically changing theme, editable network options, and so on) without building from the sources. The GUI will be available for Linux, Win32, and MacOS X platforms. A PowerPC-based version of GeeXboX is also in development.
The project is looking for programmers to collaborate on the next version. "Who knows, maybe one day, GeeXboX will be the industrial choice for embedded operating systems in commercial HTPC solutions", says Benjamin.
Figure 2. Dig the sassy interface for GeeXBox
William Daniau makes no secret about the origins of his project. One day he tried an ISO of Movix and wanted a complete system for movie playing that can operate on nearly all hardware by using the VESA framebuffer. He first contributed a patch to MoviX to add the choice between ALSA (Advanced Linux Sound Architecture) and OSS (Open Sound System) sound driver, because, on some notebooks, the ALSA driver that came with MoviX did not work.
But he wasn't satisfied with MoviX because of its text-mode menus. That's when he decided to make his own version of MoviX with the X server for the menus but still using framebuffer for video playing. He's the only developer, but he's had help with the translations and the logo.
William wanted WOMP! to be as small as possible with maximum functionality. The idea was to have WOMP! reside at the beginning of a CD/DVD and media files on the rest of the CD.
WOMP! has complete network support including PCMCIA network adapter, an integrated browser (Firebird/Phoenix, now known as Firefox), both ALSA and OSS sound systems; and it can play CDs, DVDs, MP3s, and various other formats (thanks to MPlayer), including Matroska.
The latest version is 0.6-beta3, and it can change language during operation and two more translations, Portuguese and Russian.
"I had planned for a moment to add emulator functionality (Atari ST and GBA), but I'm not sure about this. Maybe it's going too far from the primary purpose, as there are general-purpose live distribs like Knoppix, which are very good. The idea was to boot a CD and then you virtually have a GBA or an AtariST. For future versions, I'll completely rewrite everything, use the 2.6 kernel, and make some other major changes," says William.
Figure 3. WOMP! playing a well-known movie (with French subtitles)
What entertainment system is complete without games? Luckily for us, Fabio Fabbri, developer of the Live Linux Game Project, thinks this way too. "I think live distributions are the most powerful and easy way to attract newbies to Linux, and each customization could be useful to draw in a specific category of people. Furthermore, I saw that Knoppix could be improved in many ways, so I'm trying to add some features like a faster boot or a better hardware recognition, and I hope these features could be also used on other distributions."
Because almost all free games for Linux are available on Debian, Fabio had little trouble putting together LLGP. However, he found it a little difficult to install Nvidia drivers because they had conflicts with other drivers, so he used a little trick to add them using symbolic links and the capability to mount a directory on another read-only filesystem (
LLGP is also a single-man effort. "Many people have told me they would do something for my distribution, like graphic stuff, programs to make LLGP easier, or simply new features or games. Some of them sent good work, and I'm trying to put all together. Unfortunately, I'm not well organized for collaborations right now. I have setup a wiki to release documentation and code for LLGP so other people can improve them easily. But there are only few articles. For users, I opened a forum. It seems quite active, especially after a new release," says Fabio.
LLGP boots very quickly, in about 10 to 15 seconds, but sometimes KDE is loaded before the sound-card modules, so audio is not properly initialized. Fabio is working to fix it. LLGP has a nice KDE theme, xmms with on-screen display so you can see the song title while playing a game -- and of course, a lot of games.
"I saw some good features in the last releases of Knoppix like union-fs, and I could include them on the next versions of LLGP. However, LLGP is a fork of Knoppix 3.6, and I would not rebuild a new version of LLGP from a newer Knoppix release. LLGP takes upgrades directly from Debian, and eventually I could use or upgrade some packages from the Knoppix repository," explains Fabio.
LLGP cannot be installed on to the hard disk. The original program to install Knoppix doesn't work because LLGP contains many changes. Fabio promises the next version will be easily installable. He thinks installing LLGP will be a good idea. Since it's a Debian variant, users will be able to add and upgrade packages directly from Debian mirrors.
He's also working on a "new mode" that will start LLGP without a desktop manager. In the current version, KDE takes too much time to start, uses a lot of system resources, and is not used during a game. The new mode will load only a small program to see all games available and launch one of them. Users will be able to switch between this light mode and the normal desktop mode.
One of the features Fabio proposed to the Ubuntu team for the Google "Summer of Code" challenge is to improve the boot speed by parallelizing the running of startup scripts and improving hardware recognition.
Currently, there's no DVD version, but Fabio promises one in the future. Also promised is a basic version for users who want to build their own live distribution.
Figure 4. And these are only the arcade games from LLGP!
Okay, so entertainment isn't a mission-critical function. But it's nice to know that the wonderful concept of single-CD-bootable systems extends to the fun-and-games sector, making it possible for even the oldest machines to access modern media.
"Assess system security using a Linux LiveCD" (developerWorks, July 2005) reviews four LiveCD offerings that specialize in nailing down systems vulnerabilities.
"Restore compromised systems with diagnostics LiveCDs" (developerWorks, January 2006) reviews two LiveCD offerings to detect system break-ins and recover critical data.
"Back to school with education LiveCDs" (developerWorks, January 2006) reviews three LiveCD offerings that bring the teacher into your home.
"Craft a load-balancing cluster with ClusterKnoppix" (developerWorks, December 2004) shows you how to use Knoppix-based LiveCDs to build your own supercomputing Linux cluster.
"Spin up a Linux LiveCD" (developerWorks, July 2004) is a no-install approach to running or demonstrating Linux.
For more on using Linux on embedded or older hardware, read Peter Seebach's developerWorks column "Linux on board".
Keep up with Linux distributions at DistroWatch.com (which promises to "put the fun back in computing").
See the results of Google's "Summer of Code" challenge (a 2005 contest to introduce students to the world of open source software development).
In the developerWorks Linux zone, find more resources for Linux developers.
Stay current with developerWorks technical events and Webcasts.
Get products and technologies
MoviX is a distro that lets you pack your video/audio on a single CD and play any of it off a CD.
GeeXboX is an easy way to transform old computers into Media Centers, able to play any kind of multimedia files directly on TV screen (which many commercial players still cannot do), now with support for DVB cards.
In only 13 to 30MBs, WOMP! lets you play media from a bootable CD. William Daniau provides a WOMP! Howto.
LLGP (the Linux Live Game Project), as the name implies, is about running games from a bootable CD.
Check out the forum for LLGP.
MythTV is a GPL-licensed suite of programs that allow you to build the mythical home media convergence box on your own using open source software and operating systems.
FLTK is an open source C++ GUI toolkit.
ALSA (Advanced Linux Sound Architecture) provides audio and MIDI functionality to the Linux operating system.
OSS/Linux (Open Sound System for Linux) is a commercial implementation of the Linux sound drivers that are packaged with the Linux kernel.
Firebird (previously known as Phoenix, now known as Firefox) is an open source browser.
Matroska is an extensible open standard audio/video container.
Order the SEK for Linux, a two-DVD set containing the latest IBM trial software for Linux from DB2®, Lotus®, Rational®, Tivoli®, and WebSphere®.
With IBM trial software, available for download directly from developerWorks, build your next development project on Linux.
KernelNewbies.org: If you are new to hacking the kernel, find lots of resources including an IRC channel, a mailing list, and a wiki.
Check out developerWorks
blogs and get involved in the developerWorks community.
Mayank Sharma has been writing about technology, especially free and open software, for the past five years. He helped launch South Asia's leading FLOSS monthly LINUX For You (as its Assistant Editor) and is currently busy putting together a Web-based publication devoted to localization, education, and FLOSS migration. Besides writing, Mayank loves to hack also; his most recent contribution is an installer for the Utkarsh localization project. Still struggling for a computer science degree, he loves Formula One car racing.