Opened 7 years ago
Closed 7 years ago
#17308 closed defect (fixed)
DirectSound audio driver fails to initialize (Windows XP Pro x64 Host)
Reported by: | Abdul-Khader Welaye | Owned by: | pentagonik |
---|---|---|---|
Component: | audio | Version: | VirtualBox 5.2.0 |
Keywords: | Cc: | ||
Guest type: | Windows | Host type: | Windows |
Description
Hi there, first off I realize I am filing a ticket for a host type that is technically unsupported (Windows XP Pro x64 Edition, equivalent to Windows Server 2003) so if this isn't something worth your time to troubleshoot feel free to close it straight-away.
I've installed VirtualBox 5.2.2 on my machine running the 64-bit version of Windows XP, and I've had no trouble setting up a Windows 10 Virtual Machine at all except for getting the sound to initialize.
When I start any VM at all (even an empty one with no hard drive) I instantly receive an error that "Host audio backend initialization has failed". See attached screenshots and logs. The logs don't seem to tell me much that's useful except for that it failed to attach to the driver (line 607).
Windows DirectSound is the only host audio driver available to me besides null, and changing the Audio Controller didn't change the situation at all.
Anyways, if this is something you are willing to assist me in troubleshooting that would be great! This machine is mostly a test build that I've been messing with to see what I can do, which is why I'm marking the priority as trivial.
Please let me know if there's any other information I can provide.
Attachments (3)
Change History (15)
by , 7 years ago
Attachment: | AudioError.PNG added |
---|
comment:1 by , 7 years ago
Quick update: I uninstalled 5.2.2 completely and installed 5.1.30, and DirectSound was able to properly initialize with that version.
comment:2 by , 7 years ago
See the same error on VBox 5.2.2 and Win2003server host
00:00:08.057617 Audio: Initializing DirectSound audio driver 00:00:08.057617 Audio: Failed to attach to driver 0bf980d8 below (flags=0x0), rc=VERR_AUDIO_BACKEND_INIT_FAILED 00:00:08.057617 Audio: Initializing NULL driver 00:00:08.057617 VM: Raising runtime error 'HostAudioNotResponding' (fFlags=0x0) 00:00:08.057617 Console: VM runtime error: fatal=false, errorID=HostAudioNotResponding message="Host audio backend initialization has failed. Selecting the NULL audio backend with the consequence that no sound is audible"
comment:3 by , 7 years ago
The bug is caused by VBoxMMNotificationClient.cpp
VBoxMMNotificationClient class was added in september and its initialisation fails on XP and 2003 server. There is no MMDeviceEnumerator on XP and 2003 server.
In the DrvHostDSound.cpp in function drvHostDSoundConstruct it should just ignore if VBoxMMNotificationClient initialisation fails. Or log a message and ignore. It is not important and optional. In the code it was even put behind the VBOX_WITH_AUDIO_MMNOTIFICATION_CLIENT conditional compilation block.
The class VBoxMMNotificationClient is poorly written by the way, its field m_fRegisteredClient is never assigned to true and UnregisterEndpointNotificationCallback is never called.
Please pass this information to developers.
comment:4 by , 7 years ago
First, thanks for the analysis. As you stated correctly in the ticket description, Windows XP is not supported as a host platform anymore. Also, Windows XP 64 is rather exotic, which even adds to it :-)
I'll have a look into the issue.
comment:5 by , 7 years ago
Owner: | set to |
---|---|
Status: | new → assigned |
comment:6 by , 7 years ago
Added a runtime check to the driver; should be available in the next upcoming 5.2 maintenance release.
comment:8 by , 7 years ago
Just another user seems that they had the same issue, in the forums: https://forums.virtualbox.org/viewtopic.php?f=6&t=86167
comment:9 by , 7 years ago
@GnomeUser Yes, but that still doesn't change the fact that XP / 2003 isn't supported as a host anymore :-)
comment:10 by , 7 years ago
The OS version check seems to be an overkill, who knows what other newer windows system may lack this MMDeviceEnumerator API. But it solves the issue for 2003 server host. I've tested it on 5.2.6 r120293
comment:12 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Screenshot of initialization error