File virtinst-set-qemu-emulator.patch of Package virt-manager.2133

Use the correct qemu emulator based on the architecture.
We want to get away from using the old qemu-dm emulator
for Xen HVM guests so default to qemu-system-i386.
Index: virt-manager-1.2.1/virtinst/guest.py
===================================================================
--- virt-manager-1.2.1.orig/virtinst/guest.py
+++ virt-manager-1.2.1/virtinst/guest.py
@@ -19,6 +19,7 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 # MA 02110-1301 USA.
 
+import os
 import logging
 
 import urlgrabber.progress as progress
@@ -810,14 +811,32 @@ class Guest(XMLBuilder):
             self.emulator = None
             return
 
-        if self.emulator:
+        if self.emulator and self.conn.is_remote():
             return
 
-        if self.os.is_hvm() and self.type == "xen":
-            if self.conn.caps.host.cpu.arch == "x86_64":
-                self.emulator = "/usr/lib64/xen/bin/qemu-dm"
+        if self.conn.is_qemu():
+            if self.os.arch == "s390x":
+                preferred_emulator = "/usr/bin/qemu-system-s390x"
+            elif self.os.arch == "ppc64" or self.os.arch == "ppc64le":
+                preferred_emulator = "/usr/bin/qemu-system-ppc64"
             else:
-                self.emulator = "/usr/lib/xen/bin/qemu-dm"
+                preferred_emulator = "/usr/bin/qemu-system-x86_64"
+        elif self.conn.is_lxc():
+            preferred_emulator = "/usr/lib/libvirt/libvirt_lxc"
+            if not os.path.exists(preferred_emulator):
+                preferred_emulator = "/usr/lib64/libvirt/libvirt_lxc"
+        else:
+            preferred_emulator = "/usr/lib/xen/bin/qemu-system-i386"
+        if self.emulator and self.emulator == preferred_emulator:
+            return
+
+        if os.path.exists(preferred_emulator):
+            self.emulator = preferred_emulator
+        elif self.os.is_hvm() and self.type == "xen":
+            # We don't want to use the old qemu-dm for xen
+            self.emulator = "/usr/lib/xen/bin/qemu-system-i386"
+        elif not self.emulator:
+            self.emulator = "/usr/bin/qemu-kvm"
 
     def _set_cpu_defaults(self):
         self.cpu.set_topology_defaults(self.vcpus)
openSUSE Build Service is sponsored by