summaryrefslogtreecommitdiff
path: root/pkgs/applications/virtualization/xen/0003-Add-qxl-vga-interface-support-for-upstream-qem.patch
diff options
context:
space:
mode:
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.patch165
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
-