diff options
Diffstat (limited to 'pkgs/applications/virtualization/xen/0003-Add-qxl-vga-interface-support-for-upstream-qem.patch')
| -rw-r--r-- | pkgs/applications/virtualization/xen/0003-Add-qxl-vga-interface-support-for-upstream-qem.patch | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/pkgs/applications/virtualization/xen/0003-Add-qxl-vga-interface-support-for-upstream-qem.patch b/pkgs/applications/virtualization/xen/0003-Add-qxl-vga-interface-support-for-upstream-qem.patch deleted file mode 100644 index 1771b662bc3a..000000000000 --- a/pkgs/applications/virtualization/xen/0003-Add-qxl-vga-interface-support-for-upstream-qem.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 161212ef02312c0681d2d809c8ff1e1f0ea6f6f9 Mon Sep 17 00:00:00 2001 -From: Fabio Fantoni <fabio.fantoni@m2r.biz> -Date: Wed, 29 Apr 2015 11:20:28 +0200 -Subject: [PATCH] libxl: Add qxl vga interface support for upstream qemu - -Usage: -vga="qxl" - -Qxl vga support many resolutions that not supported by stdvga, -mainly the 16:9 ones and other high up to 2560x1600. -With QXL you can get improved performance and smooth video also -with high resolutions and high quality. -Require their drivers installed in the domU and spice used -otherwise act as a simple stdvga. - -Signed-off-by: Fabio Fantoni <fabio.fantoni@m2r.biz> -Signed-off-by: Zhou Peng <zpengxen@gmail.com> -Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> -Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> -Acked-by: George Dunlap <george.dunlap@eu.citrix.com> ---- - docs/man/xl.cfg.pod.5 | 10 +++++++++- - tools/libxl/libxl.h | 10 ++++++++++ - tools/libxl/libxl_create.c | 13 +++++++++++++ - tools/libxl/libxl_dm.c | 8 ++++++++ - tools/libxl/libxl_types.idl | 1 + - tools/libxl/xl_cmdimpl.c | 2 ++ - 6 files changed, 43 insertions(+), 1 deletion(-) - -diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 -index f936dfc..8e4154f 100644 ---- a/docs/man/xl.cfg.pod.5 -+++ b/docs/man/xl.cfg.pod.5 -@@ -1360,6 +1360,9 @@ qemu-xen-traditional device-model, the amount of video RAM is fixed at 4 MB, - which is sufficient for 1024x768 at 32 bpp. For the upstream qemu-xen - device-model, the default and minimum is 8 MB. - -+For B<qxl> vga, the default is both default and minimal 128MB. -+If B<videoram> is set less than 128MB, an error will be triggered. -+ - =item B<stdvga=BOOLEAN> - - Select a standard VGA card with VBE (VESA BIOS Extensions) as the -@@ -1371,9 +1374,14 @@ This option is deprecated, use vga="stdvga" instead. - - =item B<vga="STRING"> - --Selects the emulated video card (none|stdvga|cirrus). -+Selects the emulated video card (none|stdvga|cirrus|qxl). - The default is cirrus. - -+In general, QXL should work with the Spice remote display protocol -+for acceleration, and QXL driver is necessary in guest in this case. -+QXL can also work with the VNC protocol, but it will be like a standard -+VGA without acceleration. -+ - =item B<vnc=BOOLEAN> - - Allow access to the display via the VNC protocol. This enables the -diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h -index 44bd8e2..efc0617 100644 ---- a/tools/libxl/libxl.h -+++ b/tools/libxl/libxl.h -@@ -535,6 +535,16 @@ typedef struct libxl__ctx libxl_ctx; - #define LIBXL_HAVE_DOMINFO_OUTSTANDING_MEMKB 1 - - /* -+ * LIBXL_HAVE_QXL -+ * -+ * If defined, then the libxl_vga_interface_type will contain another value: -+ * "QXL". This value define if qxl vga is supported. -+ * -+ * If this is not defined, the qxl vga support is missed. -+ */ -+#define LIBXL_HAVE_QXL 1 -+ -+/* - * LIBXL_HAVE_SPICE_VDAGENT - * - * If defined, then the libxl_spice_info structure will contain a boolean type: -diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c -index e5a343f..188f7df 100644 ---- a/tools/libxl/libxl_create.c -+++ b/tools/libxl/libxl_create.c -@@ -248,6 +248,10 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, - if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT) - b_info->video_memkb = 0; - break; -+ case LIBXL_VGA_INTERFACE_TYPE_QXL: -+ LOG(ERROR,"qemu upstream required for qxl vga"); -+ return ERROR_INVAL; -+ break; - case LIBXL_VGA_INTERFACE_TYPE_STD: - if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT) - b_info->video_memkb = 8 * 1024; -@@ -272,6 +276,15 @@ int libxl__domain_build_info_setdefault(libxl__gc *gc, - if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT) - b_info->video_memkb = 0; - break; -+ case LIBXL_VGA_INTERFACE_TYPE_QXL: -+ if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT) { -+ b_info->video_memkb = (128 * 1024); -+ } else if (b_info->video_memkb < (128 * 1024)) { -+ LOG(ERROR, -+ "128 Mib videoram is the minimum for qxl default"); -+ return ERROR_INVAL; -+ } -+ break; - case LIBXL_VGA_INTERFACE_TYPE_STD: - if (b_info->video_memkb == LIBXL_MEMKB_DEFAULT) - b_info->video_memkb = 16 * 1024; -diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c -index 30c1578..58c9b99 100644 ---- a/tools/libxl/libxl_dm.c -+++ b/tools/libxl/libxl_dm.c -@@ -251,6 +251,8 @@ static char ** 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_QXL: -+ break; - } - - if (b_info->u.hvm.boot) { -@@ -625,6 +627,12 @@ static char ** libxl__build_device_model_args_new(libxl__gc *gc, - break; - case LIBXL_VGA_INTERFACE_TYPE_NONE: - break; -+ case LIBXL_VGA_INTERFACE_TYPE_QXL: -+ /* QXL have 2 ram regions, ram and vram */ -+ flexarray_append_pair(dm_args, "-device", -+ GCSPRINTF("qxl-vga,vram_size_mb=%"PRIu64",ram_size_mb=%"PRIu64, -+ (b_info->video_memkb/2/1024), (b_info->video_memkb/2/1024) ) ); -+ break; - } - - if (b_info->u.hvm.boot) { -diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl -index 117b61d..023b21e 100644 ---- a/tools/libxl/libxl_types.idl -+++ b/tools/libxl/libxl_types.idl -@@ -183,6 +183,7 @@ libxl_vga_interface_type = Enumeration("vga_interface_type", [ - (1, "CIRRUS"), - (2, "STD"), - (3, "NONE"), -+ (4, "QXL"), - ], init_val = "LIBXL_VGA_INTERFACE_TYPE_CIRRUS") - - libxl_vendor_device = Enumeration("vendor_device", [ -diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c -index 648ca08..526a1f6 100644 ---- a/tools/libxl/xl_cmdimpl.c -+++ b/tools/libxl/xl_cmdimpl.c -@@ -2115,6 +2115,8 @@ skip_vfb: - b_info->u.hvm.vga.kind = LIBXL_VGA_INTERFACE_TYPE_CIRRUS; - } else if (!strcmp(buf, "none")) { - 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 { - fprintf(stderr, "Unknown vga \"%s\" specified\n", buf); - exit(1); --- -1.9.2 - |
