Audio not working on VirtualBox Windows 10 guest (macOS host)

13,955

OK I did A LOT of debugging on this one, and there's no definite solution to this, it's a glitch.

I upgraded both of my Macs to the same version. I used same version of VBox. Heck, I even copied the Virtual Machine along with the disk and settings from one machine to another. It lead to one result: The VM audio worked on one Mac, but not the other.

To fix this: Go to devicemgr in the Windows guest VM, right-click to the sound device, disable it. Then enable it. It should be working.

So far this is the only solution that worked for me, and it works reliably again when I lose audio and I restore it with this technique. Weird enough, once the audio is broken, it's broken for all VMs (windows, linux, doesn't matter) –but once you fix it like this, it's fixed everywhere (the wtf moment).

I think this glitch happens when you plug your Mac to an external display with audio (like Apple Cinema Display), and VirtualBox confuses where to send the audio, and choosing it from the Sound settings on macOS won't help.

Share:
13,955

Related videos on Youtube

ahmet alp balkan
Author by

ahmet alp balkan

I am a software engineer on Twitter compute infrastructure team. Previously I've worked at Google Cloud on Kubernetes, Cloud Run and Knative, and at Microsoft Azure on various parts of the Docker open source ecosystem. Find me on my: (blog | twitter | github)

Updated on September 18, 2022

Comments

  • ahmet alp balkan
    ahmet alp balkan over 1 year

    I am running Windows 10 Home as a guest OS in a VirtualBox VM, on macOS host running 10.13.6 High Sierra with VirtualBox 5.2.23.

    Audio worked a few times, then it stopped working. A VirtualBox version update or me tweaking settings might have caused this, I am not sure.

    • I tried doing a clean install from ISO with all default Windows 10 settings on VirtualBox, no audio there, either.
    • I tried another Mac I own (that one has macOS 10.14 Mojave installed), when I install the same image, with the same config, and with the same VirtualBox, it works there. (weird)

    The guest OSes think there's audio available. But it just isn't playing on the host. Here's a screenshot from Volume Mixer:

    volume mixer thinks output device is working

    Here's what I tried so far:

    Different versions of VirtualBox

    I suspect this might have happened (not sure) after upgrading VirtualBox, so I tried latest version 5.2.23, as well as some old versions like 5.2.14 and 5.2.18. No luck.

    Another OS

    I tried Ubuntu Desktop (Live CD), it also thinks audio is available. Differently than windows, when I try to play some video/audio on Firefox, the player actually never starts the video or audio.

    Windows enhancements/debugging

    • Windows Guest Additions are fully installed.
    • Windows updates are all complete.
    • I disabled driver signature verification
    • I tried Sound troubleshooting, nothing came back.
    • dxdiag shows Sound is fine (says "No problems found" and device name is "Speakers (High Definition Audio Device):

    dxdiag output

    Virtual Machine settings

    Here's the settings I'm using:

    VM summary

    Sound settings

    I tried other paravirtualization settings like "None" or "Default" instead of Hyper-V but no luck.

    Try another audio driver

    Instead of Intel HD audio controller setting on VirtualBox, I tried using the ICH AC97 setting. So I installed the archaic Realtek AC'97 audio drivers for Vista/7 on Windows 10.

    It successfully recognized the change, but still doesn't work:

    ac97 didn't work either

    VM logs

    Here's the VBox.log from the vm start-try-shutdown cycle: https://gist.github.com/ahmetb/be3b6eab2cd789196904696840576be0

    Symptom: VM shutdown crashes VirtualBox

    If I force-poweroff a VM from VirtualBox, the entire VirtualBox process crashes on macOS.

  • sunknudsen
    sunknudsen over 4 years
    Experiencing the same issue with a DisplayPort external monitor (Windows 10 guest on macOS Mojave host). Did you manage to find a permanent fix?