Assigning A PCI Sound Device To A VM

Home » CentOS-Virt » Assigning A PCI Sound Device To A VM
CentOS-Virt 3 Comments

I have a PCI sound card that I would like to assign to a VM, but when I try to do so the VM fails to start and displays this message:

Error starting domain: Unable to read from monitor: Connection reset by peer

Traceback (most recent call last):
File “/usr/share/virt-manager/virtManager/asyncjob.py”, line 44, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File “/usr/share/virt-manager/virtManager/asyncjob.py”, line 65, in tmpcb
callback(*args, **kwargs)
File “/usr/share/virt-manager/virtManager/domain.py”, line 1125, in startup
self._backend.create()
File “/usr/lib64/python2.6/site-packages/libvirt.py”, line 686, in create
if ret == -1: raise libvirtError (‘virDomainCreate() failed’, dom=self)
libvirtError: Unable to read from monitor: Connection reset by peer

The XML generated by virt-manager for the device is


The sound card is an Asus Xonar DGX PCIe 5.1, and identifies itself as “07:04.0 Multimedia audio controller: C-Media Electronics Inc CMI8788
[Oxygen HD Audio]”.

I see the same problem if I try to assign the motherboard’s Intel Xeon E3-1200 HD Audio Controller to the VM. Both of these devices are supported by the host kernel (3.18.17-13.el6.x86_64).

I have no problem assigning a USB sound device, but those have very limited capability.

3 thoughts on - Assigning A PCI Sound Device To A VM

  • [SNIP]

    libvirt-0.10.2-54.el6.x86_64 in CentOS 6.7, using kernel-3.18.17-13.el6.x86_64 from the Xen4CentOS 6 repo.
    (I need that kernel for the motherboard’s sound controller. The
    behavior when trying to assign a PCI device to the VM is the
    same with the standard 2.6.32 kernel in CentOS 6.7.)