Building a Linux Media PC
Pages: 1, 2
A 64-bit Aside
Before the Hoojum machine arrived I thought I'd receive an AMD Opteron, so I went off to look at what that would mean. I ended up with a Pentium 4 but this information might be useful anyway, so here goes ...
Most people have a hazy idea that bigger is better in this line, and it is sort of true but there are a few gotchas. For example, the AMD Opteron CPU runs 32-bit applications in a "native mode". This is not true of Intel's Itanium, which runs those apps in an allegedly slower emulation mode. If you have a collection of 32-bit apps that aren't going to take advantage of the increased address space with a recompile, then there's no point to the extra juice.
If we were going to run studio apps on our media PC, we'd likely benefit from the extra 32 bits but it's not quite so clear when our aim is mostly to play things with existing applications. If we were to look at what we could do then things are different — any kind of post-processing, for example, would be easier to handle in real-time with 64 bits.
The first thing you need to take any advantage of the 64 bits is a 64-bit OS. There are 64-bit Linux flavors available including ones from Red Hat and SuSE.
You'll also need applications written and compiled especially for the 64 bit environment. This assumes that the app can usefully use the increased address space available. You can just recompile an app for 64 bit without changing the code and if it can use the increased address space, it will.
The last option is to run a 32-bit app as is. This is quite OK on an Opteron, but it seems a bit of a waste of the resources available.
The Media Apps
With the hardware options out of the way, it's time to consider the necessary software. There are several categories to consider.
In the olden days (not that long ago), in order to play a music CD, you
needed to read a few docs and learn things —
man mount and
all that. These days, you can stick the CD in the slot and click the app that
came with the distribution without even downloading anything! That's certainly
true of Mandrake and the KDE desktop and most others.
There is quite a range of apps available to do this job and I suspect that most people will use the one with the greatest visual appeal.
Files and Ph1l3z
There is quite a range of players for mp3, Ogg, and other file formats. XMMS has been very popular for a while and will also play your CD's. Should I give a lecture here about lossy CODECs being for the cloth-eared? No, no, I won't. And yes, I do understand that there are circumstances where lossy CODECs aren't vitally important.
The next step is to play DVDs. The problem here is well known: encryption.
Most DVD player apps come packaged without the necessary library for decryption
to avoid the unwelcome attention of lawyers. It's a trivial problem to add that
support again; all we have to do is find a compatible version of
libdvdcss. Once that's done, programs such as
ogle will play your
While CDs don't require any CPU grunt at all, DVDs must be decrypted on the fly so they require a little. Ogle, for example, mentions a PII 400 as a useful minimum CPU.
Some people won't even bother with playing TV on the media PC. One reason for non-TV watchers to consider buying a TV card is to play console games — you can plug the console into the TV card and away you go.
Unfortunately, TV cards don't have anything like the ALSA sound card matrix
where you can see what the driver status is for different cards. As an
illustration, my test PC had a Hauppauge WinTV PVR 250/350 card. I don't know
much about these cards, so I assumed it was the same WinTV card that everyone
else could run successfully. I only found out it wasn't supported (but support
is coming: see
ittv) in a conversation with Billy Biggs,
Before you buy the card, make sure to find firm (if anecdotal) evidence that it has support and actually works. You could always ask the mailing list of the app you plan to use.
There aren't that many TV-playing apps to choose from.
xawtv comes with a few distributions but with Mandrake 9.2 at least, it can lock the system up if it zeroes in on the wrong input by mistake.
tvtime is more friendly and is easier to adjust.
For those that are really serious about their TV, the TIVO-like
MythTV allows you to download
program listings, watch TV, skip ads, play DVDs ... and lots more. The web site
has a full feature list. It's meant to be an all-in-one app and it pretty much
is. The downside is that it has a huge list of dependencies that are not all
that clearly indicated, and I couldn't find an Emacs-like sumo pack to
If you haven't checked out Linux games, you might be surprised at just how many there are. There aren't any ports of PS2 and Xbox blockbusters but there are plenty of fun time-wasters there, including Tux Racer, which has you speeding down a snowy mountain collecting a somewhat miraculous string of herrings.
There are some interesting things in the land of emulators as well, but I haven't explored this.
With the PC setup described above, we could easily dual boot to play PC games. With the correct TV card, we can plug in consoles too.
Convergence and Greenness!
It must help the environment and your power bill to run fewer components but unless you're accustomed to running everything at once — and a one box solution stops you from doing that — you likely won't see huge savings in power costs or power needs. Likewise your non-investment in various other components won't make much of a difference to the environment either, but if lots of people make do with fewer devices, it may have a cumulative effect.
Besides the ecological manufacturing costs and externalities of power generation and supply, there's also the trash disposal question. That's a win too. PCs and electronics equipment are notoriously difficult to dispose of safely.
Is a Linux media PC a good idea? Sure it is! There are plenty of apps available and the project includes just enough tinkering to give you a sense of accomplishment. If you're starting from scratch, then the main caveat is to make sure your sound and TV cards have support for the features you want to use.
Return to LinuxDevCenter.com.