Make sure you are running XFree86 4.1 or above. You can find out your version of XFree86 by typing X -version at the command prompt.
Use an appropriate driver for your video card. Some Linux distributions default to using the generic XFree86 VESA driver instead of the specific driver for your video card. You need to use the hardware-specific driver for your card in order to get hardware overlay support.
NVidia users should try downloading the official NVidia Linux drivers for their video card.
Sometimes upgrading XFree86 can provide you with an improved driver that has hardware overlay support, but such an upgrade is beyond the scope of this HOWTO.
Problems with garbled or missing overlay output usually mean that you don't have enough video RAM to hold both the regular desktop display and the video overlay display at once. Typically you need twice as much video RAM as normal at a given video resolution in order to use hardware video overlay. In some cases you may even need 3 to 5 times more RAM because of internal buffering in the video card.
The only easy way to lower your video RAM requirements is to switch to a lower video resolution while playing videos.
You can tell that DMA is broken if using the command hdparm -d1 on your DVD drive returns a message like the following:
# hdparm -d1 /dev/hda /dev/hda: setting using_dma to 1 (on) HDIO_SET_DMA failed: Operation not permitted using_dma = 0 (off)
The only way to fix this problem is to compile a kernel with DMA support for your particular chipset. It is beyond the scope of this HOWTO to explain how to compile a kernel, but the steps which are particularly relevant to DMA support are as follows:
Download a recent kernel so that you have the greatest possible chance of DMA being supported on your chipset.
Unpack your kernel and type make xconfig in the kernel build directory. Under "ATA/IDE/MFM/RLL support", select "IDE, ATA, and ATAPI Block devices" and enable "Generic PCI bus-master DMA support" and "Use DMA by default when available".
On the same page there are several dozen chipset-specific DMA drivers that continue downward for several screens. Find and select one relevant to your chipset, if there are any. For example if you have an AMD Athlon based VIA chipset, enable the "VIA82CXXX chipset support" item.
On a fast enough computer (say, over 1 GHz), choppy video playback usually means that your overlay support or DMA support is misconfigured. See the previous troubleshooting items.
On a very slow computer (say, 0-500 MHz), there is nothing you can do short of hardware upgrades to make DVD playback run well.
For borderline computers (anything in between), you can gain a modest (~10%) performance boost by upgrading from kernel 2.2 to kernel 2.4 and using an SSE-optimized player program like MPlayer.
Finally, if all else fails, run MPlayer with the option mplayer -framedrop to patch over occasional glitches in video playback.
The most common cause of sound playback problems is from sound cards that do not support 48 kHz audio playback. For people in this category, I strongly suggest that you purchase a new sound card. Even a cheap PCI sound card can give you a substantial upgrade in sound quality for less than the cost of two DVDs.
Failing that, you can lighten the load on your sound playback system by not using a sound daemon such as ESounD or aRts and playing the DVD audio directly to the OSS driver. To do this with MPlayer, run mplayer -ao=oss along with whatever other options you normally use.
In the past, older versions of most of the programs discussed here have had trouble decrypting out-of-region discs. The result of a failed decryption looks like the colored video noise that you see.
Upgrading to the newest available version of any of the programs should solve this problem.
Watch the DVD drive's access light while the program is hanging. Is the light still blinking in an access pattern? If it is (and usually it will be), that means the program is still in the middle of decrypting the disc.
Decrypting the DVD involves mounting a fairly large-scale computational effort to recover the key. It is not at all unusual for a computer to take five or even ten minutes to decrypt a single DVD key.
In-region discs never have this problem because the DVD drive firmware automatically decrypts discs that match with the drive's own region.