From 58e68dedbe557db8150326aa24dbf309d80756eb Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Tue, 25 Apr 2023 12:24:36 +0000 Subject: [PATCH 1/4] - bsc#1201748 - virt-install --graphics vnc fails with not support for video model 'virtio' virtinst-enable-video-virtio-for-arm.patch - Drop virtman-check-for-valid-display.patch. This patch is no longer required. OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=595 --- virt-manager.changes | 13 ++++++++ virt-manager.spec | 16 ++++----- virtinst-enable-video-virtio-for-arm.patch | 38 ++++++++++++++++++++++ virtman-check-for-valid-display.patch | 20 ------------ 4 files changed, 59 insertions(+), 28 deletions(-) create mode 100644 virtinst-enable-video-virtio-for-arm.patch delete mode 100644 virtman-check-for-valid-display.patch diff --git a/virt-manager.changes b/virt-manager.changes index e2e8417c..4e4fe5ca 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Tue Apr 25 06:14:10 MDT 2023 - carnold@suse.com + +- bsc#1201748 - virt-install --graphics vnc fails with not support + for video model 'virtio' + virtinst-enable-video-virtio-for-arm.patch + +------------------------------------------------------------------- +Mon Apr 17 13:24:16 MDT 2023 - carnold@suse.com + +- Drop virtman-check-for-valid-display.patch. This patch is no + longer required. + ------------------------------------------------------------------- Thu Apr 6 15:06:51 MDT 2023 - carnold@suse.com diff --git a/virt-manager.spec b/virt-manager.spec index e8db28c7..8bd482a4 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -74,17 +74,17 @@ Patch125: virtinst-add-caasp-support.patch Patch126: virtinst-add-sle15-detection-support.patch Patch127: virtinst-add-pvh-support.patch Patch128: virtinst-media-detection.patch +Patch129: virtinst-enable-video-virtio-for-arm.patch # Bug Fixes Patch151: virtman-increase-setKeepAlive-count.patch Patch152: virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch -Patch153: virtman-check-for-valid-display.patch -Patch154: virtman-allow-creating-i686-vm.patch -Patch155: virtman-dont-specify-vte-version.patch -Patch156: virtman-dont-specify-gtksource-version.patch -Patch157: virtman-fix-restore-vm-menu-selection.patch -Patch158: virtman-disallow-adding-floppy-disk.patch -Patch159: virtman-register-delete-event-for-details-dialog.patch -Patch160: virtman-revert-use-of-AyatanaAppIndicator3.patch +Patch153: virtman-allow-creating-i686-vm.patch +Patch154: virtman-dont-specify-vte-version.patch +Patch155: virtman-dont-specify-gtksource-version.patch +Patch156: virtman-fix-restore-vm-menu-selection.patch +Patch157: virtman-disallow-adding-floppy-disk.patch +Patch158: virtman-register-delete-event-for-details-dialog.patch +Patch159: virtman-revert-use-of-AyatanaAppIndicator3.patch Patch170: virtinst-xen-drive-type.patch Patch171: virtinst-xenbus-disk-index-fix.patch Patch172: virtinst-refresh_before_fetch_pool.patch diff --git a/virtinst-enable-video-virtio-for-arm.patch b/virtinst-enable-video-virtio-for-arm.patch new file mode 100644 index 00000000..9c723af8 --- /dev/null +++ b/virtinst-enable-video-virtio-for-arm.patch @@ -0,0 +1,38 @@ +References: bsc#1201748 + +Enable video virtio on arm if domain caps reports it is supported. + +Index: virt-manager-4.1.0/virtinst/guest.py +=================================================================== +--- virt-manager-4.1.0.orig/virtinst/guest.py ++++ virt-manager-4.1.0/virtinst/guest.py +@@ -1024,7 +1024,10 @@ class Guest(XMLBuilder): + return + if (not self.os.is_x86() and + not self.os.is_pseries()): +- return ++ if (not self.os.is_arm_machvirt() or ++ not self.lookup_domcaps().supports_video_virtio()): ++ log.debug("Domain caps reports video virtio is not supported.") ++ return + self.add_device(DeviceGraphics(self.conn)) + + def _add_default_rng(self): +Index: virt-manager-4.1.0/virtinst/devices/video.py +=================================================================== +--- virt-manager-4.1.0.orig/virtinst/devices/video.py ++++ virt-manager-4.1.0/virtinst/devices/video.py +@@ -32,8 +32,11 @@ class DeviceVideo(Device): + if guest.os.is_pseries(): + return "vga" + if guest.os.is_arm_machvirt(): +- # For all cases here the hv and guest are new enough for virtio +- return "virtio" ++ if guest.lookup_domcaps().supports_video_virtio(): ++ # For all cases here the hv and guest are new enough for virtio ++ return "virtio" ++ log.debug("Domain caps reports video virtio is not supported.") ++ return "none" + if guest.os.is_riscv_virt(): + # For all cases here the hv and guest are new enough for virtio + return "virtio" diff --git a/virtman-check-for-valid-display.patch b/virtman-check-for-valid-display.patch deleted file mode 100644 index 2b610829..00000000 --- a/virtman-check-for-valid-display.patch +++ /dev/null @@ -1,20 +0,0 @@ -References: bnc#907958 -Sanity check for those who forget '-X' on ssh and try to start virt-manager -Index: virt-manager-3.3.0/virtManager/virtmanager.py -=================================================================== ---- virt-manager-3.3.0.orig/virtManager/virtmanager.py -+++ virt-manager-3.3.0/virtManager/virtmanager.py -@@ -66,8 +66,11 @@ def _import_gtk(leftovers): - print("gtk3 3.22.0 or later is required.") - sys.exit(1) - -- # This will error if Gtk wasn't correctly initialized -- Gtk.init() -+ if 'DISPLAY' in os.environ and os.environ['DISPLAY']: -+ # This will error if Gtk wasn't correctly initialized -+ Gtk.Window() -+ else: -+ raise Exception("Error starting virt-manager: No graphical display found") - globals()["Gtk"] = Gtk - - # This ensures we can init gsettings correctly From c41e678706fbfac57b5eb3cd9f159ff6802b45be Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Tue, 25 Apr 2023 12:30:14 +0000 Subject: [PATCH 2/4] You can no longer find the tarballs at the old source location. https://virt-manager.org/download/sources/virt-manager/virt-manager-%{version}.tar.gz Use this one instead. https://releases.pagure.org/virt-manager/virt-manager-%{version}.tar.gz OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=596 --- virt-manager.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/virt-manager.spec b/virt-manager.spec index 8bd482a4..b2122639 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -36,7 +36,7 @@ Summary: Virtual Machine Manager License: GPL-2.0-or-later Group: System/Monitoring URL: http://virt-manager.org/ -Source0: https://virt-manager.org/download/sources/virt-manager/virt-manager-%{version}.tar.gz +Source0: https://releases.pagure.org/virt-manager/virt-manager-%{version}.tar.gz Source1: virt-install.rb Source2: virt-install.desktop Source3: virt-manager-supportconfig From 0e35c135d5cef52784a6bc98bb77f559b5998123 Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Tue, 25 Apr 2023 14:11:35 +0000 Subject: [PATCH 3/4] Add tests for graphics on ARM to this patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=597 --- virtinst-enable-video-virtio-for-arm.patch | 135 +++++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/virtinst-enable-video-virtio-for-arm.patch b/virtinst-enable-video-virtio-for-arm.patch index 9c723af8..c2911a74 100644 --- a/virtinst-enable-video-virtio-for-arm.patch +++ b/virtinst-enable-video-virtio-for-arm.patch @@ -2,6 +2,141 @@ References: bsc#1201748 Enable video virtio on arm if domain caps reports it is supported. +Index: virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-cdrom.xml +=================================================================== +--- virt-manager-4.1.0.orig/tests/data/cli/compare/virt-install-aarch64-cdrom.xml ++++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-cdrom.xml +@@ -63,6 +63,18 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + /dev/urandom +@@ -131,6 +143,18 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + /dev/urandom +Index: virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml +=================================================================== +--- virt-manager-4.1.0.orig/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml ++++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-firmware-no-override.xml +@@ -43,6 +43,12 @@ + + + ++ ++ ++ ++ + + + /dev/urandom +@@ -95,6 +101,12 @@ + + + ++ ++ ++ ++ + + + /dev/urandom +Index: virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml +=================================================================== +--- virt-manager-4.1.0.orig/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml ++++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-kvm-gic.xml +@@ -56,6 +56,12 @@ + + + ++ ++ ++ ++ + + + /dev/urandom +Index: virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-machdefault.xml +=================================================================== +--- virt-manager-4.1.0.orig/tests/data/cli/compare/virt-install-aarch64-machdefault.xml ++++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-machdefault.xml +@@ -55,6 +55,18 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + /dev/urandom +Index: virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-machvirt.xml +=================================================================== +--- virt-manager-4.1.0.orig/tests/data/cli/compare/virt-install-aarch64-machvirt.xml ++++ virt-manager-4.1.0/tests/data/cli/compare/virt-install-aarch64-machvirt.xml +@@ -55,6 +55,18 @@ + + + ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ + + + /dev/urandom Index: virt-manager-4.1.0/virtinst/guest.py =================================================================== --- virt-manager-4.1.0.orig/virtinst/guest.py From 9ea5cedadb7a2799f7a09f2414b8a065f8481790 Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Tue, 25 Apr 2023 17:45:05 +0000 Subject: [PATCH 4/4] Fix tests to pass on ARM. Disable others because Fedora doesn't support ARM video. OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=598 --- virt-manager.spec | 3 +++ virtinst-enable-video-virtio-for-arm.patch | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/virt-manager.spec b/virt-manager.spec index b2122639..be15b25c 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -246,6 +246,9 @@ donttest="$donttest or testCLI0162virt_install" # Expectsion