mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-01-08 21:18:04 +03:00
7e3fb3f281
qxl doesn't add anything for the VNC case, and qxl is more likely to be compiled out of qemu since it is dependent on spice, so vga is the safer default for getting a working config https://bugzilla.redhat.com/show_bug.cgi?id=1833704 Signed-off-by: Cole Robinson <crobinso@redhat.com>
52 lines
1.6 KiB
Python
52 lines
1.6 KiB
Python
#
|
|
# Copyright 2009, 2013 Red Hat, Inc.
|
|
#
|
|
# This work is licensed under the GNU GPLv2 or later.
|
|
# See the COPYING file in the top-level directory.
|
|
|
|
from .device import Device
|
|
from ..xmlbuilder import XMLProperty
|
|
|
|
|
|
class DeviceVideo(Device):
|
|
XML_NAME = "video"
|
|
|
|
_XML_PROP_ORDER = ["model", "vram", "heads", "vgamem"]
|
|
model = XMLProperty("./model/@type")
|
|
vram = XMLProperty("./model/@vram", is_int=True)
|
|
vram64 = XMLProperty("./model/@vram64", is_int=True)
|
|
ram = XMLProperty("./model/@ram", is_int=True)
|
|
heads = XMLProperty("./model/@heads", is_int=True)
|
|
vgamem = XMLProperty("./model/@vgamem", is_int=True)
|
|
accel3d = XMLProperty("./model/acceleration/@accel3d", is_yesno=True)
|
|
|
|
|
|
##################
|
|
# Default config #
|
|
##################
|
|
|
|
@staticmethod
|
|
def default_model(guest):
|
|
if not guest.os.is_hvm():
|
|
return None
|
|
if guest.os.is_pseries():
|
|
return "vga"
|
|
if guest.os.is_arm_machvirt() or guest.os.is_riscv_virt():
|
|
return "virtio"
|
|
if guest.conn.is_qemu() and guest.os.is_s390x():
|
|
return "virtio"
|
|
if guest.has_spice() and guest.os.is_x86():
|
|
if guest.has_gl():
|
|
return "virtio"
|
|
return "qxl"
|
|
if (guest.is_uefi() and
|
|
guest.lookup_domcaps().supports_video_bochs()):
|
|
return "bochs"
|
|
return "vga"
|
|
|
|
def set_defaults(self, guest):
|
|
if not self.model:
|
|
self.model = self.default_model(guest)
|
|
if self.model == 'virtio' and guest.has_gl():
|
|
self.accel3d = True
|