Bug 987312
| Summary: | Display mess when boot guest w/ multiple display devices | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Qian Guo <qiguo> |
| Component: | qemu-kvm-rhev | Assignee: | Gerd Hoffmann <kraxel> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | 7.0 | CC: | chayang, juzhang, knoel, kraxel, lmiksik, mazhang, michen, mrezanin, qiguo, rbalakri, tlavigne, virt-maint, xwei |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | qemu-2.3 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-12-04 16:13:33 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: | |||
| Attachments: | |||
|
Description
Qian Guo
2013-07-23 08:34:30 UTC
When boot guest only w/ ... -device qxl,id=video1,ram_size=67108864,vram_size=67108864 ... and spice, when launch guest, will automatically remote-viewer 2 spice clients. Mixing qxl and non-qxl doesn't work today. Improving multihead support upstream should fix that, but that isn't going to happen that quickly, targeting 7.0 isn't realistic. *** Bug 1048654 has been marked as a duplicate of this bug. *** (In reply to Gerd Hoffmann from comment #4) > Mixing qxl and non-qxl doesn't work today. Improving multihead support > upstream should fix that, but that isn't going to happen that quickly, > targeting 7.0 isn't realistic. Hi, Gerd I just test this with qemu-kvm-rhev-2.1.0-2.el7.x86_64 Found that it is not fixed, followings are my tests, if I mis understood you please feel free to fix me: a.Test vnc + -vga std + -device qxl : 1.Boot RHEL7.0 GA guest: # /usr/libexec/qemu-kvm -M pc -cpu Penryn -m 6G -smp 4,sockets=1,cores=4,threads=1 -enable-kvm -nodefaults -nodefconfig -drive file=/home/rhel7/sn1.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,werror=stop,rerror=stop,aio=native -device virtio-scsi-pci,id=virtio-disk0, -device scsi-hd,bus=virtio-disk0.0,drive=drive-virtio-disk0,id=scsi-hd1 -vnc :10 -device qxl,id=video1,vram_size=67108864 -monitor stdio -netdev tap,id=vnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=vnet0,mac=54:52:1a:0b:c2:01,id=vnic1 -boot menu=on -qmp tcp:0:4444,server,nowait -vga std -serial unix:/tmp/s1,server,nowait Result: Use remote-viewer to display, GUI can not be displayed, I will attach the Xorg.0.log b).Test spice + -vga std + -device qxl 1.Boot RHEL7.0 GA guest: # /usr/libexec/qemu-kvm -M pc -cpu Penryn -m 6G -smp 4,sockets=1,cores=4,threads=1 -enable-kvm -nodefaults -nodefconfig -drive file=/home/rhel7/sn1.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,werror=stop,rerror=stop,aio=native -device virtio-scsi-pci,id=virtio-disk0, -device scsi-hd,bus=virtio-disk0.0,drive=drive-virtio-disk0,id=scsi-hd1 -spice port=5930,disable-ticketing -global qxl-vga.vram_size=67108864 -device qxl,id=video1,vram_size=67108864 -monitor stdio -netdev tap,id=vnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=vnet0,mac=54:52:1a:0b:c2:01,id=vnic1 -boot menu=on -qmp tcp:0:4444,server,nowait -serial unix:/tmp/s1,server,nowait -vga std Result: Use remote-viewer to display, GUI can not be displayed, and will automatically come out 2 spice display. I will attach the Xorg.0.log c.Test vnc/spice + -device qxl (comment 1 is fixed) Result: works well, I will attach the Xorg.0.log d.Test vnc/spice + -device qxl + -vga qxl Result: works well, I will attach the Xorg.0.log So according to above, the latest qemu-kvm-rhev 2.1 only fixed comment 1, did not fix the qxl+non_qxl issue Created attachment 930787 [details]
spice + -device qxl ... works well, just attach the Xorg log
Created attachment 930788 [details]
spice + qxl and non_qxl, will display 2 display auto. attach the Xorg log
Created attachment 930789 [details]
vnc + qxl and non_qxl, can not display GUI, attach the Xorg log
Created attachment 930790 [details]
vnc with qxl , works well, just attach the Xorg log
Improved compared to 7.0, but not yet fully functional indeed. (In reply to Gerd Hoffmann from comment #14) > Improved compared to 7.0, but not yet fully functional indeed. Spoke to soon. Seems to be a problem with remote-viewer or spice-gtk. Details: We have two display devices. The easiest way to test out stuff is to create a seat for each display device, so you'll get a login screen on both displays. (1) use loginctl to list the (default) seat0, find the qxl device nodes: [root@rhel7 ~]# loginctl seat-status seat0 seat0 Sessions: *c1 Devices: [ ... ] ├─/sys/devices/pci0000:00/0000:00:03.0/drm/card0 │ drm:card0 ├─/sys/devices/pci0000:00/0000:00:03.0/graphics/fb0 │ [MASTER] graphics:fb0 "qxldrmfb" [ ... ] (2) Attach those two device nodes to another seat: [root@rhel7 ~]# loginctl attach seat-qxl /sys/devices/pci0000:00/0000:00:03.0/drm/card0 [root@rhel7 ~]# loginctl attach seat-qxl /sys/devices/pci0000:00/0000:00:03.0/graphics/fb0 (3) reboot. Expected behavior: gdm login screen shows up on seat-qxl. gdm login screen shows up on seat0 in case a kms driver is available [ rhel 7.0 guest: works with cirrus only ] [ rhel 7.1 guest: planned to work with both cirrus+stdvga, but the drm backport isn't (yet) merged ] [ fedora 20 guest: works with both cirrus+stdvga if you install latest kernel from updates ] any user input (mouse+kbd) goes to seat0. When using vnc: You can use Ctrl-Alt-1 and Ctrl-Alt-2 hotkeys to switch between displays devices / seats. When using spice: You get two windows, one for each display device / seat. In my testing this works just fine with rhel6 spicec. remote-viewer has problems to deal with this though. See also: http://git.qemu.org/?p=qemu.git;a=blob;f=docs/multiseat.txt please retest with latest qemu (2.3+) and virt-viewer packages. Test components:
qemu-kvm-rhev-2.3.0-15.el7.x86_64
kernel-3.10.0-302.el7.x86_64
virt-viewer-2.0-5.el7.x86_64
test scenarios:
1.Test with virt-manager
1.1 spice + -vga std + -device qxl ...
result, in virt-manager window, only can get one window, and can not find the method to switch the window(if it have 2 windows)
1.2 vnc + -vga std + -device qxl ...
result, n virt-manager window, only can get one window, and can not find the method to switch the window(if it have 2 windows)
2.Test with qemu cli directly and with virt-viewer
1.1 vnc + -vga std + -device qxl ...
result, n virt-manager window, only can get one window, and can not find the method to switch the window(if it have 2 windows)
1.2 spice + -vga std + -device qxl ...
result, 2 spice windows, and after attach the secondery graphic(qxl) to login, the 2 windows both have the login screen.
issues:
1.2.1 but the 2nd windows has no mouse+keyboard control.
1.2.2 the virt-viewer crashed when switch the pty by "ctrl-alt-fx" --- I will file a bug against this.
So I think the latest qemu-kvm-rhev have fixed the bug.
Additional infos:
1.Inside guest:
# loginctl seat-status seat0 seat-qxl
seat0
Sessions: *2 c2
Devices:
├─/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input0
│ input:input0 "Power Button"
├─/sys/devices/pci0000:00/0000:00:02.0/drm/card1
│ drm:card1
├─/sys/devices/pci0000:00/0000:00:02.0/graphics/fb1
│ [MASTER] graphics:fb1 "bochsdrmfb"
├─/sys/devices/pci0000:00/0000:00:04.0/sound/card0
│ sound:card0 "Intel"
├─/sys/devices/pci0000:00/0000:00:06.0/usb2
│ usb:usb2
├─/sys/devices/pci0000:00/0000:00:06.1/usb3
│ usb:usb3
├─/sys/devices/pci0000:00/0000:00:06.2/usb4
│ usb:usb4
├─/sys/devices/pci0000:00/0000:00:06.7/usb1
│ usb:usb1
├─/sys/devices/platform/i8042/serio0/input/input1
│ input:input1 "AT Translated Set 2 keyboard"
├─/sys/devices/platform/i8042/serio1/input/input2
│ input:input2 "ImExPS/2 Generic Explorer Mouse"
├─/sys/devices/platform/pcspkr/input/input3
│ input:input3 "PC Speaker"
└─/sys/devices/virtual/misc/rfkill
misc:rfkill
seat-qxl
Sessions: *c1
Devices:
├─/sys/devices/pci0000:00/0000:00:0e.0/drm/card0
│ drm:card0
└─/sys/devices/pci0000:00/0000:00:0e.0/graphics/fb0
[MASTER] graphics:fb0 "qxldrmfb"
2.The cli of vnc scenario:
-device qxl,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=pci.0,addr=0xe \
-vga std.
Hi, Gerd
Could you help check above test, do you think it is fixed ?
Thanks,
qian
> So I think the latest qemu-kvm-rhev have fixed the bug. > Could you help check above test, do you think it is fixed ? Test is fine, bug is fixed indeed. 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://rhn.redhat.com/errata/RHBA-2015-2546.html |