Saturday, January 05, 2008

WinAmp under Wine on Fedora 7

Happy 2008, everybody!

This was a nice surprise. I wanted some visualizations with my music, rather than just the plain xmms oscilloscope, so I thought I'd try installing WinAmp under Wine, the Windows Emulator (http://www.winehq.com). I hadn't had very good experiences with Wine before and wasn't confident that my sound hardware would be recognized correctly, especially in my quirky Dell SC1430.

The Dell is a server class machine not made for consumer applications. Though I'm trying my best to convert it into a video editing monster machine. For the most part, I have succeeded in that task. But there has been a lot of bloodletting (read: time spent) in the process.

Currently, I have Fedora 7 running on the Dell. As Wine is part of this Fedora distro, installing Wine was a simple matter of doing:
[cacasodo@ogre ~]# yum install wine

Version wine-0.9.49-1.fc7 got installed from the fedora-updates repository.

After reading a bit on the Wine FAQ, I saw that the installation of Windows programs to the Wine environment should be fairly straightforward. With that in mind, I downloaded the latest WinAmp player. I started the install by using the following command from my home directory, the directory I copied the program to:
[cacasodo@ogre ~]# wine winamp551_basic.exe

I forgot that Wine runs all the Windows applications and dialogs appeared in their own Metacity windows. Wine running WinAmp looks like this:


As I made it through the final dialog box of the installation process, I assumed the program installed correctly. Now, it was time to configure Wine using the Wine configuration program. I typed:
[cacasodo@ogre ~]# winecfg



In winecfg, I made sure that my audio drivers were selected correctly. Upon installation, Wine automatically detected that OSS, ALSA and JACK drivers were installed in my system. They were selected, so I played a test sound. The test sound was garbled and unintelligible. Ooops. I looked at the command output in the terminal window and it showed an ALSA error:
ALSA lib pcm_dmix.c:868:(snd_pcm_dmix_open) unable to open slave

I saw that my other audio applications were similarly broken, so I decided to reboot just for good measure. When the box came back up, I first played a test sound in XMMS. That worked, so I opened winecfg and the test sound played correctly! Happiness.

The real test would be to start 'er up and load an MP3 file. I started WinAmp using the following command:
wine /cacasodo/.wine/drive_c/Program\ Files/Winamp/winamp.exe

WinAmp started up, so I dragged the default Mike Llama wave file from the WinAmp installation folder into the playlist of WinAmp. The drag and drop from Metacity to WinAmp running under Wine worked, which was nice to see. Pressing play, I was happy to hear Mike's dulcid tones..well, not so dulcid..ring out loudly through my speakers. WinAmp was working!!

My original purpose for the WinAmp installation was to have some nice visualizations to go with my music. I was very interested to see if they'd work under Wine. In WinAmp, I went to Preferences by pressing the familiar CTRL-P key combination. Indeed, this opened up a Preferences window. Wine does key combinations..cool! I selected Visualizations -> Advanced Visualization Studio and pressed Start plugin. Lo and behold, another window appeared and even better than that, a visualization started up!

The visualizations were working so well that I could expand the viz window to roughly DVD size resolution (720x480) without it slowing down. Nice! At this point, I knew that Wine must be taking advantage of my NVidia (BFG) 8500GT card. There's no way plain old X could handle those beautiful streaming colors all by itself:


Again, nice going Wine, for taking advantage of the OpenGL in my NVidia chip!

However, I will say there must be some optimization needed in Wine, as a constant flow of error messages comes through in the terminal session:
fixme:ddraw:IDirectDrawImpl_WaitForVerticalBlank (0x1b27ff0)->(1,(nil)): Stub

Aside from that, it is very nice to have an unexpected success like this install of WinAmp and its beautiful visualizations. Tally ho!

For your reference, the WineHQ site has a nice database that shows which Windows applications will work with Wine:
http://appdb.winehq.org/appbrowse.php

In particular, here is the root page describing WinAmp compatibility with Wine:
http://appdb.winehq.org/objectManager.php?sClass=application&iId=5

Very cool.
'sodo

No comments:

Feel free to drop me a line or ask me a question.