mirror of
https://github.com/virt-manager/virt-manager.git
synced 2024-12-23 17:34:21 +03:00
virtinst: use virtio if spice+gl
Use virtio+accel3d by default whenever spice+gl is chosen. This allows to easily set up accelerated gpu VM. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
This commit is contained in:
parent
8ba48f5299
commit
ea1bd169c1
70
tests/cli-test-xml/compare/virt-install-spice-gl.xml
Normal file
70
tests/cli-test-xml/compare/virt-install-spice-gl.xml
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
<domain type="kvm">
|
||||||
|
<name>foobar</name>
|
||||||
|
<uuid>00000000-1111-2222-3333-444444444444</uuid>
|
||||||
|
<memory>1048576</memory>
|
||||||
|
<currentMemory>1048576</currentMemory>
|
||||||
|
<vcpu>1</vcpu>
|
||||||
|
<os>
|
||||||
|
<type arch="x86_64">hvm</type>
|
||||||
|
<boot dev="hd"/>
|
||||||
|
</os>
|
||||||
|
<features>
|
||||||
|
<acpi/>
|
||||||
|
<apic/>
|
||||||
|
<vmport state="off"/>
|
||||||
|
</features>
|
||||||
|
<cpu mode="custom" match="exact">
|
||||||
|
<model>Opteron_G4</model>
|
||||||
|
</cpu>
|
||||||
|
<clock offset="utc">
|
||||||
|
<timer name="rtc" tickpolicy="catchup"/>
|
||||||
|
<timer name="pit" tickpolicy="delay"/>
|
||||||
|
<timer name="hpet" present="no"/>
|
||||||
|
</clock>
|
||||||
|
<on_poweroff>destroy</on_poweroff>
|
||||||
|
<on_reboot>restart</on_reboot>
|
||||||
|
<on_crash>restart</on_crash>
|
||||||
|
<pm>
|
||||||
|
<suspend-to-mem enabled="no"/>
|
||||||
|
<suspend-to-disk enabled="no"/>
|
||||||
|
</pm>
|
||||||
|
<devices>
|
||||||
|
<emulator>/usr/bin/qemu-kvm</emulator>
|
||||||
|
<controller type="usb" index="0" model="ich9-ehci1"/>
|
||||||
|
<controller type="usb" index="0" model="ich9-uhci1">
|
||||||
|
<master startport="0"/>
|
||||||
|
</controller>
|
||||||
|
<controller type="usb" index="0" model="ich9-uhci2">
|
||||||
|
<master startport="2"/>
|
||||||
|
</controller>
|
||||||
|
<controller type="usb" index="0" model="ich9-uhci3">
|
||||||
|
<master startport="4"/>
|
||||||
|
</controller>
|
||||||
|
<interface type="bridge">
|
||||||
|
<source bridge="eth0"/>
|
||||||
|
<mac address="00:11:22:33:44:55"/>
|
||||||
|
<model type="virtio"/>
|
||||||
|
</interface>
|
||||||
|
<input type="tablet" bus="usb"/>
|
||||||
|
<graphics type="spice" port="-1" tlsPort="-1" autoport="yes">
|
||||||
|
<gl enable="yes"/>
|
||||||
|
<image compression="off"/>
|
||||||
|
</graphics>
|
||||||
|
<console type="pty"/>
|
||||||
|
<channel type="unix">
|
||||||
|
<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>
|
||||||
|
<sound model="ich6"/>
|
||||||
|
<video>
|
||||||
|
<model type="virtio">
|
||||||
|
<acceleration accel3d="yes"/>
|
||||||
|
</model>
|
||||||
|
</video>
|
||||||
|
<redirdev bus="usb" type="spicevmc"/>
|
||||||
|
<redirdev bus="usb" type="spicevmc"/>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
@ -529,6 +529,13 @@ c.add_compare(""" \
|
|||||||
""", "many-devices", compare_check=support.SUPPORT_CONN_RBD_FORMAT)
|
""", "many-devices", compare_check=support.SUPPORT_CONN_RBD_FORMAT)
|
||||||
|
|
||||||
|
|
||||||
|
c.add_compare(""" \
|
||||||
|
--memory 1024 \
|
||||||
|
--disk none \
|
||||||
|
--graphics spice,gl=yes \
|
||||||
|
""", "spice-gl", compare_check=support.SUPPORT_CONN_VMPORT)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
####################################################
|
####################################################
|
||||||
# CPU/RAM/numa and other singleton VM config tests #
|
# CPU/RAM/numa and other singleton VM config tests #
|
||||||
|
@ -1183,6 +1183,11 @@ class Guest(XMLBuilder):
|
|||||||
if gfx.type == gfx.TYPE_SPICE:
|
if gfx.type == gfx.TYPE_SPICE:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def has_gl(self):
|
||||||
|
for gfx in self.get_devices("graphics"):
|
||||||
|
if gfx.gl:
|
||||||
|
return True
|
||||||
|
|
||||||
def _set_video_defaults(self):
|
def _set_video_defaults(self):
|
||||||
if self.has_spice():
|
if self.has_spice():
|
||||||
self._add_spice_channels()
|
self._add_spice_channels()
|
||||||
@ -1196,3 +1201,5 @@ class Guest(XMLBuilder):
|
|||||||
for video in self.get_devices("video"):
|
for video in self.get_devices("video"):
|
||||||
if video.model == video.MODEL_DEFAULT:
|
if video.model == video.MODEL_DEFAULT:
|
||||||
video.model = video_model
|
video.model = video_model
|
||||||
|
if video.model == 'virtio' and self.has_gl():
|
||||||
|
video.accel3d = True
|
||||||
|
@ -522,6 +522,9 @@ class _OsVariant(object):
|
|||||||
return "vmvga"
|
return "vmvga"
|
||||||
|
|
||||||
if guest.has_spice() and guest.os.is_x86():
|
if guest.has_spice() and guest.os.is_x86():
|
||||||
|
if guest.has_gl():
|
||||||
|
return "virtio"
|
||||||
|
else:
|
||||||
return "qxl"
|
return "qxl"
|
||||||
|
|
||||||
if self.is_windows():
|
if self.is_windows():
|
||||||
|
Loading…
Reference in New Issue
Block a user