About 2 years ago I got this hairbrained idea to use mythtv to create a computer-based full-media center for my basement home theater. At the time, I had a sweet side-job which was paying me nicely, so I had the means to do pretty much exactly what I wanted.
I had a couple of things for which I wanted to use the basement, namely 1. My Home Theater, and 2. The kids play-area.
You wouldn't usually put the two together in the same room, but I had some ideas on how to make it work.
At the time, my basement was completely unfinished, except for a few supporting walls, so I had a clean slate from which to start my project.
The very first thing on my plate was to make sure this could actually be done. I wanted to use nothing but a computer to drive the entire media-center, and I wanted it projected on a wall, and ported through a receiver, able to handle AC3 (Dolby Digital) and DTS for movies. So, I went to town.
I got myself a pretty mediocre computer (AMD-64 3000+ with a Gig-O-RAM) and fired up my Linux distro of choice. After following this tutorial
to get mythTV installed and working, I had to figure out how to port the video and audio to the right places.
Video was easy. I simply bought a video card which had a DVI-OUT and plugged the DVI-OUT into the projector's DVI-IN. Easy. I had to set up my xorg.conf file to output video at exactly 1024x768 @ 60Hz, due to the limitations of my projector. No problem. Using the following Modeline and refresh rates under the "Monitor" section did the trick nicely:
- Modeline "1024x768@60" 64.56 1024 1056 1296 1328 768 783 791 807
- VertRefresh 20-100
- HorizSync 20-88
By the way, the projector I chose was the BenQ PE 8700. It was a relatively cheap top-end multimedia projector. It's still runnin' like a charm. Anyway...
With video solved, the audio problem was a bit trickier.
Linux, at the time, had two basic ways of handling audio.
- The OSS driver
- The ALSA driver
And the default method of routing audio is, of course, to send it to the 1/8" audio-out jacks. Not good. I needed a way of routing the audio through my SPDIF optical-out port, so I could maintain the original audio signals without any processing whatsoever
. I wanted it to passed through directly to the optical port.
Luckly, due to the fantastic documentation which gentoo generally has, and with the help of my good friend Steve, we found ways to route both the OSS driver and the ALSA driver to the SPDIF optical port.
In order to get the OSS passed through the opitical port (because some games still use the OSS port) I found a nice one-line script which is to be put in the /etc/modules.d/alsa file.
options snd-pcm-oss dsp_map=2
and that's it! You've got to make sure you emerge alsa-driver, and don't use the alsa kernel driver, or it won't work.
With OSS down, we were on to ALSA. This one was actually quite a bit easier. Simply put this script in your home directory, and all is well. The file is called .asoundrc
(remember the . in the front)
Those two little scripts worked perfectly. All sound is now being ported through my optical port on my motherboard.
Now, another problem I foresaw was an ever-increasing collection of ripped DVDs from my ever increasing collection of DVDs. This was a problem because ya can't just pop a new hard drive in and tell it "go". I needed a way to make it easy to automatically expand a directory within my filesystem when a new hard drive is added.
LVM2 came to my rescue!
Following this tutorial
helped me immensely. At first glance, it doesn't seem too easy, but if you follow it to the tee, it will work.
So now, if I run out of space (which I already have, twice), I can just pop in another hard drive, run a few commands, and the directory holding all my DVDs magically increases to hold more. Good times...
All was working as I had envisioned....
So..... With the proof of concept done, there was only one thing left to do: Build my basement!
First, I had to get some wood and stuff to start.
Then, 3 months later, with a lot of help from family and friends, I had built my basement custom for my mythtv setup.
The hardware I'm using is the following:
- ASUS A7N motherboard
- Klipsch speakers (including subwoofer)
- Yamaha receiver
- BenQ PE 8700 projector
- Da-Lite 106" fixed-frame screen
- Lots and lots of hard drives.
And that's about it!
Here are some pics.