Ever since I changed to using Windows 10 in my VMware Fusion virtual machine, I've struggled with a fair bit of latency and audio problems when using the standard HDAudio device. Changing the buffer time didn't make a huge difference, but now I've found a way to install the VMaudio driver and revert to the old es1371 audio device so I can lower the latency. This makes my Windows 10 run like my Windows 7 VM latency-wise, and I figured everyone else could use this info, so here goes (note: This worked for me, but I'm not responsible if your audio breaks):
NB: Whenever something is between quotes, assume that everything between the quotes has to be copied or executed. If there are quotes within the quotes, you do have to include those when you copy the text.
1. While it's shut down and VMware fusion is closed, back up your virtual machine by storing a copy of your .vmwarevm package somewhere else, just in case you need to revert later.
2. Boot up your virtual machine.
3. Go to the menu bar > Virtual Machine >Reinstall VMware Tools, and dismiss the auto-play notification or the setup dialog if they appear.
4. Open up a command prompt (windows key+r, then type "cmd")
5. I like to type "D:" to get to my cd-drive, but you can also type the path directly. Run this command on the drive your VMware tools install is mounted:
"setup64 /a"
press enter.
6. Follow the instructions on screen, and extract to a folder of your choosing.
7. Using Windows explorer, go to the directory where you extracted the VMware tools. Within this directory navigate to the following path:
"VMware\VMware Tools\VMware\Drivers\audio\Vista"
8. Locate the file "vmaudio.inf", and press shift+f10 (or right click) on it.
9. Find "install" in the context menu, and press enter on it. Follow the on screen instructions.
10. Shut down your virtual machine and quit VMware fusion. Now it's time to edit your .vmx file
11. In the mac finder, locate your .vmwarevm package, and bring up the context menu. Navigate to "show package contents".
12. Locate your "<name of virtual machine>.vmx" file.
13. Bring up the context menu, find "open with" and open it in your favorite text editor. Text edit will do.
14. You have to change 2 lines in this file. If the line "sound.virtualDev = "hdaudio"" is present, change it to "sound.virtualDev = "es1371""
Next, add this line if it is not already present, and experiment with the buffer length. I find that 30 is a good number: pciSound.playBuffer = "30""
Finally, if you already tweaked the sound.bufferTime parameter with the new hdaudio device, I'm not sure it makes a difference or not. You can possibly leave it there, but I deleted it. Then save your .vmx-file
15. Go into fusion, and boot your machine. Hopefully it should now be much more responsive.
Please post in the comments if you need anything clarified, have spotted a mistake or if I neglected to include something
Malthe
Comments
Are you using 32-bit or 64-bit Windows?
I'm guessing since you're running setup64 that you're running the 64-bit Windows edition, but can you confirm? I defaulted to 64-bit, but as I'm only allocating 4 GB of RAM, I wonder if it really matters either way. Thanks for posting this, I was wondering where to find that es371 driver. :)
64 bit
Hi
Glad you're finding it useful! :) I am indeed using 64 bit Windows.
Yes, I've been looking for the driver for ages too! I didn't realize I could extract it from VMware tools like this.
Doesn't work for me
Hi,
Very nice guide, thanks for this! Sadly it doesn't work for me.
On Windows 10, the item for reinstalling VMware Tools is not available in my VMware Fusion Window. When I run Windows XP, that is available but I can not enter the command "d:\setup /a", because the VmwareTools-Disk is ejected once I dismis the setup dialog.
I know the guide wasn't for windows XP but I've distorted sound there and I hoped to fix this issue that way.
Saved my sanity
Having spent the better part of 3 days throwing every crack, hack, mod, configuration, reconfiguration, black magic, voodoo and dirty looks at a Win10x64 VMWare Workstation VM running on a Linux (Manjaro) host trying to get audio in general but microphone specifically to work - needed for the Windows only team collaboration software required by my TAFE for Covid19 lockdown remote learning - this was the ONLY solution that worked! Worked perfectly too, I might add.
Top job on figuring out the workaround and cheers for sharing it mate. Saved the day and my sanity. Will be drinking to your good health for the next year. :-)
Thank you so much, Jole! I'm…
Thank you so much, Jole! I'm really glad it could help out.
As an update on this, in Fusion 12 on Monterey, the standard HDAudio device seems to behave quite nicely in terms of latency too!
Just make sure to adjust the sound.bufferTime in the VMX
Best
Malthe
Re: Windows XP
Hi!
That seems very weird! Did VMware fusion 12 by chance improve anything for you?
Best
Malthe
Win11 ARM
Is there other way to fix audio latency on Win11 ARM version? Installing old driver from Vista does not seems appropriate for ARM version
Re: Win11ARM
Unfortunately, I'm still running intel, so haven't looked into this. If you find a good solution, please let us know though!
I've only used Parallels with ARM Windows
I haven't tried Fusion with the ARM version of Windows, in part because I'm not sure any more which version of Fusion supports what. I can say though that with Parallels, the latency issue definitely does not seem as pronounced as it is using Fusion on Intel. I totally realize I'm not comparing apples and apples here, no pun intended, but whatever Parallels is doing, it's doing it well. That said, Parallels has a number of accessibility issues of its own, so I'd be willing to try installing Windows using Fusion to see how the latency compares. Which version of Fusion are you using?