1.1. What is xmp?
1.2. In which platforms does xmp currently run?
1.3. Do I need a GUS or AWE sound card to run xmp?
1.4. Where can I get the latest version?
1.5. Is there a Debian package available?
1.6. Is there an RPM package available?
1.7. Which module formats are supported?
2.1. I think I found a nasty bug, how can I contact the authors?
2.2. My gcc does not understand __attribute__((packed)).
2.3. xmp complains about insuficient space in /dev/sequencer.
2.4. xmp plays foobar.mod incorrectly and/or dumps core.
3.1. How do I set the volume in Solaris?
3.2. How do I set the volume in Linux?
4.1. I'm getting errors with make -C in FreeBSD.
4.2. The player hangs with OSS/FreeBSD or Voxware 3.5.
5.1. xmp is not being compiled with AWE support.
5.2. When trying to run xmp with my AWE32 it locks up my machine.
5.3. I can't open /dev/sequencer.
1.1. What is xmp?
xmp is an open source module player for UNIX distributed under the terms of the GNU GPL. On PC class machines with GUS or AWE cards xmp takes advantage of the OSS sequencer to play modules with virtually no system load. Using software mixing, xmp plays at sampling rates up to 48 kHz in mono or stereo, 8 or 16 bits, signed or unsigned, little or big endian samples with 32 bit linear interpolation.1.2. In which platforms does xmp currently run?
Linux on x86 (tested with 2.0.35 and 2.1.128 kernels), Linux on Sparc (tested with 2.0.33), Solaris (tested with Solaris 2.5 running in SS20, Ultra 1 and Axil 240) and HP-UX (tested with HP-UX 9.05 running in a 9000/710). It is reported to work also with Linux/Alpha, Digital UNIX, FreeBSD and OpenBSD.1.3. Do I need a GUS or AWE sound card to run xmp?
No. As for version 1.1 xmp supports both hardware (using Gravis Ultrasound or AWE32 cards) and software mixing. The software mixer can be used with EsounD, OSS, ALSA, Solaris 2.x, OpenBSD, S/Linux, HP-UX or to mix modules to a file.1.4. Where can I get the latest version?
The latest stable and development versions are available at http://xmp.helllabs.org/pkg/latest/.1.5. Is there a Debian package available?
Yes. The Debian package is available at http://www.debian.org/Packages/stable/sound/xmp.html. You may want to check the unstable packages for newer versions.1.6. Is there an RPM package available?
Yes. Source and i386 binary RPM packages are available at http://rufus.w3.org/linux/RPM/contrib/libc6/i386/xmp-1.1.6-1.i386.html.1.7. Which module formats are supported?
xmp recognizes more than 40 PC and Amiga module formats, including MOD, MED, XM, S3M, IT and some unusual or exotic formats. Run xmp --help to get a list of all supported formats.
2.1. I think I found a nasty bug, how can I contact the authors?
Send an email to claudio@helllabs.org or hipolito@brhs.com.br describing the problem. Remember that the only way to get bugs fixed is reporting them.2.2. My gcc does not understand __attribute__((packed)).
You need gcc 2.7 to compile xmp (gcc 2.7.2.1 and pgcc-2.91.57 are being used for development).2.3. xmp complains about insuficient space in /dev/sequencer.
Check the amount of RAM you have installed. 256Kb or 512Kb may be sufficient to play some MODs, but 1Mb or more is recommended. If the module has 16 bit samples, you may try to use the --8bit command line option to convert the samples to 8-bit to save memory, or use the software mixer. Attention: --8bit does not affect the memory usage in AWE cards! Awedrv converts all the samples to 16 bit before loading.2.4. xmp plays foobar.mod incorrectly and/or dumps core.
See Question 2.1.
3.1. How do I set the volume in Solaris?
Use -Dgain=xx to set the initial volume. You'll need gaintool a mixer application to change the volume during the module playing.3.2. How do I set the volume in Linux?
Apparently there's a bug in the AMD 7930 driver that make -Dgain=xx work at random. Until someone fixes this bug, you'll need to try a few times to set the volume correctly.
4.1. I'm getting errors with make -C in FreeBSD.
You're probably trying to use the BSD make. Use gmake instead.4.2. The player hangs with OSS/FreeBSD or Voxware 3.5.
Due to problems with the select () call, xmp does not work with Voxware 3.5 and OSS/FreeBSD 3.8 sequencers. You must use software mixing instead, or use the Voxware 3.0 sound driver.
5.1. xmp is not being compiled with AWE support.
If you have an AWE card, make sure you have awedrv installed. The latest version of awedrv is available at http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv. Recent Linux and FreeBSD distributions already include awedrv, but you may want to check the awedrv page anyway for a newer version.5.2. When trying to run xmp with my AWE32 it locks up my machine.
If you use an AWE driver version older than 0.3.3d, this may be a bug in the AWE driver. In this case, upgrade to the latest version (see Question 5.1). This may also happen, as reported by Michael Janson, if you have a card with no RAM installed. See Question 2.3.5.3. I can't open /dev/sequencer.
Make sure you have the MIDI sequencer (CONFIG_SEQUENCER) enabled when configuring the driver, and the permissions are 0666. Check Takashi Iwai's awedrv FAQ for hints on the driver configuration. If you're using USS/Lite 3.5.4 and still get messages like Sequencer: No Midi devices. Input not possible from the sound driver, you may need to apply the following patch:--- sequencer.c.old Tue Sep 23 20:00:26 1997 +++ sequencer.c Tue Sep 23 20:37:52 1997 @@ -1140,7 +1140,7 @@ setup_mode2 (); } - if (seq_mode == SEQ_1 && (mode == OPEN_READ || mode == OPEN_READWRITE)) + if (seq_mode == SEQ_1 && mode == OPEN_READ) if (!max_mididev) { printk ("Sequencer: No Midi devices. Input not possible\n");