From: Marc-André Lureau <marcandre.lureau(a)redhat.com>
vhost-user device doesn't have a virgl option, it is passed to the
vhost-user-gpu helper process instead.
Signed-off-by: Marc-André Lureau <marcandre.lureau(a)redhat.com>
Reviewed-by: Cole Robinson <crobinso(a)redhat.com>
---
src/qemu/qemu_command.c | 9 ++++++---
tests/qemuxml2argvdata/virtio-options.args | 3 +--
2 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 90e090c72e..3f127dad1f 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4542,9 +4542,12 @@ qemuBuildDeviceVideoStr(const virDomainDef *def,
virBufferAsprintf(&buf, ",id=%s", video->info.alias);
- if (video->accel && video->accel->accel3d == VIR_TRISTATE_SWITCH_ON)
{
- virBufferAsprintf(&buf, ",virgl=%s",
- virTristateSwitchTypeToString(video->accel->accel3d));
+ if (video->backend != VIR_DOMAIN_VIDEO_BACKEND_TYPE_VHOSTUSER &&
+ video->type == VIR_DOMAIN_VIDEO_TYPE_VIRTIO) {
+ if (video->accel && video->accel->accel3d ==
VIR_TRISTATE_SWITCH_ON) {
+ virBufferAsprintf(&buf, ",virgl=%s",
+
virTristateSwitchTypeToString(video->accel->accel3d));
+ }
}
if (video->type == VIR_DOMAIN_VIDEO_TYPE_QXL) {
diff --git a/tests/qemuxml2argvdata/virtio-options.args
b/tests/qemuxml2argvdata/virtio-options.args
index 40f85fdaa4..92bce8283c 100644
--- a/tests/qemuxml2argvdata/virtio-options.args
+++ b/tests/qemuxml2argvdata/virtio-options.args
@@ -49,8 +49,7 @@ ats=on \
ats=on \
-device virtio-input-host-pci,id=input3,evdev=/dev/input/event1234,bus=pci.0,\
addr=0x12,iommu_platform=on,ats=on \
--device virtio-gpu-pci,id=video0,virgl=on,bus=pci.0,addr=0x2,iommu_platform=on,\
-ats=on \
+-device virtio-gpu-pci,id=video0,bus=pci.0,addr=0x2,iommu_platform=on,ats=on \
-device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0xc,iommu_platform=on,\
ats=on \
-object rng-random,id=objrng0,filename=/dev/random \
--
2.23.0