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 |