2020-10-26 19:51:31 +01:00
|
|
|
From 2919f40ac931dce5dedf326f84e83e8c04e1fabe Mon Sep 17 00:00:00 2001
|
|
|
|
From: Bruce Rogers <brogers@suse.com>
|
|
|
|
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 <brogers@suse.com>
|
|
|
|
---
|
|
|
|
virtinst/devices/graphics.py | 9 +++++++++
|
|
|
|
virtinst/support.py | 1 +
|
|
|
|
2 files changed, 10 insertions(+)
|
|
|
|
|
2020-11-16 18:09:49 +01:00
|
|
|
Index: virt-manager-3.1.0/virtinst/devices/graphics.py
|
|
|
|
===================================================================
|
|
|
|
--- virt-manager-3.1.0.orig/virtinst/devices/graphics.py
|
|
|
|
+++ virt-manager-3.1.0/virtinst/devices/graphics.py
|
2020-10-26 19:51:31 +01:00
|
|
|
@@ -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):
|
2020-11-16 18:09:49 +01:00
|
|
|
Index: virt-manager-3.1.0/virtinst/support.py
|
|
|
|
===================================================================
|
|
|
|
--- virt-manager-3.1.0.orig/virtinst/support.py
|
|
|
|
+++ virt-manager-3.1.0/virtinst/support.py
|
|
|
|
@@ -282,6 +282,7 @@ class SupportCache:
|
2020-10-26 19:51:31 +01:00
|
|
|
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=(),
|