diff --git a/virt-manager.changes b/virt-manager.changes index 2ee67fc1..013132c3 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Sun Oct 25 02:34:44 UTC 2020 - Bruce Rogers + +- boo#1178141 - Accomodate qemu modularization with respect to + spice and spice related optional modules. If full spice support + is not detected due to missing qemu modules (v5.1 qemu and newer), + use vnc as the default install-time graphics type used + ------------------------------------------------------------------- Fri Oct 23 13:25:38 MDT 2020 - carnold@suse.com diff --git a/virt-manager.spec b/virt-manager.spec index ab88c025..a69eae42 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -52,6 +52,7 @@ Patch126: virtinst-add-caasp-support.patch Patch127: virtinst-add-sle15-detection-support.patch Patch128: virtinst-add-pvh-support.patch Patch129: virtinst-media-detection.patch +Patch130: virtinst-graphics-add-check-for-qemu-modules-in-spice-graphic.patch # Bug Fixes Patch151: virtman-increase-setKeepAlive-count.patch Patch152: virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch @@ -175,6 +176,7 @@ machine). %patch127 -p1 %patch128 -p1 %patch129 -p1 +%patch130 -p1 # Bug Fixes %patch151 -p1 %patch152 -p1 diff --git a/virtinst-graphics-add-check-for-qemu-modules-in-spice-graphic.patch b/virtinst-graphics-add-check-for-qemu-modules-in-spice-graphic.patch new file mode 100644 index 00000000..3d43c429 --- /dev/null +++ b/virtinst-graphics-add-check-for-qemu-modules-in-spice-graphic.patch @@ -0,0 +1,57 @@ +From 2919f40ac931dce5dedf326f84e83e8c04e1fabe Mon Sep 17 00:00:00 2001 +From: Bruce Rogers +Date: Sat, 24 Oct 2020 08:10:29 -0600 +Subject: [PATCH] graphics: add check for qemu modules in spice graphics + detection + +For SLE and openSUSE qemu, starting with v5.1, spice and spice related +qemu modules have been split away from the main system emulator and +are packaged as Recommends, meaning that they may not be present. +Up to now virt-manager has assumed spice is available for x86 qemu, but +that is no longer the case. Unfortunately the standard libvirt feature +detection can't yet help us out here, so we leapfrog libvirt by doing +our own detection of whether the qemu modules needed to support the +default guest install using spice, usb redirection, and qxl video are +present. + +Signed-off-by: Bruce Rogers +--- + virtinst/devices/graphics.py | 9 +++++++++ + virtinst/support.py | 1 + + 2 files changed, 10 insertions(+) + +diff --git a/virtinst/devices/graphics.py b/virtinst/devices/graphics.py +index a514b455..f5083e68 100644 +--- a/virtinst/devices/graphics.py ++++ b/virtinst/devices/graphics.py +@@ -135,6 +135,15 @@ class DeviceGraphics(Device): + # Spice has issues on some host arches, like ppc, so allow it + if self.conn.caps.host.cpu.arch not in ["i686", "x86_64"]: + return False ++ if self.conn.support.conn_spice_modular(): ++ if self.conn.caps.host.cpu.arch in ["x86_64"]: ++ if not (os.path.exists("/usr/lib64/qemu/hw-usb-redirect.so") and ++ os.path.exists("/usr/lib64/qemu/hw-display-qxl.so")): ++ return False ++ else: ++ if not (os.path.exists("/usr/lib/qemu/hw-usb-redirect.so") and ++ os.path.exists("/usr/lib/qemu/hw-display-qxl.so")): ++ return False + return True + + def _listen_need_port(self): +diff --git a/virtinst/support.py b/virtinst/support.py +index de73629e..29dad32b 100644 +--- a/virtinst/support.py ++++ b/virtinst/support.py +@@ -281,6 +281,7 @@ class SupportCache: + conn_disk_driver_name_qemu = _make( + hv_version={"qemu": 0, "xen": "4.2.0"}, + hv_libvirt_version={"qemu": 0, "xen": "1.1.0"}) ++ conn_spice_modular = _make(hv_version={"qemu": "5.1.0", "test": 0}) + + # Domain checks + domain_xml_inactive = _make(function="virDomain.XMLDesc", run_args=(), +-- +2.29.0 +