Introduction
Determining your needs
Basic Hardware
Audio
Video
Video Card Configuration
LIRC
Input Devices
TV/HDTV Tuner Cards
Installing Linux
HTPC Software
HTPC Tips and Tricks
Conclusion

Linux HTPC How-to

Regular TV Cards

Most HTPC's currently have one or more regular TV tuner/capture cards. These cards, however, are slowly being phased out. The reason is that HDTV and HDTV tuner cards are becoming more popular and there is now a HDTV card for Linux that is Open Source. But NTSC/regular TV cards (And for those in Europe or any other country that don't use NTSC, just switch NTSC with PAL when I say NTSC) are still useful for many things. If you have old video tapes that you need captured/digitized or if your city/town does not broadcast HDTV yet, you will want a NTSC/regular TV tuner/capture card. Another reason to have a NTSC/regular TV card is that it can be used to connect your game console to your HTPC so that you can use special video algorithms to improve the image quality of games in real-time. The Cards cost are around $20.00 for a generic NTSC card or around $100 for DVB.

DVB stands for Digital Video Broadcasting and these special cards must be used if you live in Europe. I don't know much about these since I don't live there.

If you have Digital Cable that you have to use a set top box for each TV. If you have any other type of cable or if you just use Over The Air TV channels, you can use a NTSC/regular TV tuner card. If you have Dish-TV or another satellite TV subscription, you will need to find out what video outputs are on that set top box and then get a NTSC/regular TV tuner card with the same input. You then have to use LIRC to send channel commands to that set top box in order to change channels for your HTPC. S-video is the best choice for inputing video, next is composite, and finally is the RF input. If you are not using RF, you will have to use the Line-In input on your sound card to get the sound into your HTPC.

It is possible to get TV Tuner cards that take the video and audio from TV and encode them into a MPEG2 format on the card. The benefit of this is that your CPU doesn't have to do the work. Encoding video requires between 400Mhz and 600Mhz depending on which video/audio codecs and resolution you use. Many people prefer to not use a MPEG2 encoder card and instead let their CPU do the encoding in the Divx codec to keep the amount of space needed per show smaller. There are no cards that encode in Divx.

There are four options for video capture cards.
  • Raw analog capture cards such as those which use the Bt878 or SAA7134 chip.
  • MJPEG capture cards such as those which use the zoran chips.
  • Hardware MPEG2 encoder cards such as the WinTV PVR-250 or PVR-350.
  • Use a DV camera + 1394 or a DV transcoder + 1394 card.
Each choice also has different video inputs. Most have S-Video and composite inputs but you should be aware of what you may need for your VCR, camera, came console, or other video devices.

The common popular cards are the Raw analog cards such as the Hauppauge or Pinnacle. Next are Win-TV PVR 250 (and 350) for cards that have hardware encoding, and for DVB pick any card list on www.linuxtv.org.

For a fairly complete list of NTSC, PAL, and other supported cards under Linux and more information about them than you'll need see Gunther Mayer's card listing page.

I recommend checking major computer hardware suppliers online (CompUSA, Circuit City, Walmart, etc) and find out which cards they have. Then visit the supported card pages above and see if the card is supported. You will want to be aware of which inputs the card has and if it has stereo or mono sound (Many cards just have mono sound).

Another very good database of cards and reports from the users ares at pvrhw.goldfish.org. Not only is there information about the cards, there are also reports on users complete pvr systems and some quick install guides for specific hardware. This is a very good read too.

HDTV

Why is HDTV so great?

To start, HDTV is three times better quality than DVD and eight times better quality than TV, and that is if you were watching a perfect signal which wasn't possible. HDTV uses the same type of digital format used on DVD's to guarantee a near perfect image but then keeps the signal totally digital until the last step of the process where image is displayed on a plasma screen, HDTV, or projector; unlike digital cable that is analog and looses quality at two steps after your cable box. If you ever record HDTV you are guaranteed the quality that it was originally recorded in and anytime you watch it after. In short, once you start watching HDTV you'll wonder how you ever could stand regular TV. More detail, better color, and best of all, computer friendly.

So I'm guessing this can be done in Linux?

Finally, yes. A Linux enthusiast spent a year developing the card and writing the drivers for the card. His company, pcHDTV began shipping the card on August 19th, 2003. The card, HD-2000, contains both an ATSC (HDTV) and NTSC tuners. This means it is both new and old TV compatible. There are no S-Video or composite inputs on the card so you will still need a regular TV capture card if you want to digitize old tapes or connect game consoles to your HTPC.

The reason that Linux had been behind in getting a supported HDTV card is because of annoying IP (Intellectual Property). Since HDTV is a newer technology, companies who have made HDTV cards for computers refused to share information on how the card works so that other companies couldn't copy the the card. By doing this though, it made writing a driver for HDTV cards under Linux was near impossible. Several people have spent over a year reverse engineering other HDTV cards but it still hasn't been done yet.

The pcHDTV HD-2000 card and drivers were designed and written for Linux. The drivers are also GPL Licensed and are included in newer version of Video4Linux 2. If you don't have a newer version of Video4Linux (Which is part of the Linux Kernel) then you will need to compile the bttv kernel modules on the CD that comes with the card and use that kernel module. Installing this card takes 5 minutes.

Can I get HD in my area?

Visit www.antennaweb.org and you can find out what TV signals you can get, how, and what direction to point your antenna.

I have a DirectTV HD box, or some other HD set top box to get my HD, can I use these?

No. The only way to get HD in any HTPC is by using HDTV tuner cards for OTA (Over The Air) broadcasting. Such providers as DirectTV who require you to use their specialized set top boxes do not provide cards that can be used in a computer. The only way this will work is if/when a HD capture card that supports DVI-I, DVI-D, or HD component capture is created. This card will have to support encoding HD signals which takes the equivalent of a 6Ghz processor. Cards do exist for broadcasters but are several thousand dollars.

I want HDTV, where can I get it, or find out more about it?

If you want HDTV in Linux, which I very strongly recommend, you can read more about the card and purchase it (only online) from www.pchdtv.com. If you'd like also, stop by irc.freenode.net and look for bbeattie (In #mythtv, #livid, #utah). I'll gladly answer questions about the card and than see if I can help you someway in getting the card.