Picking a Video Card

Video cards also are another area where there isn't a whole lot of brand choices. Currently there is only one brand of cards, NVIDIA, that makes cards with onboard MPEG2 hardware decoding (That is supported under Linux). This support, known as XvMC, can come in helpful as it offloads the CPU from some video processing so it can do other things. ATI cards, however, are known to have truer color display output and better contrast and gamma tables. Hopefully one day ATI will provide drivers with support for the MPEG2 hardware decoding. Another option to use certain VIA boards that also have support for onboard XvMC support, such as the cle266, but this is limited to DVD and lower resolution MPEG 2 streams.

I wish I had a better solution for video hardware, but right now there isn't (A better solution would be a card with the best picture, MPEG-2, DIVX, etc hardware decoding). If you plan on having HDTV, and want to offload the CPU of some processing, you're only choice right now is using an NVIDIA Geforce 4 MX series card or better. XvMC is very helpful when you are trying to decode a 1920x1080 resolution MPEG2 stream. This decoding requires at least a 2.8Ghz CPU to do if you don't have hardware support. I have also found that the XvMC comes in very helpful when you have a single system to record, transcode, commercial detect, and display HDTV. A system can be running 5-8 times as many programs as it can handle but when using XvMC you would never notice the system is being used that hard.

How you can overcome this hardware demand

If you're willing to decrease the video stream resolutions you can easily lower the hardware demands (for both XvMC on via boards and software decoding). Let me explain an example. My projector's native resolution is 1024x768, but I will only use 1024x576 worth of it (as 1024x576 is a 16:9 aspect ratio). If I was to keep the full 1920x1080 MPEG2 video stream, I'm simply wasting disk space, memory, and CPU cycles because I'm storing more data than what I can see when I watch a show. Also, I plan on using MPEG-4/DIVX and future video codecs to also save disk space. Once you change from using MPEG-2 to any other format, you're MPEG2 hardware assistance is useless. (To note, I decided not to transcode video because it takes my system 3-4 hours to transcode every hour of HDTV and my system is recording over 20 hours of shows a day. That means I need 60 to 80 hours to transcode video every day, which is of course impossible, so I bought a lot of disk space instead.)

By going down to a 1024x576 MPEG-2 stream (from 1920x1080), the CPU demand drops down to 20% (from 80%) on my system, and if I was using a VIA system I might just be able to get away with watching shows I recorded in HDTV on current VIA boards, but I can't guarantee this since I can't test it. This is possible so if anyone plays in this area let me know.


I recommend the NVIDIA Geforce FX series for a linux HTPC, such as the 5x00, and 6x00 series. Any of these cards will work as well as the other for video playback and they have all been proven to give very good performance. The FX5200 fanless is the top choice by far, half or more Linux HTPC's use the FX5200. It is mostly the 3D performance that varies between the various cards. One other variance is that the GeForce 6xxx and 7xxx series (6200, 6600, 6800, 7800, or any chipset since the NV41) video cards do not support the first generation of video overlay. This is can be a moot point, or bad for video playback depending on what software you are using. Most video playback software will use video overlay to produce smoother video and to avoid tearing. Tearing is most noticeable when watching a video and the camera pans side to side. Tearing is when the top part of the image being displayed shows a different video frame than the bottom. NVidia uses what's called VMR9 for Windows to replace video overlay in newer Windows software, but this is new for Linux, and works decently if the program supports it. Applications such as MythTV will use OpenGL and enabled V-Sync to get most if not all smoothness back, however, if an application depends on video overlay only you may have problems. Staying with the 5xxx series of NVidia video cards for a HTPC is a good choice if you want to be ready for any video application. If you go with a newer generation card then you may not get older software to work as well, depending on the application. You also may not even notice with a newer card without overlay if the CPU and video card are fast enough to render video without overlay technology. If you just do MythTV you won't have any problems.

ATI Cards

Chances are the newest card that you can afford is your best choice. There may be support in the future for ATI's MPEG-2 hardware decoder, but this isn't known right now. Few people pick ATI cards for Linux HTPC's, but ATI is the top choice for Windows HTPCs.

Composite/S-Video/VGA/Component/DVI/HDMI outputs/inputs

Your best choice is to find out which inputs your display device (HDTV, Projector, Plasma, TV, etc) uses, and get a video card that supports that. Most of the newest ATI and NVIDIA cards (as well as newest Projectors, Plasma, and LCD monitors) support DVI or HDMI(which is DVI and Audio on the same cable), which are the best choice. DVI uses a digital signal, so there is no loss in video quality (From what is send by the video card). DVI Cable is a little more expensive though, $1 per foot. The next choice after DVI is component or VGA. Component is gives a better picture but VGA is easier to use. You're likely not to have a video card that outputs component video.

Many people have display devices (HDTV or other high-end normally) that only take component video connectors. Since you can't really get a video card that outputs component video, you have use the VGA output from a video card and use a transcoder box, like the Audio Authority 9A60, that takes a VGA (RGB) signal and changes it into a component (YPbPr) signal. Generating modelines for X becomes difficult but read this wiki for more guidance. If you have to go this route, read that wiki, if not, just move on.

Next is S-Video, which is usually 640x480 max resolution (But many video cards and motherboards have this as "TV-out". Last is composite, which is 640x480 max resolution, but it's a last resort. I use DVI as it will be the most widely used in the future, and it's the only pure digital video signal. DVI, VGA, or component are the only things you should ever use for a good HTPC. If your only choices are S-Video or composite, you should really consider getting a new display device, or, not plan on video quality being important to your HTPC.

Next Page