MythTV - Home Theater

This has been a passion of mine for several years. I found myself staring at another seemingly endless round of commericals one evening and thinking to myself "what is it that I was watching?!". That started me into looking at a digital video recorder, something that was computer based and would allow me to skip all those commericals. Finally, I ended up with deciding to use Hauppauge TV Receiver cards and install MythTV on a computer.

That was about three years ago. Since then, the HTPC (Home Theater PC) has gone through a number of receiver cards and computers. Currently, my setup is:

  • Hauppague PVR-500 dual TV / Radio receiver with external USB IR receiver.
  • Asus M3N78-VM motherboard.
  • AMD X2 6400+ CPU with 2Gig of SDRAM.
  • Yamaha RX-V361 Amplifier / FM Receiver.
  • Samsung 244T 24" LCD monitor.
  • Radio Shack 8-in-1 IR remote control.
  • Mandriva 2009 Linux distro with a 2.6.27 kernel.

    The PVR-500 is installed in a server that has 1.2 Terrabytes of RAID-10, 8Gig of SDRAM, running an Intel Quad Q6600 CPU. This monster box is the video server for the HTPC. The HTPC can be shut off and the video server will take care of recording the selections. When I want to watch some TV / Movies, I turn on the HTPC, let it connect to the video server and select something to watch. When those endless round of commercials now appear, I simply hit SKIP on the remote control and avoid them!

    In addition to the TV shows I timeshift (record) for later viewing, I have taken many movies that I've recorded, edited out the commercials, then transcoded them into DivX format. There are over 500 movies now on the video server. All the movies have come from off-the-air and there is no content from DVDs.

    Here, I will describe how the current HTPC has been assembled.



  • TopAntec - Fusion Black Remote

    View of the Fusion Black Remote case

    Now, this is a nice case! Far better than the Antec Minuet case I purchased years ago to build my first HTPC into. This case measures 17.5 inches wide by 16.5 inches deep and sits 6 inches high on a shelf. The Yamaha amplifier sits very well on top of this case and they both almost look like they are the same equipment grade / family. The case is finished in a brushed aluminum front panel with a slightly texture black paint for the case. The result is a case that is attractive and will resist fingerprints.

    The case is built to house a standard ATX power supply with an area for two vertically mounted hard drives and a place for a horizontally mounted DVD drive. The DVD drive location features a spring-loaded panel that flips down when the drive tray is opened.

    The case comes with a 24pin power supply adapter cable that plugs in between the ATX power cable and the motherboard. This adapter has a smaller cable that is used to power the LCD front panel. No special power supply is needed with this case as it does with the Antec Fusion 430 case. The two, generous, 120mm side panel fans rotate quietly and should provide sufficent cooling for a modestly powerful motherboard / video. If you intend on using something like SLI video cards, then good luck, the case is not designed for a video gamer. This is a case for a home theater unit, it does not appear to have been designed as a do-everything case.



    TopAsus M3N78-VM motherboard

    I chose this motherboard as I had an AMD X2 6400+ CPU lying around doing nothing. The board has two PCI, one PCIX1, and one PCIEX16 slots. The onboard video output is either VGA (Analog) or DVI, I chose to use the DVI output for the crisper images. The 5.1 audio output to the Yamaha amplifier is via the SPDIF Optical output, there is no SPDIF Coaxial output. :-(

    I tried to install my, preferred, copy of Mandriva 2008.1 Powerpack Edition onto this board, but it appears that the chipset is so new that the SATA drives disappear when the installer starts. The Mandriva 2009 Powerpack Edition installed okay on this machine, although this Mandriva version is not a favorite of mine due to the KDE4 desktop.

    Other than a problem with the onboard gigabit ethernet, the board has performed satisfactorily. The Intel gigabit ethernet controller keeps dropping out with interrupt problems. This is probably due to APIC or a module code problem. Rather than trace this down, I installed an RT8169 based gigabit card I had onhand. Problem solved.



    TopMythTV Software Notes

    The MythTV software is built from rpm sources taken from the Mandriva contrib repositories. I prefer to do it this way as an RPM, in general, will do an uninstall more completely than a tarball. YMMV

    The MythTV source is from the 0.21 release with two modifications. One is a special SQL search for Movies that have not yet been placed into the Video Archives. I detest recording the same movie over and over again, then find it is already in my Video Archive. The second change (patch) is to have mythlcdserver use Ron Frazier's iMON LCD Server . Ron has done some very nice work with perl to produce a credible replacement for the mythlcdserver for the SoundGraph iMON LCD product. He also has done work with lirc to implement the IR remote included with this case (more on IR later).

    My LCD server patches have MythTV run the mythimon.pl when MythTV starts, and to shut it down when you exit MythTV. This is the SRPM for that mythtv with my patches .



    TopLIRC Software Notes

    To get the LCD working on the Fusion, I had to take the latest code from the lirc CVS (as of 2009-03-09) and use that. The current release of lirc (0.8.3-4) does not support the Fusion LCD, but only does the VFD (Vacuum Floresent Display) that is used in the earlier version of this case.

    Also, I've found the remote control that was shipped with the Fusion to be somewhat useless. I have a perfectly good Radio Shack 8-in-1 Universal Remote that is also programmed to my Yamaha Amplifier. The SoundGraph IR receiver appears to be only capable of decoding the RM200 remote shipped with the case. I decided not to use this IR receiver but to continue using the USB model that came with my Hauppauge PVR-500.

    The SRPM I put together replaces the current release (8.3.4) of imon_lcd with that from CVS. The CVS lirc_mceusb2 driver would not work with the Hauppauge receiver, but, the release version did... This source rpm will allow you to build the imon_lcd driver that does not register an lirc device. It will register the driver half that creates the /dev/lcd[0,1] devices but no /dev/lirc.



    TopRon Frazier's mythimon.pl scripts

    Just when I think that I am doing so well with my perl programming, I come across something like this code that humbles me. This is a great peice of perl code that controls the LCD of the SoundGraph iMON and does some clever things with it. I can appreciate how much time was spent getting the information puzzled out to command this display. Thanks Ron!

    The original page is here for you to look at and get Ron's original source. I have, crudely, put together a tarball containing the modified mythimon scripts that work with my modified MythTV. The tarball has an install shell script to show you where things will go and you will probably have to adust the perl directory locations to match that of your system. The mythimon.pl script is to go into /usr/bin so it can be started by MythTV.



    TopFinal Thoughts

    After going to all this trouble to customize the code and get things setup, I did not want urpmi to remove my changes. I still would like to update the computer software as the Mandriva 2009 distro evolves. So, I placed the following lines into /etc/urpmi/skip.list to protect those packages from being upgraded.

    /^kernel/
    /nvidia/
    /mythtv/
    /MythTV/
    /^lirc/
    /^dkms-lirc/
    /^lib64myth/