Historically, we've always been adding a default video device onto the cmdline
whenever a graphical framebuffer was requested but a video device was missing.
With the appearance of mdev vgpus, having an emulated video device is
suboptimal, especially with spice where the streaming client will by default
open multiple windows, one for each video device (or 'head' in this case).
Therefore, we should have a mechanism to disable the 'default video device
addition' and this series does that by introducing a new video model 'none'.
This can be applied and tried independently, however, it truly only makes sense
on top of [1].
[1]
https://www.redhat.com/archives/libvir-list/2018-June/msg01740.html
Erik Skultety (5):
qemu: address: Handle all the video devices within a single loop
conf: Introduce virDomainVideoDefClear helper
conf: Introduce virDomainDefPostParseVideo helper
qemu: validate: Enforce compile time switch type checking for videos
conf: Introduce new video type 'none'
docs/formatdomain.html.in | 10 ++-
docs/schemas/domaincommon.rng | 1 +
src/conf/domain_conf.c | 86 +++++++++++++++++-----
src/conf/domain_conf.h | 4 +-
src/libvirt_private.syms | 1 +
src/qemu/qemu_command.c | 13 +++-
src/qemu/qemu_domain.c | 6 +-
src/qemu/qemu_domain_address.c | 20 +++--
tests/domaincapsschemadata/full.xml | 1 +
.../video-invalid-multiple-devices.xml | 33 +++++++++
tests/qemuxml2argvdata/video-none-device.args | 27 +++++++
tests/qemuxml2argvdata/video-none-device.xml | 39 ++++++++++
tests/qemuxml2argvtest.c | 4 +-
tests/qemuxml2xmloutdata/video-none-device.xml | 42 +++++++++++
tests/qemuxml2xmltest.c | 1 +
15 files changed, 255 insertions(+), 33 deletions(-)
create mode 100644 tests/qemuxml2argvdata/video-invalid-multiple-devices.xml
create mode 100644 tests/qemuxml2argvdata/video-none-device.args
create mode 100644 tests/qemuxml2argvdata/video-none-device.xml
create mode 100644 tests/qemuxml2xmloutdata/video-none-device.xml
--
2.14.4