virt-manager/virtinst-enable-video-virtio-for-arm.patch

182 lines
7.0 KiB
Diff

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 @@
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
+ <channel type="spicevmc">
+ <target type="virtio" name="com.redhat.spice.0"/>
+ </channel>
+ <input type="tablet" bus="usb"/>
+ <input type="keyboard" bus="usb"/>
+ <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
+ <image compression="off"/>
+ </graphics>
+ <sound model="ich9"/>
+ <video>
+ <model type="virtio"/>
+ </video>
<memballoon model="virtio"/>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
@@ -131,6 +143,18 @@
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
+ <channel type="spicevmc">
+ <target type="virtio" name="com.redhat.spice.0"/>
+ </channel>
+ <input type="tablet" bus="usb"/>
+ <input type="keyboard" bus="usb"/>
+ <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
+ <image compression="off"/>
+ </graphics>
+ <sound model="ich9"/>
+ <video>
+ <model type="virtio"/>
+ </video>
<memballoon model="virtio"/>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
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 @@
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
+ <input type="tablet" bus="usb"/>
+ <input type="keyboard" bus="usb"/>
+ <graphics type="vnc" port="-1"/>
+ <video>
+ <model type="virtio"/>
+ </video>
<memballoon model="virtio"/>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
@@ -95,6 +101,12 @@
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
+ <input type="tablet" bus="usb"/>
+ <input type="keyboard" bus="usb"/>
+ <graphics type="vnc" port="-1"/>
+ <video>
+ <model type="virtio"/>
+ </video>
<memballoon model="virtio"/>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
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 @@
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
+ <input type="tablet" bus="usb"/>
+ <input type="keyboard" bus="usb"/>
+ <graphics type="vnc" port="-1"/>
+ <video>
+ <model type="virtio"/>
+ </video>
<memballoon model="virtio"/>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
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 @@
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
+ <channel type="spicevmc">
+ <target type="virtio" name="com.redhat.spice.0"/>
+ </channel>
+ <input type="tablet" bus="usb"/>
+ <input type="keyboard" bus="usb"/>
+ <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
+ <image compression="off"/>
+ </graphics>
+ <sound model="ich9"/>
+ <video>
+ <model type="virtio"/>
+ </video>
<memballoon model="virtio"/>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
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 @@
<source mode="bind"/>
<target type="virtio" name="org.qemu.guest_agent.0"/>
</channel>
+ <channel type="spicevmc">
+ <target type="virtio" name="com.redhat.spice.0"/>
+ </channel>
+ <input type="tablet" bus="usb"/>
+ <input type="keyboard" bus="usb"/>
+ <graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
+ <image compression="off"/>
+ </graphics>
+ <sound model="ich9"/>
+ <video>
+ <model type="virtio"/>
+ </video>
<memballoon model="virtio"/>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
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
@@ -1029,7 +1029,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
@@ -6,6 +6,7 @@
from .device import Device
from ..xmlbuilder import XMLProperty
+from ..logger import log
class DeviceVideo(Device):
@@ -32,8 +33,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"