This directory contains Corel's LinDVD player.

LinDVD is a media player that can play DVDs, VCDs, audio CDs, 
and audio/video files that have MPEG1, MPEG2 (including MP3), 
VOB, and AC3 formats.

SYSTEM REQUIREMENTS

- Celeron, Pentium II, Pentium III, Pentium IV, Pentium M, 
  Core/Core2 Duo, or Athlon/Athlon64 processor(s)

- RedHat 6.2 with kernel 2.2.16 or above, and XFree86 4.0.2 or later
  RedHat 7.1 or above
  Known to work with RedHat 9 (kernel 2.4.20), SuSE 9.1 (kernel 2.6.4),
  Ubuntu 7.04 (kernel 2.6.20) and Ubuntu 7.10 (kernel 2.6.22)

- Possible video driver updates (see below)

DETAILED REQUIREMENTS

- CPU speed greater than 500MHz is recommended to play higher-bitrate DVDs.  
  Actual performance depends heavily on motherboard chipset and drivers used.

- Linux kernel 2.2.16 or above (2.4.7 or above recommended)

- SCSI or IDE DVD-ROM (which may be used via ide-cd or ide-scsi driver)

- /dev/cdrom linked to correct device such that CD-ROMs are mountable
  (/dev/scd0 for SCSI or ide-scsi, something like /dev/hdc for ide-cd)

- XFree86 4.0.2 (*) or later (4.2.0 recommended) with:
  - For ATI hardware:
    Latest "ati.2" drivers from http://gatos.sourceforge.net/ati.2.php
    (the ATI drivers packaged with XFree86 do not work very well)

  - For NVidia hardware:
    Latest NVidia drivers from www.nvidia.com.  The drivers packaged
    with XFree86 also work, but NVidia's own drivers are much faster.

  - For Intel 810 and Matrox G200/400:
    Driver packaged with XFree86.  Please note that some of the earlier 
    versions of the drivers have performance problems (high system CPU
    usage) which were fixed in later versions.

  - For S3 Savage hardware:
    Latest Savage drivers are in http://www.probo.com/timr/savage40.html

  - For SiS 540/630 hardware:
    SiS video drivers, device files, and /etc/conf.modules entries

  - For other video hardware:
    The default drivers provided with the latest XFree86 are worth a try.
    Also, check the hardware vendor's web site for XFree86 drivers that
    support accelerated video using the "XVideo" extension.  A web search 
    on "xfree86" and the chipset name may turn up other leads.

    If the XVideo extension is not supported by the driver, LinDVD will 
    run in unaccelerated mode.

  (*) LinDVD also works with XFree 4.0.1, however 4.0.2 or newer is 
  strongly recommended since there have been numerous bug fixes and 
  speed improvements made in the drivers which significantly affect 
  LinDVD's performance.  Please note that RedHat 7.0 is shipped with 
  the older version!

- Audio drivers installed. Using ALSA or OSS sound driver.
  Latest ALSA sound drivers are in http://www.alsa-project.org/download.php3

- Shared libraries from RedHat 6.2, including libc-2.1.3.  Newer shared 
  libraries from RedHat 7-9, RedHat Enterprise Linux 3-5, and Ubuntu 7.x
  are also known to work.  Running LinDVD with other versions of 
  libraries (and Linux distributions) may work, but is not currently 
  supported.


RUNNING LINDVD

To play a DVD, run:

lindvd

To play an .mpg file, run:

lindvd filename.mpg

LinDVD can be controlled using a mouse or keyboard.  Window operations
such as resize, move, and close are supported.


NOTES

1.  Using an SMP kernel on a single-CPU machine will cause performance
    problems which will become very apparent when running CPU-intensive
    applications like LinDVD.  In order to avoid these problems, make
    sure to compile your Linux kernel with the CONFIG_SMP option disabled.
    
2.  Frame rates can be significantly improved by enabling DMA and 
    32-bit transfers on the DVD-ROM.  Also worth trying is enabling
    DMA on the hard drive since it can make the entire system faster.

    Here is an example of how we do this in /etc/rc.d/rc.modules:

    /sbin/hdparm -c1 -d1 -X66 /dev/hda
    /sbin/hdparm -c1 -d1 -X34 /dev/hdc

    On newer DVD-ROMs you can use -X66 instead of -X34 for a faster DMA mode.
	DMA can be enabled using the IDE device (as shown above) even if the
	DVD-ROM	is accessed via the ide-scsi driver using /dev/scd0.
	
    Beware that DMA support varies widely for hardware devices, and
    enabling DMA on unsupported devices can trigger a system crash.
    We advise testing DMA support manually for each device before 
    placing the commands in a bootup script such as /etc/rc.d/rc.modules.

    To test whether the above commands have any effect, you can test
    the data transfer rate from the hard drive by doing:

    /sbin/hdparm -t /dev/hda

    When DMA is enabled, this transfer rate should increase dramatically
    (on the Intel 815, it increases from 4MB/s to about 20MB/s).

3.  One platform which especially benefits from enabling DMA is the
    Intel 810/815.  Unfortunately, some versions of the Linux kernel will 
    not allow enabling DMA with the above commands unless several kernel 
    options are changed.  Here is how to do it from "make menuconfig":

    select ATA/IDE/MFM/RLL support
    select    IDE, ATA and ATAPI Block devices
    select        Generic PCI IDE chipset support
    enable            Generic PCI bus-master DMA support
                      (enabling this will cause more menu items to appear)
    enable                Use PCI DMA by default when available
                          (even more menu items will appear)
    enable                    Intel PIIXn chipsets support
    enable                    PIIXn Tuning support

    Then exit, save your kernel configuration, and rebuild your kernel.

4.  For IDE DVD-ROMs, LinDVD can access the DVD-ROM either using the
    regular ide-cd driver, or with IDE SCSI emulation using the ide-scsi
    driver.  ide-scsi emulation is recommended since it has better 
    performance in many versions of the Linux kernel.

    If you are using IDE SCSI emulation, the DVD-ROM will have a device 
    name like /dev/scd0 instead of /dev/hdc when mounting a disc.  For 
    LinDVD to run, make sure that /dev/cdrom is linked to the correct device.

    If your kernel has both IDE drivers installed, the ide-cd driver will
    take precedence.  If you prefer to use the ide-scsi driver instead,
    you can specify it at boot time:  hdc=ide-scsi   where hdc in this 
    case is the drive's IDE device name.  This tells the kernel to use 
    the ide-scsi driver for /dev/hdc.  After booting, you may still need 
    to load the ide-scsi module:   modprobe ide-scsi   and link /dev/cdrom
    to /dev/scd0.

5.  DVD, VCD, and audio CD discs need not be mounted in order for LinDVD
    to play them.

6.  Older versions of the CMedia 8738 audio driver have a bug which 
    causes LinDVD to pause playback or play at the wrong 
    speed, especially after pausing with <Space>.  To restore normal 
    playback, use <F> or <R> and then <P> to resume playback.

    This problem is fixed in cmpci.o v4.03, which is bundled with newer
    Linux kernels.  Please note that the version of cmpci.o shipped with 
    the Linux kernels 2.2.15/2.3.99 (and therefore RedHat 6.2) is very old 
    (v2.41) and therefore has the bug.

    Playback is known to work on SoundBlaster Live! (emu10k1.o),
    ES1371 (es1371.o), Intel AC97, and CMedia 8338 and 8738 audio hardware.

7.  For systems with an embedded SiS630 chipset, make sure that the 
    BIOS setting for System Share Memory Size (which sets the amount
    of available video memory) is set to a sane value such as 8 or 16 MB.  
    Otherwise, the system will likely crash when LinDVD is launched.

8.  If you are experiencing dropped frames on a SiS630 system, the likely 
    cause is that the SiS drivers are either not installed or not working.  
    When LinDVD is unable to use the SiS drivers, it falls back to the
    unaccelerated generic playback, which is much slower.

    In order for the SiS630 video drivers to work:
    1.  The SiS kernel modules (v4l2out, sisvideo, and videodev) must be 
        installed
    2.  The device files /dev/vout0 and /dev/vout1 must exist and be writable
        by all users
    3.  The file /etc/conf.modules must have the following four lines:
        options v4l2out unit_vout=16,17
        alias char-major-81 videodev
        alias char-major-81-16 v4l2out
        alias char-major-81-17 v4l2out

    Please refer to the README provided with the SiS drivers for more details.

9.  You can use a different DVD-ROM device than the referenced by /dev/cdrom
    by changing the environment	variable CDROMDEVICE:
	
	For "bash" shell:  CDROMDEVICE=/dev/hdc lindvd
	For "tcsh" shell:  (setenv CDROMDEVICE /dev/hdc; lindvd)
	
10. To see which version of LinDVD you have, run:
    lindvd --version

