diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c index b65d2617b8676c3f4a9212675d77dc736dd0b712..9b258acbbcecabccca935acbc1d37dd76de8e103 100644 --- a/src/libxl/libxl_conf.c +++ b/src/libxl/libxl_conf.c @@ -1741,6 +1741,17 @@ libxlMakeVideo(virDomainDefPtr def, libxl_domain_config *d_config) } break; +#ifdef LIBXL_HAVE_QXL + case VIR_DOMAIN_VIDEO_TYPE_QXL: + b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_QXL; + if (def->videos[0]->vram < 128 * 1024) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("videoram must be at least 128MB for QXL")); + return -1; + } + break; +#endif + default: virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("video type %s is not supported by libxl"), diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c index 68dd28e9c8b7d6b2463a532fb6d6a43d0f090969..c7f0ed9d292309dc61db2bc4600030688b2f9012 100644 --- a/src/libxl/libxl_domain.c +++ b/src/libxl/libxl_domain.c @@ -324,6 +324,10 @@ libxlDomainDeviceDefPostParse(virDomainDeviceDefPtr dev, dev->data.video->vram = 4 * 1024; } break; + case VIR_DOMAIN_VIDEO_TYPE_QXL: + if (dev->data.video->vram == 0) + dev->data.video->vram = 128 * 1024; + break; } }