Winamp on Linux? Sure! Well, "Maybe" at least...

The alpha release of Winamp for Linux (odd name, I know; reminds me of a class I once took in college called "Planetary Geology") is available for download from Nullsoft's site. A fairly lightweight 1.5MB download (XMMS was around 2MB last time I grabbed it). The press release for version 3 has this to say about Linux and us maybe seeing other cross-platform code:

Every component of the Winamp player can be removed or replaced, enabling developers to create exactly what they want and integrate it quickly into Winamp. The "Wasabi" coding platform enables instant cross- platform functionality for supported platforms that will include Windows and Linux at launch. The Winamp player is the first full-featured application for this groundbreaking new coding platform.
That bodes well. Maybe the Wasabi "platform" will allow more visual stuff, hoepfully for more than just an mp3 player. The license, I'm sure, won't be GPL or LGPL.

I downloaded the alpha. It's a tarball all right, but it's a tourist in the Linux world and definitely not a native speaker. First off, the archive has hardcoded paths starting from /. It expects you (as root, I assume) to extract it from /, and it makes a /usr/local/Winamp directory for its files and then places a shell script in /usr/local/bin which runs /usr/local/Winamp/Winamp.exe (with an input file arg and STDIN/STDERR to /dev/null). This is very weird. I now have a binary file with a .exe extension at $HOME/download/win32/winamp/usr/local/Winamp and a shell script which points elsewhere.

I tried to run it manually, but forgot one other thing about the shell script: it adds /usr/local/Winamp/libs to my LD_LIBRARY_PATH environment variable. I didn't do this, so it wouldn't run. I added it, and Winamp.exe did in fact execute. But it didn't run long.

It looks like this is a debug build, which is unsurprising since it's an alpha. It ran and displayed various profiler messages and such (the app loaded completely in 3422ms, in case you were interested). Most of the output wasn't especially interesting or unusual, although it did have a few of what looked to be function names that simply said "Write me!". I happened to notice that among these unwritten items, both Systray::addIcon and Systray::setTip told me to write them. Again, in case you didn't know it was a work-in-progress, here you go. Except seeing as how I don't have a system tray to which an icon and its associated tooltip might be added, I wonder if this might not be a work based on Win32 version which is in progress...

When the .exe ran it tried to create what looked like 3 new windows. I assume that they were the main window, the EQ and the playlist window. I couldn't say for sure since the allocated screen real estate was simply black. These new windows were up for about 1 second then went away. On the console, I saw this final message before the app died:
X Error of failed request:  BadMatch (invalid parameter attributes)
Major opcode of failed request: 72 (X_PutImage)
Serial number of failed request: 5012
Current serial number in output stream: 5013
I'm no X programmer, but that looks to me that the app is trying to draw something in a window -- a border or background image or some such -- and can't because some X API function call was expecting different args. I don't know. I'm using XF86 that comes with Red Hat 7.3, version 4.2.0. Maybe this Winamp alpha was built under a different version? Version 3.something maybe? At any rate, I can see why they redirect STDIN and STDERR from the shell script. This build spits out a lot of info.

So there it is. I ran it with strace and watched all the "seek into my zipped-up skins files" hoo-ha fly by. I'm tired and it's late and
I'm no longer all that curious as to what "Linamp" might be like, so I didn't go through it all of it very much. I did scan through it, though. Toward the end, I saw bunch of open() calls that failed because the files weren't found. I also saw some libpng warnings about incomplete streams. Offhand, I'd say that this alpha build actually does expect to be installed in a certain location. Although I can't imagine hard-coding paths, even in an alpha. More likely, I've got it all wrong and my theories are bunk. I wound up installing it where it wanted to be on my dev box, though. I got the exact same results. No go. There's no readme or any kind of documentation with the alpha, so I have no idea what really is wrong.

Anyway, it'll be nice to have some choice once they get it working. When I switched from Windows to Linux, one of the things I really missed was Winamp's minibrowser. XMMS could use that feature.

UPDATE:
Thu Jun 27 13:17:58 PDT 2002
I figured out what was wrong. Winamp doesn't handle lower bit depths that well. I keep all my machines at 16-bit color since it's plenty and faster than 24-bit. Winamp just doesn't like that too much. I'm just not curious enough to go jigger my XF86Config file.

Comments for: Winamp on Linux? Sure! Well, "Maybe" at least...

BTW, you don't need Winamp on Linux. You don't want it either. Use XMMS instead (go grab it from http://xmms.org). You can use all your Winamp skins, and they have a large assortment of plugins. It's way more stable than Winamp. Even has a command-line interface, plays OGG, everything. Go get that and forget about Winamp and Linux.

Posted by wee at December 18, 2002 2:00 PM

I tried winamp 3 on linux once, and it was _very_ unstable. In fact I don't think I got it running at all (some windows appeared but disappeared again). The funny thing is that I managed to run winamp 2 through wine and it works almost flawless! My computer is a little old so the sound didn't play very smooth (some gaps) but otherwise everything worked!

But what I use everyday is xmms, as everyone else. It does the job and more.

Posted by Alexander Schrab at August 7, 2003 4:43 AM

hi, I'm a newbie with Linux, but think windows suck! I installed red hat 8.0 with Xwindows(don't know shit about the commandline) I tried to play mp3's with xmms but when I trie to load the files nothin happens in the playlist. even if I drag the file in to the list NOTHING. the m3u lists that I have dont work! they load all the title's but won't play the mp3's. as if it's a wrong list and can't find the source mp3's. Can anyone help me?

Posted by ecliptic at August 21, 2003 4:04 PM

Red Hat removed MP3 playback because of some lame licensing thing. The version of XMMS they shipped won't play MP3s out of the box -- it needs a plug-in.

To install the plugin:

1. Start a terminal: hit alt+F2 and then type 'xterm' (no quotes).

2. Change to the root user: type 'su root' (no quotes) and then give it the root password when prompted.

3. Download the plugin: type 'wget http://ftp.freshrpms.net/pub/freshrpms/redhat/8.0/xmms/xmms-mp3-1.2.7-13.p.i386.rpm' (no quotes).

4. Install it: type 'rpm -ivh xmms-mp3-1.2.7-13.p.i386.rpm' (no quotes).

5. When it's done, log out of the root account and quit xterm: hit ctrl+d twice.

6. Start xmms, load an MP3 file, hit play.

And if you want to try something really cool go get XOSD: http://psyche.freshrpms.net/rpm.html?id=848 The install instructions are just about the same as above. You only need the xosd and the xmms-xosd packages.

Posted by wee at August 21, 2003 5:00 PM

i want run winamp in my linux.9(Redhat) system
please help me

Posted by saseendran at October 24, 2003 11:41 AM

Saseendran:

You don't want to run winamp in linux. There's no point in doing so. Use XMMS instead. See the comments above for help.

Posted by wee at October 24, 2003 12:20 PM

XMMS does not compare to Winamp. Winamp is a full featured mp3 while XMMS is a basic mp3 player. If you don't believe, just try the the ramdom feature on XMMS. I run Linux btw.

Posted by apasserby at March 17, 2004 7:28 AM

Post a comment
Name:


Email Address:


URL:


Comments:


Remember info?