How to fix sound issues in a Windows Vista VMWare guest

Believe it or not, some people actually like Windows Vista. I never really had much experience of the OS as a naive 6/7 year old, so I can't really pass judgement on it. I've been wanting to give it a fair try for a while, so I recently installed it inside a virtual machine using VMWare Workstation.

If you're going down the same road as me, chances are you'll have run into a very frustrating audio issue. Your virtual machine will be working perfectly fine, but the sound will crackle, stutter and hiss like it's nobody's business! Simply put, this is down to VMWare's crappy implementation of a high definition audio device. Unfortunately, this problem can't be fixed by simply installing the VMAudioFixTray tool inside the guest environment like it can with Windows XP. Instead, this fix is slightly more technical and requires a text editor.

Requirements

Before following this guide, ensure that the following 2 requirements are met.

You must also ensure that you're familiar with text editors and config files, since this guide involves modifying the configuration (VMX) file of your virtual machine. Extreme caution must be exercised when making these types of changes, since one small slip up could result in your VM getting fried. No one wants a fried VM!

The fix

Now let's get to the meat of this guide, fixing that god awful audio problem once and for all!

What we'll essentially be doing here is ripping the virtual machine to pieces, taking out that horrible High Definition Audio device and replacing it with a bog standard VM Audio device that is much, much better.

  1. If the VM is currently powered on, shut it down. To shut down Windows Vista, press the Windows key to access the start menu, Tab twice, Right Arrow twice and press Enter. Once the OS has completely shut down, press Alt + F4 to shut down VMWare Workstation itself.
  2. Browse to your VM's config file inside its folder and open it in your text editor of choice. The name of this file depends on the name of your virtual machine. My Vista VM is named Win2007 (Windows Vista came out in 2007), so my config file is named Win2007.vmx. To see the .vmx part of the filename, you'll have to show file extensions from within Windows, which is outside the scope of this guide.
  3. With the VMX file loaded in your chosen text editor, press Control + F to launch the find dialog. In the resulting text box, type
    sound.virtualDev = "hdaudio"
    and press Enter.
  4. Press Home, or FN + Left Arrow if your keyboard doesn't have a Home key, to go to the start of the
    sound.virtualDev = "hdaudio"
    line. Press Shift + Down Arrow to highlight the line, and press Backspace to delete it.
  5. Press Control + S to save the file, then press Alt + F4 to close the text editor.
  6. Relaunch VMWare Workstation, make sure your Vista VM is selected and power on the VM with Control + B. Once the VM has power, press Control + G to place yourself in the virtual environment.
  7. Once logged back into Windows Vista, press Windows + R to launch the run box, type
    mmsys.cpl
    and press Enter to access the sound control panel applet.
  8. You should land on the playback screen with a list of available playback devices. Down Arrow to Speakers, then press Alt + P to access the device's properties.
  9. Press Control + Tab twice to access the advanced tab. There, you should see a sample rate and bit depth drop-down. If not, tab to it and Down Arrow to 16 bit, 48000 Hz (DVD Quality). Press Alt + A to apply the change, then press Enter twice to close the control panel applet.
  10. Finally, restart Windows. To do so, Press the Windows key, Tab twice, Right Arrow twice and press the letter R.

If you did everything right, you should have perfectly working audio in your Windows Vista virtual machine! Feel free to high five your PC screen! Not too hard, though. You don't want to smash it.

Download links

Gramatically incorrect, misspelled comment writers, I see you! Here are the download links to the files you will need for this guide.

11.0.6 is the highest version of VMWare Tools that will run under Windows Vista.