Bug 1833704

Summary: virt-install: qxl fall-back graphics when vnc is selected
Product: [Community] Virtualization Tools Reporter: Auyit6qu <kjift14>
Component: virt-managerAssignee: Cole Robinson <crobinso>
Status: CLOSED NEXTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: berrange, crobinso, gscrivan, mhicks
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-08-31 19:47:51 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Auyit6qu 2020-05-09 20:54:27 UTC
Description of problem:
I run virt-install on a headless machine and want to connect to it from a desktop via VNC in LAN. virt-install dies with an error message about missing qxl, although VNC has been selected as graphics method.

Apparently, explicitly choosing VNC as connection method does not disable qxl.


Version-Release number of selected component (if applicable):
virt-manager-2.2.1-r3 (Gentoo Portage)


How reproducible:
Always


Steps to Reproduce:
1. Install QEMU-4.2.0-r6, libvirt-6.0.0-r3, virt-manager-2.2.1-r3 on a Gentoo machine (virt-viewer not installed). Given the contents of the video.py script mentioned below, probably many more systems are affected (identical code at least in Debian Stable).
2. virt-install --graphics vnc,listen=0.0.0.0 [[other options to virt-install]] --cdrom slackware64-current-mini-install.iso


Actual results:
ERROR    Nicht unterstützte Konfiguration: domain configuration does not support 'video model' value 'qxl'

(error message won't turn to English even with export LC_ALL=C)



Expected results:
If --graphics vnc is given, don't try to enable qxl, so that VNC server can start.



Additional info:
Quick workaround: Edit /usr/share/virt-manager/virtinst/devices/video.py to replace the two occurrences of "qxl" in this file by "virtio", and then the installation started. I suspect the assumption that guest.os.is_hvm() && uest.conn.is_qemu() == "qxl" is too strong.

Comment 1 Cole Robinson 2020-08-31 19:47:51 UTC
Thanks for the report. Fixed upstream now:

commit 7e3fb3f281835ba6779886a89b27376cc423ef94
Author: Cole Robinson <crobinso>
Date:   Mon Aug 31 13:43:56 2020 -0400

    graphics: Default to 'vga' instead of 'qxl' for non-spice
    
    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