@(#)PLATFORM	6.3 98/05/11

SUPPORTED PLATFORMS
-------------------

The source code of this version of xmcd and cda supports the following
operating systems environments:

    1.  Apple A/UX
	- A/UX version 3.0 or later (on Apple Macintosh m68k,
	  with devscsi module installed)

    2.  Berkeley Software Design, Inc. (BSDI) BSD/OS
	- BSD/OS version 2.x (on Intel x86 PC-compatible)
	- BSD/OS version 3.x (on Intel x86 PC-compatible)

    3.  Data General DG/UX
	- DG/UX version 5.4R3.00 or later (on DG AViiON m88k)

    4.  Digital Equipment Corporation Digital UNIX (OSF/1)
	- OSF/1 version 1.3 or later (on Digital Alpha AXP)

    5.  Digital Equipment Corporation Ultrix
	- Ultrix version 4.3 or later (on DECStations, with
	  SCSI CAM installed)

    6.  Digital Equipment Corporation OpenVMS
	(See notes in the INSTALL.VMS file)
	- OpenVMS version 6.1 or later (on Digital Alpha AXP)
	- OpenVMS version 5.2-2 or later (on Digital VAXstations)

    7.  FreeBSD
	- FreeBSD 2.0.5 or later (on Intel x86 PC-compatible)

    8.  Hewlett Packard HP-UX
	- HP-UX release 9.x (HP 9000 m68k Series 300, Series 400)
	- HP-UX release 9.x (HP 9000 PA-RISC Series 700 WSIO)
	- HP-UX release 10.x (HP 9000 PA-RISC Series 700 WSIO)
	- HP-UX release 11.x (HP 9000 PA-RISC Series 700 WSIO)

    9.  IBM AIX
	- AIX version 3.2.x (on IBM RS/6000 Power and compatibles)
	- AIX version 4.x (on IBM RS/6000 Power/PowerPC and compatibles)

    10. Linux
	- Linux 1.0 or later (on Intel x86 PC-compatible, Sun Sparc
	  and other platforms)

    11. NetBSD
	- NetBSD 1.0A or later (on Intel x86 PC-compatible, Sun Sparc
	  and other platforms)

    12. OpenBSD
	- OpenBSD 2.x or later (on Intel x86 PC-compatible, Sun Sparc
	  and other platforms)

    13. QNX
	- QNX version 4.22 or later (on Intel x86 PC-compatible)

    14. SCO UNIX System V Release 3.2 (on Intel x86 PC-compatible)
	- SCO UNIX 3.2v4.x
	- Open Desktop version 2.x
	- Open Desktop version 3.x
	- Open Server release 5.x

    15. Siemens Pyramid Reliant UNIX System V Release 4
	- SINIX-N on RM200, RM400
	- SINIX-P on RM600

    16. Silicon Graphics Irix System V Release 4
	- Irix version 4.x (on SGI platforms)
	- Irix version 5.x (on SGI platforms)
	- Irix and Irix64 version 6.x (on SGI platforms)

    17. Sony NEWS-OS
	- NEWS-OS 4.1 or later (on Sony NEWS/m68k)

    18. Stratus FTX System V Release 4
	- FTX version 3.x (on Stratus Continuum PA-RISC platforms)

    19. SunOS
	- SunOS 4.1.x / Solaris 1.x (on Sun Sparc and compatibles)

    20. Sun Solaris System V Release 4
	- Solaris 2.x (on Sun Sparc and compatibles)
	- Solaris/x86 2.x (on Intel x86 PC-compatible)

    21. UNIX System V Release 4.0 (on Intel x86 PC-compatible)
	(Note: 4.0.3 or later recommended)
	- AT&T
	- Consensys
	- Dell
	- ESIX
	- ISC
	- Microport
	- Micro Station Technology
	- UHC
	- USL

    22. UNIX System V Release 4.0 (on Motorola m88k)
	- Motorola

    23. UNIX System V Release 4.2 (on Intel x86 PC-compatible)
	- Consensys
	- Information Foundation
	- Univel/Novell UnixWare 1.x
	- Onsite
	- USL

    24. UNIX System V Release 4.2MP (on Intel x86 PC-compatible)
	- Novell/SCO UnixWare 2.x

    25. UNIX System V Release 5 (on Intel x86 PC-compatible)
	- SCO UnixWare 7.x


PLATFORM-SPECIFIC NOTES
-----------------------

Pleasee read this section as well as the RELNOTES file for important
information about setting up and using xmcd and cda.


BSDI BSD/OS:

    On the BSDI BSD/OS 2.x platform, the xmcd and cda volume, balance
    and channel routing controls will not work unless you apply a minor
    patch to the disk device driver.

    In the /sys/dev/scsi/sd.c file, find the sdopen() function, and
    look for code similar to the following:

	if ((sc->sc_type & TYPE_TYPE_MASK) == TYPE_ROM && flags & FWRITE)
		return (EROFS);

    Comment-out or remove these two lines of code.

    This code was intended to prevent an application from opening a
    CD-ROM drive for writing (since the CD-ROM media is read-only).
    This restriction is not necessary, as a write operation to the
    CD-ROM would fail anyway.  However, due to the design of the SCSI
    pass-through mechanism in BSD/OS, xmcd/cda needs to "write" out
    SCSI mode data in order to implement the volume, balance and
    channel routing controls.  This patch allows xmcd/cda to open the
    CD-ROM device with the write attribute enabled.

    After applying this patch, you must then build a new kernel and
    reboot.  You should also set the CD-ROM device node to enable
    both read and write permissions.

    If you decide not to patch the disk driver, then you should
    set the following parameters to "False" in the
    XMCDLIB/config/DEVICE configuration file:

	volumeControlSupport:	False
	balanceControlSupport:	False
	channelRouteSupport:	False

    The Hitachi SCSI-1 CD-ROM drives will not work on the BSD/OS 2.x
    platform without some changes to the SCSI driver.  The specific
    changes necessary are beyond the scope of these notes.  If you
    must use the Hitachi SCSI-1 drives please e-mail xmcd@amb.org for
    information.

    ATAPI CD-ROM drives are supported only on BSD/OS 3.x.  See the
    DRIVES file for details.

Digital UNIX (OSF/1) and Ultrix:

    The minimum Ultrix and OSF/1 OS version listed above should be
    heeded.  Running xmcd and cda on earlier releases of either OS may
    cause the system to crash, due to bugs in the OS.  You must create
    the /dev/cam device before using xmcd/cda under Ultrix.  To do so,
    type the following commands while logged in as root:

	cd /dev
	MAKEDEV cam

Data General DG/UX:

    For DG/UX, you must configure the CD-ROM to be a user SCSI device
    instead of a SCSI disk.  To do so, follow these steps:

    1) Find the line in the file /var/Build/system.<hostname> which
       represents your CD-ROM drive and change the prefix "sd" to
       "scsi".
    2) Rebuild and reboot your kernel.

FreeBSD:

    You should set the CD-ROM device node to enable both read and
    write permissions.

    Release and snap versions of FreeBSD 2.0.5R needs a patch in the
    SCSI driver in order to work with xmcd (otherwise, the kernel may
    panic).  In /sys/scsi/scsi_ioctl.c, around line 323:

    Original code:
			/* if no data, no need to translate it.. */
			bp->b_un.b_addr = 0;
			bp->b_dev = dev;
			bp->b_flags = 0;

			scsistrategy(bp);
			ret =  bp->b_error;

    Fixed code:
			/* if no data, no need to translate it.. */
			bp->b_un.b_addr = 0;
			bp->b_dev = dev;
			bp->b_flags = B_BUSY;

			scsistrategy(bp);
			ret =  bp->b_error;

HP-UX:

    On the m68k systems, you should set the CD-ROM device node to enable
    both read and write permissions.

    For PA-RISC platforms, only systems running the WSIO (Workstation I/O)
    device driver subsystem are supported.  Xmcd and cda will not work
    on systems running the SIO (Server I/O) device driver subsystem.

Linux:

    The Hitachi SCSI-1 CD-ROM drives will not work on the Linux
    platform without some changes to the SCSI driver.  The specific
    changes necessary are beyond the scope of these notes.  If you
    must use the Hitachi SCSI-1 drives please e-mail xmcd@amb.org for
    information.

QNX:

    Under QNX, xmcd must be configured to run under the "QNX ioctl method"
    to operate all CD-ROM drive types.  The "SCSI pass-through" method
    is not available.

    You must have the Fsys driver to create /dev/cd0.  If the Audio
    driver is installed, /dev/dsp will automatically be used.

    Note: A stable, post-beta Audio driver is present only on QNX 4.23
    and later.

    Warning: The Iso9660fsys driver must NOT be running while you use
    xmcd/cda, or else you risk filesystem corruption.

Sun SunOS 4.1.x:

    The current SunOS 4.1.x run-time support is limited to systems
    running the sun4c and sun4m kernels.  To find out which kernel you
    have, use the "arch -k" command.

    The Hitachi SCSI-1 CD-ROM drives will not work on the SunOS 4.1.x
    platform as an audio CD player.  These drives were provided as
    standard equipment with some Sparc-compatible workstations.
    There is no way to make them work with xmcd and cda under SunOS
    4.1.x.  The only solution is to upgrade to a SCSI-2, Sun-compatible
    CD-ROM drive.

Sun Solaris 2.x:

    On Solaris 2.x platforms, you should use the virtual CD-ROM device
    (such as /vol/dev/aliases/cdrom0) if the Solaris Volume Manager
    (/usr/sbin/vold) is also running. You should set xmcd's
    "solaris2VolumeManager" common parameter and either the
    "closeOnEject" or "exitOnEject" device-specific parameter to True
    when operating under the Volume Manager.  If you want the Volume
    Manager to automatically start xmcd when a CD is inserted, you can
    specify the action_workman.so start-up program in the
    /etc/rmmount.conf file:

    action cdrom action_workman.so /usr/local/bin/X11/xmcd

    Substitute /usr/local/bin/X11 with the actual path to your xmcd
    binary.  See rmmount(1M) and rmmount.conf(4) for more information.

    If the Solaris Volume Manager is running, you should only use the
    Eject button on the xmcd main window to eject the CD.  Do not use
    the eject button on the CD-ROM drive itself.

