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:

  1. sudo -i
  2. aptitude install alsa-oss
  3. chmod +s /usr/lib/libaoss.so.*
  4. mv /usr/bin/vmware /usr/bin/vmware.orig
  5. echo '#!/bin/bash' > /usr/bin/vmware
  6. echo 'LD_PRELOAD=libaoss.so exec /usr/bin/vmware.orig "$@"' >> /usr/bin/vmware
  7. chmod +x /usr/bin/vmware
  8. 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:

LD_PRELOAD=libaoss.so exec /usr/lib/vmware/bin/vmware-vmx.real "$@"