diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c index b39b5e13bd6fabee03c487ddd01f6b1d39af7870..e71d3fa7fb054a3d2926ad0eaca4f7c47f3fb1ab 100644 --- a/src/qemu/qemu_cgroup.c +++ b/src/qemu/qemu_cgroup.c @@ -241,7 +241,11 @@ int qemuSetupCgroup(struct qemud_driver *driver, goto cleanup; } - if (vm->def->nsounds) { + if (vm->def->nsounds && + (!vm->def->ngraphics || + ((vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_VNC && + driver->vncAllowHostAudio) || + (vm->def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL)))) { rc = virCgroupAllowDeviceMajor(cgroup, 'c', DEVICE_SND_MAJOR); qemuDomainCgroupAudit(vm, cgroup, "allow", "major", "sound", rc == 0);