I built a new desktop PC for use at home, and I installed Ubuntu 8.04 on it. In anticipation of replacing the windows XP desktop with it, I’ve been playing with the evaluation license of VMware Workstation 6.5.
Somewhat annoyingly, VMware uses the lowest-common-denominator Linux sound API, OSS. Unfortunately, OSS, as typically implemented, only allows one application to have the sound device open at once. This might have been a acceptable design in 1995, but it sucks today.
However, as many people mention in several places on the web, you can use the ALSA-OSS emulation layer to give you the benefits of ALSA (such as multiple applications opening the audio device at once) with VMware. Almost all of them involve modifying the script which starts vmware to LD_PRELOAD the libaoss.so library. However, this seems to not work in the latest versions, since there are multiple levels of shell scripts which start the actual binary, and some of them modify the LD_PRELOAD environment variable. As far as I can discern, the “right” way is to add this line to /etc/vmware/config :
preload = “/usr/lib/libaoss.so”
And now, sound works just fine for me in VMware.
(Note, I did have to “sudo apt-get install alsa-oss” beforehand.)