XMMS - Unofficial Dead FAQ

Le roi est mort, vive le roi!

XMMS is dead. Thus you should migrate to Audacious or something like XMMS2.

This completely outdated and deprecated document tries to answer some of the most frequently asked questions concerning XMMS music player. Most of these questions were repeated on the #xmms of irc.FreeNode.net from time to time.

This FAQ was maintained by ccr, an ex-regular on #xmms and also occasionally a "developer". He is a very rude, grumpy and sarcastic person because he has seen the rotten internals of XMMS. The impoliteness in this document is very much intentional, but you should NOT think that this represents opinions and/or stance of all XMMS developers. If you are offended, feel free direct your responses to /dev/null. Alternatively you can visit #xmms and entertain us. Many have tried, some certainly have succeeded.

The Questions

  1. XMMS crashes when playing FLAC files with XMMS-FLAC plugin.
  2. XMMS crashes when adding files to playlist, I am using XMMS-MP4 (AAC for XMMS) plugin.
  3. XMMS crashes when playing any files, I am using XMMS-Scrobbler plugin.
  4. I get one of following errors (or very similar) when starting XMMS: ** CRITICAL **: file configfile.c: line 266 (xmms_cfg_write_string): assertion 'value != NULL' failed. charset.c:182: xmms_autocharset_iconv_open: Assertion 'xmms_autocharset_changed>=0' failed.
  5. Is there a way to play WMA/ASF/ASX with XMMS?
  6. Can I use WinAmp3/.WAL skins with XMMS?
  7. Plugin <insert a third-party plugin> here does not work!
  8. MP3 durations are incorrect!
  9. Playing some MP3-files crashes XMMS!
  10. Duration of VBR MP3's is shown incorrectly
  11. MP3 streams do not work/playing of streams cuts short/problems connecting to stream
  12. When is XMMS2 coming? Is there CVS for XMMS2? Can I get it?
  13. Why don't you use Gtk+2? / When will XMMS go Gtk+2?
  14. Can I use XMMS from commandline?
  15. Can I use XMMS without X?
  16. How do I get ID3v2 tags to work? I edit ID3-tags and they don't change!
  17. Can I use XMMS under Windows?
  18. Is XMMS based on WinAmp?
  19. What is this "XMMS-2.0.0" with Gtk2 support I found?
  20. Why XMMS doesn't continue to next song in playlist?! I need to press play to continue!
  21. XMMS still does not advance to next song, it seems that the current song does not "end".
  22. XMMS does not start, shows error: Inconsistency detected by ld.so: ../sysdeps/generic/dl-tls.c: 72: _dl_next_tls_modid: Assertion 'result <= _rtld_local._dl_tls_max_dtv_idx' failed!
  23. XMMS does not start, shows error: libmikmod.so.2: cannot open shared object file: No such file or directory
  24. XMMS does not work, I'm using Debian unstable.
  25. XMMS crashes with error "GLib-ERROR **: could not allocate 1074131992 bytes"
  26. How can I save Shoutcast/Icecast-streams while playing?
  27. Is it possible to stream mp3's with XMMS, via IceCast, like in WinAmp+ShoutCast DSP?
  28. Why playlist and/or equalizer don't minimize when I minimize XMMS's main window?
  29. XMMS does not minimize correctly, what gives?
  30. How can I get the title information for MP3/Icecast streams?
  31. Is there a way to order the playlist according to some entry in ID3-tags?
  32. I try to insert an (Shoutcast) URL like http://some.host.tld:8001/listen.pls into playlist, but it does not work!
  33. How do I play audio CDs in XMMS?
  34. Where can I find equalizer presets?
  35. Can I import WinAmp equalizer presets?
  36. Can I use WinAmp plugins with XMMS?
  37. Can XMMS play AAC/M4A/MP4?
  38. Why do you people on #xmms hate Gentoo so much?

The Answers

Q: XMMS crashes when playing FLAC files with XMMS-FLAC plugin.

Q: XMMS crashes when adding files to playlist, I am using XMMS-MP4 (AAC for XMMS) plugin.

Q: XMMS crashes when playing any files, I am using XMMS-Scrobbler plugin.

The above mentioned plugins are broken crap and should be avoided. Nobody has volunteered to re-write those plugins, so any improvement in this situation seems quite unlikely. Whatever may be the case, do not ask us/complain about them.

See also entries #6 and #666.

Q: I get one of following errors (or very similar) when starting XMMS:

  • ** CRITICAL **: file configfile.c: line 266 (xmms_cfg_write_string): assertion 'value != NULL' failed.
  • charset.c:182: xmms_autocharset_iconv_open: Assertion 'xmms_autocharset_changed>=0' failed.

Using Gentoo? These are related to russian character set patch added by Gentoo packagers to the XMMS package they distribute. To solve the problem, please remove ALL the patches added and recompile XMMS. Or install a vanilla version from tarball.

Q: Is there a way to play WMA/ASF/ASX with XMMS?

Yes and no. There exists one WMA-plugin that MAY or MAY NOT work properly. It uses WMAv1/v2-codec from FFMPEG, which has few flaws in decoding-tables that sometimes result in audible glitches.

XMMS-WMA is available at: http://mcmcc.bat.ru/xmms-wma/

There are also two MPlayer-related plugins that may or may not work better (since MPlayer is able to use the binary Win32 DLL-codecs under x86-32): XMMS-MPlayer and XMMPlayer.

Q: Can I use WinAmp3/.WAL skins with XMMS?

No.

The WinAmp3 skin-format is overly complex and will (probably) never be supported in XMMS. Unless someone is mad enough to reverse-engineer WinAmp3's skin engine and bolt that into XMMS. That is very unlikely to happen, though.

However, XMMS2 will have it's own format that offers features similar to WinAmp3 skins. Also due to XMMS2's client/server-architecture, someone might write a client which supports WinAmp3 skins...

Q: Plugin <insert a third-party plugin> here does not work!

The polite answer to this is that we cannot take responsibility of plugins we didn't make, thus we cannot support them either. Please contact the respective author of the plugin instead.

Naturally some 3rd party plugin authors may be lurking on #xmms and other XMMS-related forums, but don't trust that as a general rule of thumb. XMMS-devs only give support for those plugins that come with XMMS, aka:

  • IN: CD-audio
  • IN: MP3 (mpg123)
  • IN: MOD (MikMod)
  • IN: Ogg Vorbis
  • IN: Tone generator (tonegen)
  • IN: WAV (only supports PCM, for other codecs you need to install additional plugins)
  • OUT: OSS output
  • OUT: Disk writer output
  • OUT: ESounD output (esd)
  • OUT: ALSA output
  • OUT: Solaris audio output
  • OUT: Sun /dev/audio output
  • GEN: IRMan control
  • GEN: Joystick control
  • GEN: Song change plugin
  • VIS: Simple spectrum analyzer
  • VIS: Simple OpenGL spectrum analyzer
  • VIS: Blur scope
  • EFF: Echo
  • EFF: Extra Stereo
  • EFF: Voice removal

(The rough version is that we don't give a damn about problems with third party plugins, so you can go stuff them up the plugin author's ass.)

Q: MP3 durations are incorrect!

Q: Playing some MP3-files crashes XMMS!

Q: Duration of VBR MP3's is shown incorrectly

Q: MP3 streams do not work/playing of streams cuts short/problems connecting to stream

Check if you are using the MAD-input plugin (xmms-mad or mad-xmms) - if you are, then remove that piece of steaming monkey shit and use XMMS's default mpg123 plugin instead. MAD-plugin is buggy and known to crash on broken and even some good MP3's. It also does not work well with streams, has broken VBR file duration detection, etc.

Don't complain to us about MAD-related problems, it's a third-party plugin.

Q: When is XMMS2 coming? Is there CVS for XMMS2? Can I get it?

We don't know, XMMS2 will be released "when it's done". XMMS2 developers use GIT. The development snapshots and GIT source repositories of XMMS2 are available, although they are not recommended for casual use. You should especially note that XMMS2 is not XMMS1, there are major differences in design and design philosophy. Also a thing to note is that XMMS1 plugins are NOT compatible in any way and various features available in XMMS1 are unimplemented in XMMS2.

That being said, the magic URL is: http://www.xmms2.org/

Q: Why don't you use Gtk+2? / When will XMMS go Gtk+2?

There are multiple of reasons why XMMS does not use Gtk2. Probably the major reason is that porting XMMS to Gtk2 would require all the plugins to be ported too. Some independent people are working on this, however:
  • Audacious (http://audacious-media-player.org/) is a fork, or rather a direct descendant of "classic" BMP, thus originally based on XMMS1 code, but with heavy modifications. Again, XMMS plugins do not directly work on Audacious, but are relatively easy to port. With some luck, you might be able to pester some Audacious developer to do that, they certainly seem gulli.. nice enough. (Greetings to Nenolod and Chainsaw)
  • XMMS2 is the next generation of XMMS based on client-server architecture. It will probably have a Gtk+2 "client", among others. XMMS2 design is completely different from XMMS1, thus plugins cannot be directly ported, but most likely need to be re-written completely.

Q: Can I use XMMS from commandline?

Yes, some functionality is available via standard XMMS commandline, for more advanced things you can use use xmms-shell. (See also next item below.)

Q: Can I use XMMS without X?

Not really; XMMS1 is tied to Gtk+ and X. There are few possibilities, though: You can use a 'dummy' X server (xvfb or similar), not very ideal solution. Also, some people have forked XMMS codebase to create GUI-less versions, like noxmms, but these tend to have problems with non-converted plugins.

If you really want a player which does not require X11, there are several much better alternatives, designed from ground up for that. These include XMMS2 and MPD (Music Player Daemon).

NoXMMS based on old XMMS release is available at: http://xmmsd.sourceforge.net/noxmms/

Q: How do I get ID3v2 tags to work? I edit ID3-tags and they don't change!

If ID3v2 support is enabled, XMMS shows them instead of ID3v1 tags, but XMMS's MP3-plugin can ONLY edit ID3v1 tags. Changing the ID3v1 tags will not affect v2-tags.

To disable XMMS's support for ID3v2 tags:

  • Go to Preferences by pressing <CTRL+P>
  • Select "Audio I/O Plugins" tab
  • Select "MPEG Layer 1/2/3 plugin [libmpg123.so]"
  • Press "Configure"
  • Select "Title" tab
  • Select "Disable ID3V2 tags"
Better support for ID3v2 tags is supposed to be included in next version of XMMS (e.g. v1.2.11 or such).

Q: Can I use XMMS under Windows?

No.

(Well, theoretically you MIGHT get XMMS compiled and working under Cygwin, but that is a very advanced issue and requires much knowledge. So don't ask us, we're not interested in such crazy things. However, Google might help you find some fellow crazy men, maybe they have done it.)

Q: Is XMMS based on WinAmp?

Its visual outlook is based on the interface of WinAmp2 and XMMS supports WinAmp2 skin format, but there is no code from WinAmp used in XMMS.

Q: What is this "XMMS-2.0.0" with Gtk2 support I found?

It was a fork of XMMS1 code, falsely named "XMMS2", but it is NOT official XMMS2 and it is not made by XMMS development team, so DO NOT ask us about it.

Q: Why XMMS doesn't continue to next song in playlist?! I need to press play to continue!

You may have accidentally enabled "No Playlist Advance"-option, which keeps the playlist position in the current song.

To disable it, press <CTRL+N> or right-click XMMS's main window, select Options -> No Playlist Advance.

Q: XMMS still does not advance to next song, it seems that the current song does not "end".

This is probably a bug in your soundcard's/audiodevice's driver OR you are using a combination of following:
  • Your soundsystem is ALSA, but you are using OSS output-plugin in XMMS.

    Solution: Change XMMS to use ALSA output-plugin.
  • Your soundsystem is OSS or ALSA with eSound or aRts output-plugin in XMMS.

    Solution: Remove eSound (esd) and/or aRts (they may in some cases be harmful) and change XMMS to use OSS or ALSA output-plugin respectively.

Q: XMMS does not start, shows error: Inconsistency detected by ld.so: ../sysdeps/generic/dl-tls.c: 72: _dl_next_tls_modid: Assertion 'result <= _rtld_local._dl_tls_max_dtv_idx' failed!

Q: XMMS does not start, shows error: libmikmod.so.2: cannot open shared object file: No such file or directory

Q: XMMS does not work, I'm using Debian unstable.

Q: XMMS crashes with error "GLib-ERROR **: could not allocate 1074131992 bytes"

This bug has been fixed in XMMS 1.2.10 and later, please upgrade.

Q: How can I save Shoutcast/Icecast-streams while playing?

There is an option for this in the MP3/MPG123-plugin preferences:
  • Go to Preferences by pressing <CTRL+P>
  • Select "Audio I/O Plugins" tab
  • Select "MPEG Layer 1/2/3 plugin [libmpg123.so]"
  • Press "Configure"
  • Select "Streaming" tab
  • Select "Save stream to disk" and select a path

Q: Is it possible to stream mp3's with XMMS, via IceCast, like in WinAmp+ShoutCast DSP?

Yes, it is possible, but not very easy. You might be better off with using some other streaming source than XMMS, for example MuSE (mirror site).

On the other hand, if you really insist on using XMMS, the only working solution we know about is using OddCastV3 with JACK and ALSA, and XMMS with XMMS-JACK output plugin. The setup is not trivial, but there are some tips on the OddCastV3 documentation.

There is also a very old, unmaintained and most probably broken XMMS plugin called XMMS-LiveIce. Several users have reported that the plugin does not work. Since it is 3rd party, don't bother XMMS developers about it - we don't care.

Q: Why playlist and/or equalizer don't minimize when I minimize XMMS's main window?

Q: XMMS does not minimize correctly, what gives?

Most likely it is a bug in your respective window manager. XMMS uses rather exotic features of NetWM, and this might be problematic for some WMs.

At least Oroborus and KWin (KDE's window manager) have been known to suffer from XMMS-related problems in past.

Q: How can I get the title information for MP3/Icecast streams?

For some reason, this option is not enabled by default, to enable it refer to MP3/MPG123-plugin preferences:
  • Go to Preferences by pressing <CTRL+P>
  • Select "Audio I/O Plugins" tab
  • Select "MPEG Layer 1/2/3 plugin [libmpg123.so]"
  • Press "Configure"
  • Select "Streaming" tab
  • Select "Enable SHOUT/Icecast title streaming"
  • Select "Enable Icecast Metadata UDP channel"

Q: Is there a way to order the playlist according to some entry in ID3-tags?

Not directly. XMMS does not keep any separate ID3 information in playlist, all it has is a "title string" provided by the input plugins. This "title string" can contain pretty much anything, however you can usually control the contents via plugin settings. For example, MP3 plugin title-string settings can be accessed as follows:
  • Go to Preferences by pressing <CTRL+P>
  • Select "Audio I/O Plugins" tab
  • Select "MPEG Layer 1/2/3 plugin [libmpg123.so]"
  • Press "Configure"
  • Select "Title" tab

This can be used to generate title strings that sort out nicely, for example consider following format for MP3 input-plugin:

%0.2n: %p - %t / %a

Where %n is track number (from ID3 tag usually, if the file is MP3), %p is performer/artist, %t is title and %a is album. Because the track number is the first element, it will affect sorting most. Sort the playlist (Sort -> Sort List -> By Title) and you should get preferred results.

Since XMMS v1.2.5 there is a generic "title string" setting available, which is supported by most plugins. Refer to XMMS configuration (Press <CTRL+P>, select "Title"-tab).

Q: I try to insert an (Shoutcast) URL like http://some.host.tld:8001/listen.pls into playlist, but it does not work!

XMMS does not support remote playlists, thus it cannot retrieve the "listen.pls" file over HTTP. There are two solutions:
  • Often a Shoutcast URL works if you just strip out the filename-part ("listen.pls"). For example: "http://some.host.tld:8001/listen.pls" becomes "http://some.host.tld:8001/"
  • Manually retrieve the playlist. You can setup your web-browser to download it (for example into /tmp) and execute XMMS to load that temporary file. If your browser does not support "download file and run helper-application"-action, following shellscript may help: http://tnsp.org/xmms-helper.sh.

Q: How do I play audio CDs in XMMS?

XMMS comes with a plugin for that. Some distributions which include XMMS may have separated it to another package ("xmms-cdaudio" for example). There are also two other 3rd party plugins, which are old and should be avoided. Below included is an extract from XMMS's README concerning configuration of CD Audio plugin:
  • (Press <CTRL+P> -> Audio I/O Plugins -> CD Audio Player -> Configure)
  • Device

    • Device: The actual device of your CD-ROM unit. Usually /dev/cdrom is a symlink to the correct device.
    • Directory: This is the path where XMMS will "hijack" the filerequester and present the contents of the CD. On a typical system this is set to /mnt/cdrom, but if you are using some sort of automounter, we suggest that you change this setting to something like /mnt/audio_cd and make sure the directory exists.
  • Play mode

    • Analog: Analog playback requires that you have a cable connected between the CD-ROM and the soundcard. The sound will not be passed through any effect or visualization plugins in this mode.
    • Digital audio extraction: This allows XMMS to pass the audio data through the effect and visualization plugins.
  • Check drive: Does a rudimentary check if everything is properly configured.
  • Remove drive: If you have more than one drive configured, then this will remove the current one.
  • Add drive: If you have more than one drive on your system, you can add another to the plugin settings.

Now to add your CD-ROM tracks to the playlist: Insert an audio CD into the CD-ROM drive and press the "Eject" or "Add" button in XMMS. Go to the directory which you defined earlier (/mnt/cdrom) and you should see a list of tracks. They will be named "Track XX.cda", select the tracks you want to play and press "OK". If you configured the plugin to use an Internet CD database (CDDB) and the CD exists in it, XMMS will display the track information acquired from the database.

Q: Where can I find equalizer presets?

Q: Can I import WinAmp equalizer presets?

You can't directly import WinAmp equalizer settings, but Mr. Urpo Lankinen was kind enough to convert WinAmp presets to XMMS format by hand:

http://legacy.xmms2.org/misc/winamp_presets.gz

Q: Can I use WinAmp plugins with XMMS?

Theoretically you can use SOME WinAmp visualization plugins with XMMS via XMMS-WinAmp emulation plugin, but that ONLY works on 32-bit Linux/x86 platform, so if you're on some other platform (including 64-bit x86), you are out of luck.

XMMS-WinAmp plugin is available at http://www.emulinks.de/xmms-winamp/.

Q: Can XMMS play AAC/M4A/MP4?

There is a 3rd-party plugin available, but be warned that it is somewhat broken and does not support streaming. For obvious reasons it also does not support DRM'd files.

A slightly updated version of XMMS-MP4 tarball is available here. Updates include: fixed buildsystem, updated version of libmp4ff.

The original author's page is located at http://fondriest.frederic.free.fr/realisations/

Q: Why do you people on #xmms hate Gentoo so much?

First of all, this answer mostly touches recent (as of 2006) issues concerning removal of XMMS from Gentoo, although our "history" with Gentoo is much longer than that. Secondly, the matters and opinions presented here may or may not be backed up by some or all of XMMS developers.

In any case you must have misunderstood something. We don't hate Gentoo, not at all! In fact, we LOVE Gentoo, at least now as they have removed XMMS from portage.

Thanks must go to Diego 'Flameeyes' Petteno, the unsung Gentoo hero, who saved the poor XMMS developers from any further misery of dealing with ignorant Gentoo-users. Those poor delusional sobs always foamed about silly imaginary friends and non-existant issues, like:

  • Problems when playing MP3 files and streams (caused by Gentoo defaulting to use the inherently broken MAD-plugin, instead of using XMMS' default mpg123 plugin (which, somewhat unsurprisingly, just simply works.))
  • Mysterious crashes and character set translation problems (broken charset patch applied by Gentoo packagers)
  • MP3 file corruption when editing ID3v2 tags (broken ID3v2 editor patch, which under some circumstances caused the ID3 tag to become corrupted)
  • CD playing problems (another broken patch)
  • etc.

We must praise Diego a bit more, for we no longer have to hear whine of Gentoo XMMS packagers, who apparently think that the upstream is dead just because we refuse to apply some of those broken patches into the main tree. What about the alleged reasons stated for removal of XMMS from Gentoo portage? Well... most of the alleged XMMS bugs were in fact bugs caused by broken patches and bugs actually in 3rd party plugins. Yep, you've been a fine audience, good citizens of Planet Gentoo, with your -funroll-loops and whatnots... but now it is time to say bye-bye.

Yet, in all fairness, it should be said that XMMS1 is pretty horrible code; it is a stack of cards balanced on top of non-design, which nobody wants to touch because it might fall to pieces. The only development activity consists of occasional bugfixes, and possibly few small features if they are unintrusive enough. The reasons for retirement are there, but the reasons stated by Gentoo developers are mostly bogus bullshit.

XMMS is in maintenance mode, nobody expects the old warhorse to have all its teeth at this day and age. Some day XMMS1 will finally move to greener pastures, the process has begun, the pieces are in motion - younger generation of music players has been on rise, and the children of XMMS live on: Audacious as a semi-direct descendant, and XMMS2 in the spirit of next generation. We agree that Gentoo devs did the right thing, but they should've bothered to investigate the matter enough to state some truthful reasons for XMMS' removal.

Some related links: