Bug 1102558
| Summary: | Get wrong result if change the resolution with two monitors | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | CongDong <codong> | ||||||||||
| Component: | xorg-x11-drv-qxl | Assignee: | Default Assignee for SPICE Bugs <rh-spice-bugs> | ||||||||||
| Status: | CLOSED INSUFFICIENT_DATA | QA Contact: | Desktop QE <desktop-qa-list> | ||||||||||
| Severity: | medium | Docs Contact: | |||||||||||
| Priority: | medium | ||||||||||||
| Version: | 7.1 | CC: | cfergeau, codong, dblechte, jjongsma, juzhou, marcandre.lureau, mzhan, rbalakri, tzheng | ||||||||||
| Target Milestone: | rc | ||||||||||||
| Target Release: | --- | ||||||||||||
| Hardware: | Unspecified | ||||||||||||
| OS: | Unspecified | ||||||||||||
| Whiteboard: | |||||||||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||||||||
| Doc Text: | Story Points: | --- | |||||||||||
| Clone Of: | 1097544 | Environment: | |||||||||||
| Last Closed: | 2015-02-02 12:32:54 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: | 1053039, 1076728 | ||||||||||||
| Bug Blocks: | |||||||||||||
| Attachments: |
|
||||||||||||
|
Comment 2
Marc-Andre Lureau
2014-07-03 16:57:50 UTC
I update xorg-x11-drv-qxl for guest to 0.1.1-12.el6. But virt-viewer will lost the connection if I change resolution to a big one. Steps: 1. prepare a spice rhel6 guest with two displays and a host with two monitors 2. Connect the guest with virt-viewer and make sure you can see two displays. # virt-viewer $vm If only one display shows, can enable another display by: View -> Displays -> Display 2 3. Open "Display preferences", there should be two displays. System -> Preferences -> Display 4. Choose one display and open the resolutin list by click the droplist beside "Resolution", then choose a biggest resolution 2048 * 2048 Result: Two display will show "Wait for display X ...", and cannot connect the guest. This problem looks like bug 1110298, do you think they are same problem? I'll add the log soon. Created attachment 914625 [details]
lost connection after change resolution to big one
> This problem looks like bug 1110298, do you think they are same problem?
> I'll add the log soon.
It does looks like the same issue. Re-assigning to QXL.
(In reply to CongDong from comment #3) > 4. Choose one display and open the resolutin list by click the droplist > beside "Resolution", then choose a biggest resolution 2048 * 2048 > > Result: > Two display will show "Wait for display X ...", and cannot connect the guest. > > This problem looks like bug 1110298, do you think they are same problem? > I'll add the log soon. bug 1110298 was closed as duplicate of 1076728, which now depends on qemu vgamem_mb parameter being adjusted. Please check behaviour with xorg-x11-drv-qxl-0.1.1-13.el6, and try modifying vgamem_mb to reach high resolutions thanks Hi Marc-Andre Lureau, First i can reporduce the bug issue as Comment 0 and Comment 3 said. Then i update xorg-x11-drv-qxl for guest to xorg-x11-drv-qxl-0.1.1-13.el6. Tried with following steps: 1. prepare a spice rhel6 guest with two displays and a host with two monitors 2. edit the guest # virsh dumpxml b <domain type='kvm' id='11' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> ... <qemu:commandline> <qemu:arg value='-global'/> <qemu:arg value='qxl-vga.vgamem_mb=64'/> </qemu:commandline> </domain> 3. #virsh start b 4. Connect the guest with virt-viewer and make sure you can see two displays. # virt-viewer $vm If only one display shows, can enable another display by: View -> Displays -> Display 2 5. Open "Display preferences", there should be two displays. System -> Preferences -> Display 6. Choose display-1 and open the resolutin list by click the droplist beside "Resolution", then choose a biggest resolution 3840*2160 Result: Display-1 resolution changed bigger but not the value 3840*2160. Display-2 resolution doesn't change and it has 2 to 4 seconds dark screen showing "Wait for display X ..." , then turn to normal. So what's your opion about this result, thanks. (In reply to zhoujunqin from comment #7) > Hi Marc-Andre Lureau, > First i can reporduce the bug issue as Comment 0 and Comment 3 said. > Then i update xorg-x11-drv-qxl for guest to xorg-x11-drv-qxl-0.1.1-13.el6. > Tried with following steps: > > 1. prepare a spice rhel6 guest with two displays and a host with two monitors > > 2. edit the guest > # virsh dumpxml b > <domain type='kvm' id='11' > xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> > ... > > <qemu:commandline> > <qemu:arg value='-global'/> > <qemu:arg value='qxl-vga.vgamem_mb=64'/> > </qemu:commandline> > </domain> > > 3. #virsh start b > > 4. Connect the guest with virt-viewer and make sure you can see two displays. > # virt-viewer $vm > If only one display shows, can enable another display by: > View -> Displays -> Display 2 > > 5. Open "Display preferences", there should be two displays. > System -> Preferences -> Display > > 6. Choose display-1 and open the resolutin list by click the droplist beside > "Resolution", then choose a biggest resolution 3840*2160 > > Result: > Display-1 resolution changed bigger but not the value 3840*2160. > Display-2 resolution doesn't change and it has 2 to 4 seconds dark screen > showing "Wait for display X ..." , then turn to normal. > > So what's your opion about this result, thanks. It looks like it's mostly working as expected. Can you provide the guest xrandr output, and Xorg.0.log after the given steps? thanks > > 4. Connect the guest with virt-viewer and make sure you can see two displays. > > # virt-viewer $vm > > If only one display shows, can enable another display by: > > View -> Displays -> Display 2 # xrandr Screen 0: minimum 320 x 200, current 2864 x 903, maximum 8192 x 8192 qxl-0 connected 1272x903+0+0 0mm x 0mm 1024x768 60.0 + 3840x2160 60.0 3200x2400 60.0 2800x2100 60.0 2560x2048 60.0 2048x2048 60.0 2560x1600 60.0 2000x2000 60.0 2560x1440 60.0 2048x1536 60.0 1920x1440 60.0 1920x1200 60.0 1920x1080 60.0 1600x1200 60.0 1680x1050 60.0 1400x1050 60.0 1600x900 60.0 1280x1024 60.0 1440x900 60.0 1280x960 60.0 1366x768 60.0 1360x768 60.0 1280x800 60.0 1152x870 60.0 1152x864 60.0 1280x768 60.0 1280x760 60.0 1280x720 60.0 1024x600 60.0 960x640 60.0 832x624 60.0 800x600 60.0 800x480 60.0 640x480 60.0 1272x903-0 0.1* qxl-1 connected 1592x840+1272+0 0mm x 0mm 1024x768 60.0 + 3840x2160 60.0 3200x2400 60.0 2800x2100 60.0 2560x2048 60.0 2048x2048 60.0 2560x1600 60.0 2000x2000 60.0 2560x1440 60.0 2048x1536 60.0 1920x1440 60.0 1920x1200 60.0 1920x1080 60.0 1600x1200 60.0 1680x1050 60.0 1400x1050 60.0 1600x900 60.0 1280x1024 60.0 1440x900 60.0 1280x960 60.0 1366x768 60.0 1360x768 60.0 1280x800 60.0 1152x870 60.0 1152x864 60.0 1280x768 60.0 1280x760 60.0 1280x720 60.0 1024x600 60.0 960x640 60.0 832x624 60.0 800x600 60.0 800x480 60.0 640x480 60.0 1592x840-1 0.1* qxl-2 disconnected qxl-3 disconnected > > 6. Choose display-1 and open the resolutin list by click the droplist beside > > "Resolution", then choose a biggest resolution 3840*2160 > > # xrandr Screen 0: minimum 320 x 200, current 2864 x 840, maximum 8192 x 8192 qxl-0 connected 1272x720+0+0 0mm x 0mm 1024x768 60.0 + 3840x2160 60.0 3200x2400 60.0 2800x2100 60.0 2560x2048 60.0 2048x2048 60.0 2560x1600 60.0 2000x2000 60.0 2560x1440 60.0 2048x1536 60.0 1920x1440 60.0 1920x1200 60.0 1920x1080 60.0 1600x1200 60.0 1680x1050 60.0 1400x1050 60.0 1600x900 60.0 1280x1024 60.0 1440x900 60.0 1280x960 60.0 1366x768 60.0 1360x768 60.0 1280x800 60.0 1152x870 60.0 1152x864 60.0 1280x768 60.0 1280x760 60.0 1280x720 60.0 1024x600 60.0 960x640 60.0 832x624 60.0 800x600 60.0 800x480 60.0 640x480 60.0 1272x720-0 0.1* qxl-1 connected 1592x840+1272+0 0mm x 0mm 1024x768 60.0 + 3840x2160 60.0 3200x2400 60.0 2800x2100 60.0 2560x2048 60.0 2048x2048 60.0 2560x1600 60.0 2000x2000 60.0 2560x1440 60.0 2048x1536 60.0 1920x1440 60.0 1920x1200 60.0 1920x1080 60.0 1600x1200 60.0 1680x1050 60.0 1400x1050 60.0 1600x900 60.0 1280x1024 60.0 1440x900 60.0 1280x960 60.0 1366x768 60.0 1360x768 60.0 1280x800 60.0 1152x870 60.0 1152x864 60.0 1280x768 60.0 1280x760 60.0 1280x720 60.0 1024x600 60.0 960x640 60.0 832x624 60.0 800x600 60.0 800x480 60.0 640x480 60.0 1592x840-1 0.1* qxl-2 disconnected qxl-3 disconnected > > Result: > > Display-1 resolution changed bigger but not the value 3840*2160. > > Display-2 resolution doesn't change and it has 2 to 4 seconds dark screen > > showing "Wait for display X ..." , then turn to normal. > > > > So what's your opion about this result, thanks. > > It looks like it's mostly working as expected. Can you provide the guest > xrandr output, and Xorg.0.log after the given steps? thanks I will put Xorg.0.log as an attachment, called Xorg.0.log.20140903. And i can connect to the guest always. Created attachment 933983 [details]
Xorg.0.log.20140903
(In reply to zhoujunqin from comment #10) > Created attachment 933983 [details] > Xorg.0.log.20140903 this is not the guest Xorg.0.log, thanks Created attachment 933994 [details]
new Xorg.0.log
Please see the new Xorg.0.log, and executed change display-1 resolution times.
[ 21.257] (II) qxl(0): framebuffer at 0x7fe808996000 (32768 KB) This should have been 64mb with qxl-vga.vgamem_mb=64 So this would have worked: [ 426.628] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 5432x2160 [ 426.628] resizing primary to 5432x2160 [ 426.628] resizing surface0 to 46932480 [ 426.628] resizing surface0 compiled out [ 426.628] not resizing primary to virtual, leaving old virtual Please verify the generated qemu command line. thanks (In reply to Marc-Andre Lureau from comment #13) > [ 21.257] (II) qxl(0): framebuffer at 0x7fe808996000 (32768 KB) > > This should have been 64mb with qxl-vga.vgamem_mb=64 Yes, after i change qxl-vga.vgamem_mb=32 to qxl-vga.vgamem_mb=64, then change display-1 resolution to 3840*2160, both two displays turn to darkscreen showing "Wait for display X ..." in millseconds and turn to normal very very quickly, so i think turn to "Wait for display X ..." just a process when we changing resolution. > So this would have worked: > > [ 426.628] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 5432x2160 > [ 426.628] resizing primary to 5432x2160 > [ 426.628] resizing surface0 to 46932480 > [ 426.628] resizing surface0 compiled out > [ 426.628] not resizing primary to virtual, leaving old virtual > > Please verify the generated qemu command line. thanks # ps -ef |grep qemu-kvm qemu 15958 1 21 17:55 ? 00:02:10 /usr/libexec/qemu-kvm -name b -S -machine pc-i440fx-rhel7.0.0,accel=kvm,usb=off -m 2014 -realtime mlock=off -smp 2,sockets=2,cores=1,threads=1 -uuid bc5f4521-a28b-4db0-91ca-e7d4447f5be1 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/b.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive file=/var/lib/libvirt/images/b.img,if=none,id=drive-virtio-disk0,format=raw,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,fd=23,id=hostnet0 -device rtl8139,netdev=hostnet0,id=net0,mac=52:54:00:19:67:4a,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5900,addr=127.0.0.1,disable-ticketing,seamless-migration=on -vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=67108864 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -global qxl-vga.vgamem_mb=64 -msg timestamp=on Result: qxl-vga.vgamem_mb=64 Created attachment 934035 [details]
Xorg.0.log.64
After changed to qxl-vga.vgamem_mb=64, the new Xorg.0.log file.
So with 64mb framebuffer, resize seems to take place: [ 458.428] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 5432x2160 [ 458.428] resizing primary to 5432x2160 [ 458.431] primary is 0x231e310 However, it seems to be resized back two seconds later: [ 460.442] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 2864x840 [ 460.442] resizing primary to 2864x840 [ 460.443] primary is 0x2397370 Did you intentionally switch back to lower resolution, or was this done automatically. Is that the actual bug we are talking about now? That would most likely be a client issue here, most likely due to interaction with window manager. This happens with some version of gnome. What is virt-viewer version you are testing with? > Did you intentionally switch back to lower resolution, or was this done > automatically. 1. It switch to lower resolution 2864x84 automatically. Just now i cut a part of the log file when i change display-1 resolution. # tailf /var/log/Xorg.0.log [ 866.554] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 5432x2160 [ 866.554] resizing primary to 5432x2160 [ 866.558] primary is 0x172c6f0 [ 866.558] primary is 0x172c6f0 [ 867.015] (II) config/hal: removing device spice vdagent tablet [ 867.018] (II) evdev: spice vdagent tablet: Close [ 867.018] (II) UnloadModule: "evdev" [ 867.060] AUDIT: Wed Sep 3 06:59:56 2014: 1846: client 36 connected from local host ( uid=0 gid=0 pid=2170 ) Auth name: MIT-MAGIC-COOKIE-1 ID: 281 [ 867.068] AUDIT: Wed Sep 3 06:59:56 2014: 1846: client 36 disconnected [ 867.137] (II) config/hal: Adding input device spice vdagent tablet [ 867.137] (II) Using input driver 'evdev' for 'spice vdagent tablet' [ 867.137] (II) Using input driver 'evdev' for 'spice vdagent tablet' [ 867.137] (**) spice vdagent tablet: always reports core events [ 867.137] (**) evdev: spice vdagent tablet: Device: "/dev/input/event5" [ 867.140] (--) evdev: spice vdagent tablet: Vendor 0 Product 0 [ 867.140] (--) evdev: spice vdagent tablet: Found 3 mouse buttons [ 867.140] (--) evdev: spice vdagent tablet: Found 3 mouse buttons [ 867.140] [ 867.140] (--) evdev: spice vdagent tablet: Found scroll wheel(s) [ 867.140] (--) evdev: spice vdagent tablet: Found relative axes [ 867.140] (--) evdev: spice vdagent tablet: Found absolute axes [ 867.140] (--) evdev: spice vdagent tablet: Found x and y absolute axes (--) evdev: spice vdagent tablet: Found x and y absolute axes [ 867.140] [ 867.140] (--) evdev: spice vdagent tablet: Found absolute touchscreen [ 867.140] (II) evdev: spice vdagent tablet: Configuring as touchscreen [ 867.140] (II) evdev: spice vdagent tablet: Adding scrollwheel support (II) evdev: spice vdagent tablet: Adding scrollwheel support [ 867.140] (**) evdev: spice vdagent tablet: YAxisMapping: buttons 4 and 5 [ 867.140] (**) evdev: spice vdagent tablet: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200 [ 867.140] (**) Option "config_info" "hal:/org/freedesktop/Hal/devices/computer_logicaldev_input_1" "hal:/org/freedesktop/Hal/devices/computer_logicaldev_input_1" [ 867.140] (II) XINPUT: Adding extended input device "spice vdagent tablet" (type: TOUCHSCREEN, id 11) [ 867.140] (WW) evdev: spice vdagent tablet: touchpads, tablets and touchscreens ignore relative axes. [ 867.140] (WW) evdev: spice vdagent tablet: touchpads, tablets and touchscreens ignore relative axes. [ 867.140] (II) evdev: spice vdagent tablet: initialized for absolute axes. [ 867.140] (**) spice vdagent tablet: (accel) keeping acceleration scheme 1 [ 867.140] (**) spice vdagent tablet: (accel) acceleration profile 0 [ 867.140] (**) spice vdagent tablet: (accel) acceleration factor: 2.000 [ 867.140] (**) spice vdagent tablet: (accel) acceleration threshold: 4 [ 867.902] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 2864x840 [ 867.902] resizing primary to 2864x840 [ 867.903] primary is 0x16d51b0 [ 868.075] (II) config/hal: removing device spice vdagent tablet [ 868.078] (II) evdev: spice vdagent tablet: Close [ 868.078] (II) UnloadModule: "evdev" [ 868.079] AUDIT: Wed Sep 3 06:59:57 2014: 1846: client 37 connected from local host ( uid=0 gid=0 pid=2170 ) Auth name: MIT-MAGIC-COOKIE-1 ID: 281 [ 868.082] AUDIT: Wed Sep 3 06:59:57 2014: 1846: client 37 disconnected [ 868.099] (II) config/hal: Adding input device spice vdagent tablet [ 868.099] (II) Using input driver 'evdev' for 'spice vdagent tablet' [ 868.099] (**) spice vdagent tablet: always reports core events [ 868.099] (**) evdev: spice vdagent tablet: Device: "/dev/input/event5" [ 868.102] (--) evdev: spice vdagent tablet: Vendor 0 Product 0 [ 868.102] (--) evdev: spice vdagent tablet: Found 3 mouse buttons [ 868.102] (--) evdev: spice vdagent tablet: Found scroll wheel(s) [ 868.102] (--) evdev: spice vdagent tablet: Found relative axes [ 868.102] (--) evdev: spice vdagent tablet: Found absolute axes [ 868.102] (--) evdev: spice vdagent tablet: Found x and y absolute axes [ 868.102] (--) evdev: spice vdagent tablet: Found absolute touchscreen [ 868.102] (II) evdev: spice vdagent tablet: Configuring as touchscreen [ 868.102] (II) evdev: spice vdagent tablet: Adding scrollwheel support [ 868.102] (**) evdev: spice vdagent tablet: YAxisMapping: buttons 4 and 5 [ 868.102] (**) evdev: spice vdagent tablet: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200 [ 868.102] (**) Option "config_info" "hal:/org/freedesktop/Hal/devices/computer_logicaldev_input_1" [ 868.102] (II) XINPUT: Adding extended input device "spice vdagent tablet" (type: TOUCHSCREEN, id 11) [ 868.102] (WW) evdev: spice vdagent tablet: touchpads, tablets and touchscreens ignore relative axes. [ 868.103] (II) evdev: spice vdagent tablet: initialized for absolute axes. [ 868.103] (**) spice vdagent tablet: (accel) keeping acceleration scheme 1 [ 868.103] (**) spice vdagent tablet: (accel) acceleration profile 0 [ 868.103] (**) spice vdagent tablet: (accel) acceleration factor: 2.000 [ 868.103] (**) spice vdagent tablet: (accel) acceleration threshold: 4 [ 869.265] AUDIT: Wed Sep 3 06:59:59 2014: 1846: client 37 connected from local host ( uid=0 gid=0 pid=2170 ) Auth name: MIT-MAGIC-COOKIE-1 ID: 281 [ 869.267] AUDIT: Wed Sep 3 06:59:59 2014: 1846: client 37 disconnected >Is that the actual bug we are talking about now? As Comment said, i think it's always the actual bug. What we done, just modify the guest xml file and added vgamem_mb, then the result may make a little difference. At first, without modify xml file, i can meet the Comment 3 issue. > > That would most likely be a client issue here, most likely due to > interaction with window manager. This happens with some version of gnome. > What is virt-viewer version you are testing with? version: virt-viewer-0.6.0-3.el7.x86_64 Sorry, I don't compute what is the issue here, please give reproduceable steps with failure and expected outcome. thanks moving to 7.2 (In reply to Marc-Andre Lureau from comment #18) > Sorry, I don't compute what is the issue here, please give reproduceable > steps with failure and expected outcome. thanks > > moving to 7.2 Actually the steps are in description, and the problem is if change resolution(change to large one) of one display, the operation will affect another display. And I test with latest libvirt and virt-viewer, cannot reproduce this. (In reply to CongDong from comment #19) > (In reply to Marc-Andre Lureau from comment #18) > > Sorry, I don't compute what is the issue here, please give reproduceable > > steps with failure and expected outcome. thanks > > > > moving to 7.2 > > Actually the steps are in description, and the problem is > if change resolution(change to large one) of one display, the operation > will affect another display. > > And I test with latest libvirt and virt-viewer, cannot reproduce this. do you mean this is already fixed or unreprodceable? I think it's unreproduceable. (In reply to CongDong from comment #21) > I think it's unreproduceable. thanks, let's close for now. |