A certain level of processing power is necessary for smooth DVD playback. The system requirements in Linux are somewhat higher than in Windows, because many of the techniques used for hardware acceleration of video playback work only in Windows.
At a minimum, I recommend the following:
If you don't already have a
link, then run (as root) the
ln -s /dev/hdc /dev/dvd
to create a symbolic link from
/dev/dvd to the
actual hardware device representing your DVD-ROM drive
(which in this example is
/dev/hdc, but you should
replace it with the actual device file used by your drive). The
/dev/dvd link is not merely a matter of
convenience; almost all of the player software mentioned in this HOWTO
assumes that the link is there.
If you don't know which device name your DVD-ROM drive uses, you can usually find it with the command dmesg | grep DVD in the console or a shell right after booting up the system.
All DVD drives (except for RPC Phase I drives made in 1999 or before) enforce region playback restrictions in the drive firmware and consequently are supposed to be set to a specific region before they can play back discs from that region (and only that region). In reality, most Linux DVD playback software can bypass the DVD drive's built-in region locks, but it takes extra time for the software to break the region lock, and it is better to avoid the complications of region locks if you can.
For the small minority of readers who own RPC-I drives, you do not need to do anything: your drive is already capable of handling DVDs from all geographical regions. These drives are old enough by now that everybody who has one of them probably knows already that they have one.
For the majority of readers who have RPC-II drives, there are several options available:
If you only watch discs from one region, the easiest option is to use the regionset program to set your DVD drive to the correct region.
If you want to watch discs from multiple regions, you can try to find a firmware upgrade for your DVD drive in the firmware-flash.com collection of unofficial firmware files. Note that most of these files require you to boot to DOS or Windows to install.
You can buy a separate DVD drive for each DVD region that you wish to use. The prices for DVD-ROM drives have dropped low enough to make this strategy feasible.
Of course, you can simply do nothing, and rely on the built-in ability of Linux software to bypass the region restrictions. Note that even in this case you should use the regionset program to set the drive to the region that you will be using the most, because an RPC-II drive without a region setting behaves as if all the regions are locked out.
The XFree86 video overlay extension is a very poorly documented standard feature of XFree86 4.x and is absolutely essential for high quality video playback under Linux. It is the only type of hardware playback acceleration that is widely supported in Linux, and it is by far the single most important configuration element for DVD playback on a Linux system.
To check if you have this extension, type xvinfo in an X terminal. If the command returns several screens full of important-looking output, then congratulations, you have hardware video overlay and you need not worry about it anymore.
If, on the other hand, xvinfo returns with a negative answer like:
X-Video Extension version 2.2 screen #0 no adaptors present
then that means you don't have hardware overlay support. See Troubleshooting for tips on how to get overlay support working.
DMA drive access is critical for DVD playback because it lowers the CPU overhead of disc reading and leaves more of the CPU free for video playback. On most systems, enabling DMA support for the DVD drive means the difference between choppy playback and smooth playback.
To see if you have DMA enabled, type (as root) the command
hdparm -d /dev/hdc
your DVD drive's actual device name). If DMA is already on, then you're
done. Otherwise, you should turn it on by typing hdparm -d 1
/dev/hdc. You may want to add this command to a startup
script such as
/etc/rc.d/rc.local to ensure that
the DMA support is active every time your computer boots.
See the Troubleshooting section if DMA won't turn on even after you've typed the command to turn it on.