Xmcd prints one of the following error messages:
The LIBDIR/app-defaults/XMcd file cannot be located, or is the
wrong version. A correct version of this file must be present
in the appropriate directory in order for xmcd to run. Please
check your xmcd installation.
Neither the XMcd.libdir resource nor the XMCD_LIBDIR environment is
Your xmcd software may be improperly installed. If you compiled xmcd
from the source code, be sure to use "make install" to install the
software. Also, make sure that the xmcd_d/XMcd.ad file is installed
as LIBDIR/app-defaults/XMcd (where LIBDIR is typically /usr/lib/X11).
Check the contents of this file to make sure the XMcd.version parameter
exists and matches the version of xmcd you're running. If the
XMcd.version field is missing or wrong, do not edit the file to correct
it. Install a correct version of the file instead.
If the above doesn't resolve the problem, check to make sure you don't
have an old or incorrect version of the XMcd file installed in your
home directory, or in any of the directories specified by your
XAPPLRESDIR or XFILESEARCHPATH environment variables. Also, check your
Xmcd dies with a message similar to one the following upon startup:
ld.so.1: xmcd: fatal: libXm.so.2: can't open file: errno=2
dynamic linker : xmcd : error opening libXm.so.2
Your xmcd binary was compiled to link with dynamic libraries.
On SVR4 and certain other systems, a setuid program such as xmcd
will search only the /usr/lib and /usr/ccs/lib for dynamic libraries
(for security concerns). However, some of the dynamic libraries
that xmcd needs are not in these standard locations. This is notably
true for the Motif (libXm), Xt Intrinsics (libXt) and X11 (libX11)
In the example messages above, libXm.so.2 is not found. You may
also run into the same problem with other libraries.
A solution is to create symbolic links such that these needed
dynamic libraries are linked to /usr/lib, and thus can be found
by xmcd. The xmcd install procedure ("make install" or "install.sh")
has built-in support to search for the needed dynamic libraries and
to create the links for you.
The install.sh script will only search the following directories
for dynamic libraries:
If your xmcd binary needs a shared library that's not in these
locations, you must create the symbolic link by hand with the
ln(1) -s command.
If you don't like the symbolic link approach, an alternate solution
is to recompile xmcd such that the dynamic library locations are
specified with the -R option to the ld(1) command. To do this, you
must be adept at editing the xmcd_d/Makefile and making the
appropriate changes, compile the xmcd sources, and re-installing
Xmcd and cda re-loads the CD tray a few seconds after ejecting.
This tends to occur with some non-SCSI CD-ROM drives.
If you have xmcd's closeOnEject parameter set to True, that
could be the cause. Try setting it to False. If this still
doesn't fix the problem, or cause other problems, send a bug
report to the CD-ROM driver's author.
Meanwhile, you can increase the insertPollInterval parameter
in xmcd/cda to make this "auto-load" behavior happen later.
Xmcd seems to be real slow to respond to mouse clicks.
Make sure your system has enough memory. X11 programs, especially
Motif applications, consume a lot of memory. Xmcd is no exception.
Your system may be swapping and paging heavily, causing the
performance degradation. Try closing some unneeded windows. Also,
the X server may have a memory leak which causes it to grow
over time. Try stopping the entire X session and starting a new
Run some system performance analysis tools (sar, u386mon, vmstat,
crash, etc.) to see if there is a system tuning issue.
Also, setting the xmcd X resource XMcd*mainShowFocus to False may
improve performance somewhat.
Xmcd/cda seems to be playing the CD, but there is no sound.
Make sure you are not running a "demo" version of xmcd. If you
see this message when you start xmcd or cda, then you are running
the demo version that does not actually work with a real CD-ROM
CD-ROM simulator version x.xx (pid=xxxxx) starting...
You will get the demo mode if you compile and run xmcd/cda on
an unsupported OS platform.
Also, make sure your CD-ROM drive audio output is connected to
something. You may either connect headphones or amplified speakers
to the front jack, or connect the rear audio output to an external
On PC platforms, you can also connect the CD-ROM audio output to
a sound card. If a sound card is used, you must also use an audio
mixer program to set the CD Input Level and Master Volume. I recommend
the xmmix (Motif Audio Mixer) utility, which supports the OSS and
OSS/Free sound drivers. Visit the
xmmix web site
Xmcd/cda controls the CD-ROM drive only, and does not control the
built-in audio hardware on SGI, Sun, HP and some other workstations.
Thus, there is no way to make the CD-ROM play via the workstation's
internal speakers, unless an external program is used to control the
For Solaris 2.x (Sparc and x86 systems not running OSS), you can try
package. Different Sun Sparc systems have different audio
hardware, and x86 systems have an even greater variation of sound cards.
There is no guarantee that sac will work on your system. Also, since
sac is not developed by the author of xmcd, no support will be provided
for it. If sac doesn't work for you then you should use external
speakers as described below.
For SGI and other such systems, there is currently no external audio
control program that I know of. I recommend using headphones or good
quality external amplified speakers, connected to the front jack on
your CD-ROM drive. This setup should provide superior sound quality
than the system's internal speakers.
Note: The SGI O2 system does not provide a CD-ROM audio output jack.
The headphone jack on the system is not connected directly to the
CD-ROM drive. Thus, there is currently no solution to this problem on
I have a Toshiba SCSI-2 CD-ROM drive and sometimes when I run
xmcd/cda I get no sound, even though the CD appears to be playing
normally. The xmcd/cda volume control slider does not have
Recent Toshiba SCSI CD-ROM drives support two means of software-
controlled volume settings. One of these is the SCSI-2 method,
using the "mode select" command. The other is via a SCSI-1
Toshiba vendor-unique command, and only gives mute/un-mute functions.
Xmcd/cda will use the appropriate method, depending on whether
you configured it to operate the drive as a Toshiba SCSI-2 or SCSI-1
Even though you are using xmcd configured to SCSI-2 mode, the
SCSI-1 mode muting may have somehow been activated, thus silencing
the audio. To determine if this is the cause, do the following:
- Run the XMCDLIB/config/config.sh script, and re-configure
xmcd/cda to operate the drive as a SCSI-1 Toshiba unit (such
as the XM-3201). XMCDLIB is the directory where the xmcd/cda
support files are installed.
- Restart xmcd, play an audio CD, and move the volume control slider
around. Note that it will only go to the 0 or 100 settings in
this mode. Leave it in the 100 position, then quit xmcd.
- Configure xmcd/cda back to run as the appropriate SCSI-2 unit.
- Play a CD. Is there sound? Does the volume control slider work?
A possible cause of this phenomenon, is that some other application
that accesses the CD-ROM drive was using the Toshiba SCSI-1 vendor
unique command set to control the drive, and left the drive in the
muted state when it exited. Xmcd, when configured to run the drive
as a SCSI-2 unit, does not issue SCSI-1 vendor-unique commands to
re-enable the sound.
To remedy this, you may choose to operate xmcd/cda only in the
SCSI-1 mode (as an XM-3201), but you lose some of the features
in xmcd/cda. The other option is to avoid using the other
application that caused this in the first place. Or, send a
complaint to the vendor/author of that application.
Xmcd/cda reports "no disc" even though there is a CD in the drive.
Your system must be set up properly to use a CD-ROM drive. A good
test is to see if you can mount ISO9660/High Sierra CD-ROM
file-systems. If your system does not support ISO9660 but otherwise
supports a raw CD-ROM device, you can try typing this command while
logged in as the super-user (with a DATA CD loaded in the CD-ROM
dd if=DEVICE of=/dev/null bs=2k count=10
where DEVICE is the CD-ROM device node, such as
/dev/rcd0 (SCO ODT), /dev/rcdrom/cdrom1 (SVR4.2/x86) or /dev/rsr0
If the dd command fails, then either your hardware is not set up
properly, or your OS is not configured to support the CD-ROM device.
You should fix the problem first before attempting to run xmcd/cda.
Once you have validated basic functionality with data CDs, then
make sure xmcd/cda is properly configured. Run the
XMCDLIB/config/config.sh script (where
XMCDLIB is the directory where the xmcd/cda support
files are installed).
Also, be sure that you are running on a supported operating system
and hardware platform, and that the minimum OS version requirement
is met. Some platforms require special kernel or driver
configuration to run xmcd/cda. See the README and INSTALL files
I would like to purchase a CD-ROM drive for use with xmcd/cda and
for data CD purposes. Which do you recommend?
I will not give specific brand and model recommendations, but I
will recommend a SCSI-2 drive over a non-SCSI one. More features
are supported by xmcd on SCSI drives than on non-SCSI units.
Furthermore, SCSI CD-ROM drives are universally supported on the
various OS and hardware platforms (whereas non-SCSI units only
work on some platforms). This makes a SCSI drive more portable
between different systems, and there is less worry about getting
obscure device drivers to work.
Note that not all SCSI-2 drives are created equal, some of them
implement more of the audio-related commands than others. If you
do a careful study of xmcd's libdi_d/cfgtbl/* files, you'll get
a good glimpse at the CD-ROM drives' capabilities. Some of
xmcd's features will not work unless these commands are fully
implemented on the drive. Also, see the README file for specific
Note that some workstations require special OEM versions of the
CD-ROM drives (such as Sun, which requires support of 512-byte
block sizes rather than the standard 2048).
What If I Don't Have Motif?
This is a common question for users of the FreeBSD, NetBSD, Linux
and other platforms that do not come with Motif development and/or
run-time environments. No problem, there are answers!
Pre-compiled xmcd binaries with statically-linked Motif library is
distributed via this site for most of these platforms. You can just
download it, install and run.
If you must build xmcd from source yourself and don't have Motif,
you can use the LessTif (freely available Motif clone) package.
As of this writing LessTif is still under development and the
package is not yet complete or mature. While xmcd will link and run
with the LessTif library in its current form, some of the features of
xmcd may not function optimally. However, the LessTif developers are
making quick progress, and if you don't have the "real" Motif, you
may want to give LessTif a try. Here is the
LessTif Web Site. I recommend
lessTif version 0.83 or later.