@@ -2396,7 +2396,7 @@ B<This option is deprecated, use vga="stdvga" instead>.
=item B<vga="STRING">
Selects the emulated video card.
-Options are: B<none>, B<stdvga>, B<cirrus> and B<qxl>.
+Options are: B<none>, B<stdvga>, B<cirrus>, B<vmware> and B<qxl>.
The default is B<cirrus>.
In general, QXL should work with the Spice remote display protocol
@@ -2404,6 +2404,8 @@ for acceleration, and a QXL driver is necessary in the guest in that case.
QXL can also work with the VNC protocol, but it will be like a standard
VGA card without acceleration.
+NOTE: B<vmware> is not supported on B<device_model_version = "qemu-xen-traditional">
+
=item B<vnc=BOOLEAN>
Allow access to the display via the VNC protocol. This enables the
@@ -808,6 +808,10 @@ static int libxl__build_device_model_args_old(libxl__gc *gc,
case LIBXL_VGA_INTERFACE_TYPE_NONE:
flexarray_append_pair(dm_args, "-vga", "none");
break;
+ case LIBXL_VGA_INTERFACE_TYPE_VMWARE:
+ LOG(ERROR, "vga=vmware is not supported by "
+ "qemu-xen-traditional");
+ return ERROR_INVAL;
case LIBXL_VGA_INTERFACE_TYPE_QXL:
break;
default:
@@ -1446,6 +1450,11 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
GCSPRINTF("qxl-vga,vram_size_mb=%"PRIu64",ram_size_mb=%"PRIu64,
(b_info->video_memkb/2/1024), (b_info->video_memkb/2/1024) ) );
break;
+ case LIBXL_VGA_INTERFACE_TYPE_VMWARE:
+ flexarray_append_pair(dm_args, "-device",
+ GCSPRINTF("vmware-svga,vgamem_mb=%d",
+ libxl__sizekb_to_mb(b_info->video_memkb)));
+ break;
default:
LOGD(ERROR, guest_domid, "Invalid emulated video card specified");
return ERROR_INVAL;
@@ -220,6 +220,7 @@ libxl_vga_interface_type = Enumeration("vga_interface_type", [
(2, "STD"),
(3, "NONE"),
(4, "QXL"),
+ (5, "VMWARE"),
], init_val = "LIBXL_VGA_INTERFACE_TYPE_UNKNOWN")
libxl_vendor_device = Enumeration("vendor_device", [
@@ -2590,6 +2590,8 @@ skip_usbdev:
b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_NONE;
} else if (!strcmp(buf, "qxl")) {
b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_QXL;
+ } else if (!strcmp(buf, "vmware")) {
+ b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_VMWARE;
} else {
fprintf(stderr, "Unknown vga \"%s\" specified\n", buf);
exit(1);