Bug 1683681
Summary: | libvirt: Can't create ppc64 guests with graphics and no USB mouse | |||
---|---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Andrea Bolognani <abologna> | |
Component: | libvirt | Assignee: | Andrea Bolognani <abologna> | |
Status: | CLOSED ERRATA | QA Contact: | Dan Zheng <dzheng> | |
Severity: | medium | Docs Contact: | ||
Priority: | medium | |||
Version: | 8.0 | CC: | bugproxy, dzheng, gduarte, hannsj_uhl, jdenemar, jsuchane, rbalakri, yalzhang | |
Target Milestone: | rc | Keywords: | Patch, Upstream | |
Target Release: | 8.1 | Flags: | pm-rhel:
mirror+
|
|
Hardware: | ppc64 | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | libvirt-4.5.0-24.el8 | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1689815 (view as bug list) | Environment: | ||
Last Closed: | 2019-11-05 20:48:05 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: | ||||
Bug Depends On: | 1683609 | |||
Bug Blocks: | 1624641, 1689815 |
Description
Andrea Bolognani
2019-02-27 14:41:58 UTC
Patches posted upstream. https://www.redhat.com/archives/libvir-list/2019-February/msg01634.html *** Bug 1670530 has been marked as a duplicate of this bug. *** Patches merged upstream. commit 186bb479d0f409dc75175bea48a760838c479a6c Author: Andrea Bolognani <abologna> Date: Wed Feb 27 18:41:35 2019 +0100 qemu: Allow creating ppc64 guests with graphics and no USB mouse The existing behavior for ppc64 guests is to always add a USB keyboard and mouse combo if graphics are present; unfortunately, this means any attempt to use a USB tablet will cause both pointing devices to show up in the guest, which in turn will result in poor user experience. We can't just stop adding the USB mouse or start adding a USB tablet instead, because existing applications and users might rely on the current behavior; however, we can avoid adding the USB mouse if a USB tablet is already present, thus allowing users and applications to create guests that contain a single pointing device. https://bugzilla.redhat.com/show_bug.cgi?id=1683681 Signed-off-by: Andrea Bolognani <abologna> Reviewed-by: Cole Robinson <crobinso> v5.1.0-170-g186bb479d0 ------- Comment From sthoufee.com 2019-02-12 01:57 EDT------- > Removing the usb-mouse device ("-device > usb-mouse,id=input2,bus=usb.0,port=3") from the qemu command line fixes the > doubled mouse cursor issue... however, I can't find how to remove it from > libvirt... I tried using 'virsh edit' and removing the following lines from > the xml: > > <input type='mouse' bus='usb'> > <alias name='input2'/> > <address type='usb' bus='0' port='3'/> > </input> > > But libvirt doesn't seem to allow me to remove the default usb-mouse device. > > []'s > Gustavo > virsh dumpxml guest-name > guest.xml Open guest.xml in any text editor remove this line <input type='mouse' bus='usb'> <alias name='input2'/> <address type='usb' bus='0' port='3'/> </input> Enter the following on the command line to update the VM guest configuration: virsh shutdown guest-name virsh define guest.xml virsh start guest-name virsh dumpxml guest-name > guest.xml and check if <input type='mouse'..> type is removed.. Reproduce with: libvirt-4.5.0-23.module+el8.1.0+3080+f4b8ac6e.ppc64le Use below configuration to define a guest, then an usb mouse is added. <input type='tablet' bus='usb'/> <graphics type='vnc' port='-1' autoport='yes'/> # virsh dumpxml vm1 |grep input -A3 -B3 <input type='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='keyboard' bus='usb'> <address type='usb' bus='0' port='2'/> </input> <input type='mouse' bus='usb'> <address type='usb' bus='0' port='3'/> </input> <graphics type='vnc' port='-1' autoport='yes'> <listen type='address'/> </graphics> Retest with: libvirt-4.5.0-24.module+el8.1.0+3205+41ff0a42.ppc64le qemu-kvm-2.12.0-74.module+el8.1.0+3227+57d66ad3.ppc64le kernel-4.18.0-83.el8.ppc64le Use below configuration to define a guest, then no usb mouse is added. <input type='tablet' bus='usb'/> <graphics type='vnc' port='-1' autoport='yes'/> # virsh dumpxml guest |grep input -A3 -B3 <input type='tablet' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <input type='keyboard' bus='usb'> <address type='usb' bus='0' port='2'/> </input> <graphics type='vnc' port='-1' autoport='yes'> <listen type='address'/> </graphics> Scenario 2: 1. Guest already has below setting. <input type='keyboard' bus='usb'> <address type='usb' bus='0' port='2'/> </input> <input type='mouse' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <graphics type='vnc' port='-1' autoport='yes'> <listen type='address'/> </graphics> 2. User adds a tablet to the guest and save. <input type='tablet' bus='usb'/> 3. Then the guest will be like below, the usb mouse is not removed. <input type='tablet' bus='usb'> <address type='usb' bus='0' port='3'/> </input> <input type='keyboard' bus='usb'> <address type='usb' bus='0' port='2'/> </input> <input type='mouse' bus='usb'> <address type='usb' bus='0' port='1'/> </input> <graphics type='vnc' port='-1' autoport='yes'> <listen type='address'/> </graphics> I think the usb mouse should be removed for better user experience because the user may also encounters the double pointer issue in this situation. What do you think about? Andrea? (In reply to Dan Zheng from comment #11) > Scenario 2: > > 1. Guest already has below setting. > <input type='keyboard' bus='usb'> > <address type='usb' bus='0' port='2'/> > </input> > <input type='mouse' bus='usb'> > <address type='usb' bus='0' port='1'/> > </input> > <graphics type='vnc' port='-1' autoport='yes'> > <listen type='address'/> > </graphics> > 2. User adds a tablet to the guest and save. > <input type='tablet' bus='usb'/> > 3. Then the guest will be like below, the usb mouse is not removed. > > <input type='tablet' bus='usb'> > <address type='usb' bus='0' port='3'/> > </input> > <input type='keyboard' bus='usb'> > <address type='usb' bus='0' port='2'/> > </input> > <input type='mouse' bus='usb'> > <address type='usb' bus='0' port='1'/> > </input> > <graphics type='vnc' port='-1' autoport='yes'> > <listen type='address'/> > </graphics> > I think the usb mouse should be removed for better user experience because > the user may also encounters > the double pointer issue in this situation. What do you think about? Andrea? While I agree that having both input devices results in a pretty poor user experience, we can't really go ahead and remove an existing device that, for all we know, has been explicitly added by the user. So the current behavior, while unfortunate, is correct and expected. --- Something that I should try again is running a graphical guest with both a tablet and a mouse on all architectures and compare behaviors. I seem to recall x86 was dealing with that much better than other architectures, basically ignoring the mouse and using the tablet only, possibly as a consequence of the mouse being a built-in PS/2 device and the tablet being a USB one - which is not the case on any other architecture. Perhaps there is a way to convince the display server to give priority to the tablet when both it and a mouse are present? That'd be cool. OK. As to the existing device, users should know what they really want. So I agree. Then I mark this bug verified. ------- Comment From hannsj_uhl.com 2019-07-18 04:40 EDT------- . Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2019:3345 |