GeeXBoX, a small media center Linux live CD distribution, can run from any small device, such as a USB disk or a wallet CD-R, and can play both disk-based media like DVDs and online media like Icecast streams. The project has been in development for several years and has just released version 1.1. I fed it every kind of media file I could lay my hands on -- Ogg, MP3, MP4, AVI, DVDs, VCDs, and their ripped versions -- and it played them all without a hiccup. But what makes GeeXBoX a fantastic distribution is its ease of use and malleability.
GeeXBoX 1.1 is a mere 8.9MB ISO download. Its hardware requirements are minimal -- a Pentium II 400MHz processor and 64MB of RAM are enough to power GeeXBoX -- and of course you'll need a CD/DVD drive to play your media. GeeXBoX ejects its CD boot media after copying itself into memory and booting the computer. If you don't want to bother with the GeeXBoX CD every time you want to power up your media center, you can install GeeXBoX onto a hard drive as well. To install GeeXBoX you need only an 8MB partition, and it can install in a Windows FAT partition as well as Linux ext2/3 partitions. If you don't have a hard disk on the computer you want to run GeeXBoX on, you can install the distribution onto a USB disk.
GeeXBoX boots quickly into a simple graphical environment. The first screen displays controls to open and play media files, change preferences (for audio/video playback, displaying subtitles, and so on), and configure some options (such as a sleep timer and autoplay mode). The developers have done a good job of making the distribution as easy to use as a regular DVD player. Unless you're really picky about the font size of your subtitles, you'll be happy with the default settings.
Good hardware support
GeeXBoX, in essence, is wrapped around the MPlayer media player. Using MPlayer allows GeeXBoX to play files on local hard drives and USB disks or from over the network through Samba and NFS shares, and it can also stream content from over the Internet.
GeeXBoX also has excellent hardware detection capabilities. The distribution is based on Linux kernel 184.108.40.206 and claims to bundle drivers for nearly all video, sound, network, and Wi-Fi cards. GeeXBoX had no trouble detecting any of the sound, video, and network devices on any of my desktops and laptops. It worked with PC Card wireless adapters as well as older 802.11b PCI desktop cards via NDISwrapper.
GeeXBoX also supports lots of TV tuner cards. If your card is supported, you can use GeeXBoX to watch TV. Additionally, the distribution uses the LIRC (Linux Infrared Remote Control) package and supports its more than 2,000 infrared receivers and remote controls. The only drawback here is that GeeXBoX developers provide key bindings for only a handful of popular remote controls. If you don't have one of these remotes, you'll have to figure out the keybindings on your own. One thing I miss is support for Bluetooth controllers.
If you download and use the official GeeXBoX 1.1 ISO, you'll be unable to play Internet radio and video or detect a wireless adapter that has proprietary firmware. This is to keep the distribution GPL-compliant. But the project offers a simple graphical utility to generate customized GeeXBoX spins.
The GeeXBoX ISO generator is available in a 10.9MB package that has executables for Linux, Windows, and Mac OS X. Using the generator, you can make cosmetic changes to GeeXBoX's interface, select themes and menu language, and set audio and video parameters such as resolution and number of audio channels (stereo, 5.1 surround). GeeXBoX 1.1 defaults to an ATI remote, but with the generator you can choose your own remote controller and receiver devices.
One aspect of the generator I like is that it allows you to define your network settings. You can either let GeeXBoX autodetect and autoconfigure your network hardware and settings, or you can enter them through the generator. This is useful if you want to give the media center machine a fixed IP address and set its wireless SSID and encryption key beforehand to avoid entering them every time GeeXBoX boots. If your wireless card isn't supported, you can include its Windows drivers using the generator, which will make your custom GeeXBoX use them with NDISwrapper. The generator also lets you add codecs and firmware that weren't included in the official distribution due to conflicting licenses.
The generator lets you enable streaming audio and video. It supports SHOUTcast and Icecast radio and TV streams. To allow you to filter the channel list, the generator has fields where you can blacklist and whitelist certain channels. With a single click you can also make your custom GeeXBoX run services like FTP, Telnet, and a Web server. In addition to installing these services, I would love the ability to add software like Web browsers that, when activated through the generator, would let users browse the Internet using GeeXBoX.
Along with drivers and codecs, you can also add folders containing media files that will be included in your custom distribution. So irrespective of what computer you run your custom GeeXBoX distribution on, your music and video will always be there with you.
The distribution's developers are actively working on version 2.0, which will not only add more features but be a complete overhaul, but they're not announcing any projected release date yet.
GeeXBoX is a very functional media center distribution. It has a simple, newbie-friendly user interface, extensive hardware support, and flexible configurability. In fact, I like it so much that I recommend you don't download the official GeeXBoX 1.1 ISO -- rather, you should just download the generator and make your own customized GeeXBoX ISO spin.