Policy change: pick Standard_VGA over either QXL or Cirrus for the video type in the output (Windows) domain, always.
If the subject Windows version is entirely unsupported by "virtio-win.iso", continue warning the user, as IDE and RTL8139 are still considered inferior to virtio-blk and virtio-net, respectively. No warning is needed when only the QXL driver is missing for the subject Windows version, as Standard_VGA is not worse than QXL. Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1961107 Signed-off-by: Laszlo Ersek <[email protected]> --- Notes: v1: - Reimplement the RFC patch "convert/windows_virtio: flip default target display to Standard_VGA" on top of commit b28cd1dcfeb4 ("Remove requested_guestcaps / rcaps", 2021-11-08) [Rich] - The test cases listed previously (below, under "RFC") no longer break. RFC: - This patch breaks the following test cases: - test-v2v-o-glance.sh - test-v2v-o-json.sh - test-v2v-o-openstack.sh That's because we still have the initial "assert false" expressions for Standard_VGA in the OpenStack and JSON (... and OVF) producers, from patch 'lib/types: introduce "Standard_VGA" constructor for "guestcaps_video_type'. convert/windows_virtio.ml | 18 ++---------------- tests/test-v2v-i-ova.xml | 2 +- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml index 08db4ad6995c..77aeac2d4a9f 100644 --- a/convert/windows_virtio.ml +++ b/convert/windows_virtio.ml @@ -53,7 +53,7 @@ let rec install_drivers ((g, _) as reg) inspect = warning (f_"there are no virtio drivers available for this version of Windows (%d.%d %s %s). virt-v2v looks for drivers in %s\n\nThe guest will be configured to use slower emulated devices.") inspect.i_major_version inspect.i_minor_version inspect.i_arch inspect.i_product_variant virtio_win; - (IDE, RTL8139, Cirrus, false, false, false, false) + (IDE, RTL8139, Standard_VGA, false, false, false, false) ) else ( (* Can we install the block driver? *) @@ -103,27 +103,13 @@ let rec install_drivers ((g, _) as reg) inspect = else Virtio_net in - (* Can we install the QXL driver? *) - let video : guestcaps_video_type = - let has_qxl = - g#exists (driverdir // "qxl.inf") || - g#exists (driverdir // "qxldod.inf") in - if not has_qxl then ( - warning (f_"there is no QXL driver for this version of Windows (%d.%d %s). virt-v2v looks for this driver in %s\n\nThe guest will be configured to use a basic VGA display driver.") - inspect.i_major_version inspect.i_minor_version - inspect.i_arch virtio_win; - Cirrus - ) - else - QXL in - (* Did we install the miscellaneous drivers? *) let virtio_rng_supported = g#exists (driverdir // "viorng.inf") in let virtio_ballon_supported = g#exists (driverdir // "balloon.inf") in let isa_pvpanic_supported = g#exists (driverdir // "pvpanic.inf") in let virtio_socket_supported = g#exists (driverdir // "viosock.inf") in - (block, net, video, + (block, net, Standard_VGA, virtio_rng_supported, virtio_ballon_supported, isa_pvpanic_supported, virtio_socket_supported) ) diff --git a/tests/test-v2v-i-ova.xml b/tests/test-v2v-i-ova.xml index 30f52f557d9f..d7383905fdc0 100644 --- a/tests/test-v2v-i-ova.xml +++ b/tests/test-v2v-i-ova.xml @@ -39,7 +39,7 @@ <model type='virtio'/> </interface> <video> - <model type='qxl' ram='65536' heads='1'/> + <model type='vga' vram='16384' heads='1'/> </video> <graphics type='vnc' autoport='yes' port='-1'/> <rng model='virtio'> -- 2.19.1.3.g30247aa5d201 _______________________________________________ Libguestfs mailing list [email protected] https://listman.redhat.com/mailman/listinfo/libguestfs
