I recently built a PC-based DVR running Linux and MythTV:

Linux-based PVR

I’ve never actually used a TiVo, so I can’t compare directly. Here are some selling points:

  • It has a good system for specifying what to record and the relative priorities of different programs. The scheduler is intelligent; if an episode airs multiple times it will record either showing, and it remembers what episodes have already been recorded.
  • It can automatically scan a recording for commercials. It takes some time to run the commercial scan job, but once the job has finished, you can watch the recording and it will skip the commercials automatically.
  • With the MythWeb plugin, you can view the TV listings and select what to record from anywhere.
  • No subscription. The TV listings are from a free service called DataDirect.

Hardware:

  • Hauppauge PVR-350 (hardware MPEG-2 encode and decode)
  • P3 650 MHz
  • 384 MB RAM
  • Antec “Solo” Case
  • Seasonic S12 330W power supply
  • 80 GB + 120 GB IDE hard drives
  • Windows MCE remote

Software:

  • Debian unstable
  • Linux 2.6.18
  • ivtv 0.8 from http://www.hellion.org.uk/
  • lirc 0.8.0
  • mythtv 0.20 packages from http://www.debian-multimedia.org/

A note about the CPU: for those who know, it is the computer formerly known as dildolicious. A long time ago I noticed the CPU fan wasn’t working, so I bought another, and when it still didn’t work I used some hookup wire to power it from the floppy connector. It probably ran with no fan for at least a year before I noticed. Since it worked fine, I’m running it fanless again to reduce noise. To ease my conscience about running fanless, I plugged it into the dead fan connector on the motherboard and I tell myself that if it gets really hot the fan will start, but I’m not holding my breath.

The noise sources are the power supply (12 cm fan), case fan (12 cm Antec Tri-Cool), and hard drives. It’s barely audible. Overall, however, I’m not very impressed with the Tri-Cool fans. I have one in my desktop as well. On the lowest setting, they are pretty quiet but don’t move much air. On medium or high they make a significant amount of noise.

I bought the MCE remote at Central Computers because it was the only cheap remote they had; it’s also available at Newegg. Despite the warning to the contrary in the newegg description, it works fine in linux. I copied several lirc configuration files from the interweb. The only problem is that sometimes the buttons seem to double-trigger.

Here’s an incomplete list of configuration changes and gotchas:

  • I’m using the ivtv-fb driver for X11. The driver didn’t play nice with the default VGA console driver; I had to add “vga=768″ to the kernel command line to use the vesa framebuffer driver for the system console.
  • I created a file in /etc/modprobe.d containing the following line to autoload the ivtv-fb module when the ivtv module is loaded: “install ivtv /sbin/modprobe –ignore-install ivtv && { /sbin/modprobe –quiet ivtv-fb ; : ; }”
  • I set up gdm to automatically log in the mythtv user, and the xsession file runs mythfrontend.
  • I’m sure I did much more than this, but I didn’t take notes.

There are more photos here.