Playing DVD movies on SUSE Linux. How to install codecs and play your movies.

Playing DVD movies on SUSE Linux.

Linux DVD Playback on SUSE Linux 10.0.

Do you want to get DVD discs to playback on Suse Linux! Then read on. First, you should install the required libraries to compile a copy of Xine, which is the preferred application for playing DVD discs on Linux. If you install Xine from your distro DVD then you will be set. Then you need to download a copy of the latest xine-lib source from http://xine.sourceforge.net/. Then unpack the source tarball and cd to the newly created directory. Then build it with:

./configure --with-w32-path=/usr/lib/win32 --prefix=/usr
make
make install

This will install the files over the existing files in /usr. Then you may install a new copy of xine from source as well if you wish, which will be the best way to get the newest and best DVD playback experience, but this should fix the problem. Then you need to install the libdvdcss library into /usr/local/lib. You can get it from: http://www.videolan.org/libdvdcss/. As root, just tap ENTER on the rpm file and navigate to the section of the rpm containing the files you need, and use <F5> to copy the files across to the directory and run then ldconfig to update the system. Or switch to the root user and install the file with the rpm command. Then load up xine and insert a DVD disc. Then click the DVD button and your movie should start playing. There are some other media player programs you can use such as Kaffeine or Totem. But Xine is the best program of the lot and well worth installing. And there are issues with the other programs e.g, Totem where you cannot use the DVD menu on some discs with the mouse or keyboard and it does not have the Alt – e pop out menu like Xine does where you use that key shortcut and a little DVD navigator pops out and you can control the disc’s menu with it. For the configure example above I have copied the win32 dlls into /usr/lib/win32 and so I am building it with support for that. I have just built xine-lib and the configure script using the –with-w32-path=/usr/lib/win32 command line and it has successfully added the support. I just tested this with playing a DivX movie and it worked! Le3t++;

And when you have just started the DVD playing, if you click the title button, it will jump you straight to the menu, skipping the long introduction. If you are using selinux like I am, you may need to edit the /etc/group file and add yourself to the audio and disk groups to allow the DVD to be read and audio to work. If you already have the xine program installed, you can run rpm -e xine-ui and rpm -e xine-lib and then you can install the vanilla sources from the tarballs. But you could always do it the way outlined above and build and install xine sources over the top of the existing files in /usr. That will replace the files and get it working anyway.

bejiitaswrath:/home/saruman # hdparm -d 1 /dev/hdc
/dev/hdc:
 setting using_dma to 1 (on)
 using_dma    =  1 (on)
bejiitaswrath:/home/saruman #

The above command will switch on DMA for the drive that you are using for DVD playback. Your device may vary, just adjust the command to suit. This command will make your DVD playback much smoother. Type man hdparm for help. If you are building a new kernel for your system make sure you build support for DMA. Although this is easy with a modern Kernel. I am using 2.6.15 and DMA works perfectly with that kernel. The command below will enable you to change the speed of your drive. This can also help to get the most speed out of your drive and get smooth DVD playback. This command must be run as root.

WitchKing:/home/saruman # hdparm -E 32 /dev/hdc
/dev/hdc:
setting cdrom speed to 32

Once you have it all set up you can enjoy faster DVD playback. the command below will startup xine playing your DVD and start playing the movie from the start, skipping the menus and other crap. And that is what we want is it not?

WitchKing:/home/saruman:~$ xine dvd://1

Or… using x11 is not the fastest, but even a Pentium II can handle playback when I try it. That is using hdparm -d 1 /dev/hdc. Note: if your machine lacks a symlink to /dev/dvd and /dev/cdrom like mine did, just cd to the /dev directory and type ln -s /dev/hdc dvd and ln -s /dev/dvd cdrom. These symlinks are gone after rebooting though. Makes using mplayer and xine much easier. As the mplayer dvd://1 command looks for /dev/dvd by default. This is the situation with my SUSE Enterprise Desktop 10 system with a vanilla kernel 2.6.18.2. I have built all the proper modules, but I only get /dev/hdc which is the cdrom/DVD device.

mplayer -ao alsa -vo x11 dvd://1