All supported qemus now support using '-device' for adding a graphics
device.
Signed-off-by: Peter Krempa <pkrempa(a)redhat.com>
Reviewed-by: Pavel Hrdina <phrdina(a)redhat.com>
Reviewed-by: Neal Gompa <ngompa13(a)gmail.com>
---
src/qemu/qemu_command.c | 115 +++-------------------------------------
1 file changed, 6 insertions(+), 109 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1b32f02543..05d074e1f0 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -4362,90 +4362,6 @@ qemuBuildDeviceVideoStr(const virDomainDef *def,
}
-static int
-qemuBuildVgaVideoCommand(virCommand *cmd,
- virDomainVideoDef *video,
- virQEMUCaps *qemuCaps)
-{
- const char *dev;
- const char *vgastr = qemuVideoTypeToString(video->type);
-
- if (!vgastr || STREQ(vgastr, "")) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("invalid model for video type '%s'"),
- virDomainVideoTypeToString(video->type));
- return -1;
- }
-
- virCommandAddArgList(cmd, "-vga", vgastr, NULL);
-
- /* If we cannot use --device option to specify the video device
- * in QEMU we will fallback to the old --vga option. To get the
- * correct device name for the --vga option the 'qemuVideo' is
- * used, but to set some device attributes we need to use the
- * --global option and for that we need to specify the device
- * name the same as for --device option and for that we need to
- * use 'qemuDeviceVideo'.
- *
- * See 'Graphics Devices' section in docs/qdev-device-use.txt in
- * QEMU repository.
- */
- dev = qemuDeviceVideoTypeToString(video->type);
-
- if (video->type == VIR_DOMAIN_VIDEO_TYPE_QXL &&
- (video->vram || video->ram)) {
- unsigned int ram = video->ram;
- unsigned int vram = video->vram;
- unsigned int vram64 = video->vram64;
- unsigned int vgamem = video->vgamem;
- unsigned int heads = video->heads;
-
- if (ram) {
- virCommandAddArg(cmd, "-global");
- virCommandAddArgFormat(cmd, "%s.ram_size=%u",
- dev, ram * 1024);
- }
- if (vram) {
- virCommandAddArg(cmd, "-global");
- virCommandAddArgFormat(cmd, "%s.vram_size=%u",
- dev, vram * 1024);
- }
- if (vram64 &&
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_VRAM64)) {
- virCommandAddArg(cmd, "-global");
- virCommandAddArgFormat(cmd, "%s.vram64_size_mb=%u",
- dev, vram64 / 1024);
- }
- if (vgamem &&
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_VGAMEM)) {
- virCommandAddArg(cmd, "-global");
- virCommandAddArgFormat(cmd, "%s.vgamem_mb=%u",
- dev, vgamem / 1024);
- }
- if (heads &&
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_MAX_OUTPUTS)) {
- virCommandAddArg(cmd, "-global");
- virCommandAddArgFormat(cmd, "%s.max_outputs=%u",
- dev, heads);
- }
- }
-
- if (video->vram &&
- ((video->type == VIR_DOMAIN_VIDEO_TYPE_VGA &&
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_VGA_VGAMEM)) ||
- (video->type == VIR_DOMAIN_VIDEO_TYPE_VMVGA &&
- virQEMUCapsGet(qemuCaps, QEMU_CAPS_VMWARE_SVGA_VGAMEM)))) {
- unsigned int vram = video->vram;
-
- virCommandAddArg(cmd, "-global");
- virCommandAddArgFormat(cmd, "%s.vgamem_mb=%u",
- dev, vram / 1024);
- }
-
- return 0;
-}
-
-
static char *
qemuBuildVhostUserChardevStr(const char *alias,
int *fd,
@@ -4497,34 +4413,15 @@ qemuBuildVideoCommandLine(virCommand *cmd,
if (video->type == VIR_DOMAIN_VIDEO_TYPE_NONE)
continue;
- if (video->primary) {
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VIDEO_PRIMARY)) {
-
- if (qemuCommandAddExtDevice(cmd,
- &def->videos[i]->info) < 0)
- return -1;
-
- virCommandAddArg(cmd, "-device");
-
- if (!(str = qemuBuildDeviceVideoStr(def, video, qemuCaps)))
- return -1;
-
- virCommandAddArg(cmd, str);
- } else {
- if (qemuBuildVgaVideoCommand(cmd, video, qemuCaps) < 0)
- return -1;
- }
- } else {
- if (qemuCommandAddExtDevice(cmd, &def->videos[i]->info) < 0)
- return -1;
+ if (qemuCommandAddExtDevice(cmd, &def->videos[i]->info) < 0)
+ return -1;
- virCommandAddArg(cmd, "-device");
+ virCommandAddArg(cmd, "-device");
- if (!(str = qemuBuildDeviceVideoStr(def, video, qemuCaps)))
- return -1;
+ if (!(str = qemuBuildDeviceVideoStr(def, video, qemuCaps)))
+ return -1;
- virCommandAddArg(cmd, str);
- }
+ virCommandAddArg(cmd, str);
}
return 0;
--
2.30.2