DVD-MPEG Decoder Card under Linux
Werner Muehlnickel
My good old hardware includes a DVD-MPEG decoder card. It is a
Videologic card, which is identical with Hollywood Plus by Sigma
Designs. The main component is an EM8300 processor. The following
indicates how this processor can be utilized with Linux and how Linux
users can enjoy DVD movies:
Following the installation of SUSE LINUX 7.2 with Kernel 2.4.4 the
kernel needs to be recompiled. At this stage the i2c module should
also be compiled.
Those who are not keen on compiling kernels can also take an easier
route: p>
Install the package containing the kernel sources.
Configure the kernel. The configuration of the kernel installed
by SUSE is contained in the file /boot/vmlinuz.config. The
file is simply copied to
/usr/src/linux-<version>.SuSE/.config. Then go to the
directory /usr/src/linux-<version>.SuSE and enter the
command make oldconfig - that's it.
- Alternatively, you can use the following option with SUSE
systems:
With the SUSE kernel, the configuration is located in
/proc/config.gz. Simply switch to the directory
/usr/src/linux-<version>.SuSE/ and enter make
cloneconfig in order to copy the current kernel into the local
configuration file.
Once this initial step is completed, you can download the kernel
module em8300 Version 0.7 from [1]. Use the
included scripts for compiling and installation. You can also load (as
root) the kernel modules with one of the packet's scripts. In
addition, you must create the following devices
mknod /dev/em8300 c 121 0
mknod /dev/em8300_mv c 121 1
mknod /dev/em8300_ma c 121 2
mknod /dev/em8300_sp c 121 3
to decompress the MPEG card's microcode. A script is included for
this purpose as well. The original file to decompress is located in
C:\Windows\system. The file itself is named either
enc2dev.vxd or rmquasar.vxd. After decompressing,
you will see three files: microcode0.bin,
microcode1.bin and microcode2.bin. You must copy one
of the files (in my case microde2.bin) to
/etc/dxr3.ux. The kernel modules will load this file as
firmware.
The hardware is now operational. The only thing still missing is
the DVD player itself.
You can choose from two models:
[2] xine, Version 0.4.01
and [3] oms, located under
"user download" on the oms page. Both packages
compile smoothly under SUSE 7.2. It is important, however, to
integrate the drx3 function in the player. The kernel modules listed
above include plug-ins that you must copy into the appropriate plug-in
directories under xine or oms. You are now ready to
begin the compilation and installation process. For xine, we
recommend: ./configure --with-imlib-prefix=/user
--enable-dxr3. You can compile oms without any additional
parameters.
That's all! Use xine_dxr3 -t PAL to start xine and
omi_gtk to start oms. You should now be able to use the DVD
card's TV output to operate the TV.
A final note:
I used the following settings to compile the kernel module
em8300:
in adv717x.c:
int pixelport_16bit = 0;
int pixelport_other_pal = 1;
int swap_redblue_pal = 1;
in em8300_main.c:
int dicom_other_pal = 1;
int dicom_fix = 1;
int dicom_control = 1;
static int use_bt865 = 1;
Please refer to the README file for detailed explanations of the
possible variations. Amazingly, the DVD solution under Linux provides
a more stable TV image than the original software under Windows. You
need one more plug-in to be able to operate xine with encrypted
DVDs as well. Also please refer to the Xine home page for more
information. An example of an unencrypted DVD is John McTiernan's "The
13th Warrior".
PS: In the meantime, new versions have become available for the
modules listed above and the Xine player. However, we currently
still recommend that you continue using Versions 0.7 (em8300 module)
and 0.4.01 (Xine). There are still a few bugs that need to be
worked out of the newer versions.
PPS: SUSE LINUX 7.2 comes with a xine package - unfortunately it lacks dxr3 support.
|