VMWare is currently written to the OSS specification. That being the case, it tries to access /dev/dsp directly; however when using alsa, pulse, or some other similar technology, /dev/dsp will be locked by the sound daemon.
There are a few ways to get around this (using a sound wrapper for example).
The following method is written for ALSA and VMWare workstation:
- sudo -i
- aptitude install alsa-oss
- chmod +s /usr/lib/libaoss.so.*
- mv /usr/bin/vmware /usr/bin/vmware.orig
- echo '#!/bin/bash' > /usr/bin/vmware
- echo 'LD_PRELOAD=libaoss.so exec /usr/bin/vmware.orig "$@"' >> /usr/bin/vmware
- chmod +x /usr/bin/vmware
- exit
Modifying VMWare Server is a very similar process, and only needs slight modification to the methods listed above.
Instead of /usr/bin/vmware, you have to modify /usr/lib/vmware/bin/vmware-vmx (default installation path) to get it working, i.e.,
- cd /usr/lib/vmware/bin
- sudo mv vmware-vmx vmware-vmx.real
- sudo echo '#!/bin/bash' > vmware-vmx
- sudo echo 'LD_PRELOAD=libaoss.so exec /usr/lib/vmware/bin/vmware-vmx.real "$@"' >> vmware-vmx
- sudo chmod +x vmware-vmx
You may also need to modify steps 5 and 6 to include the following:
#!/bin/sh
LD_PRELOAD=libaoss.so exec /usr/lib/vmware/bin/vmware-vmx.real "$@"