Bug 865733 - Using wrong display channel for one of qxl devices (RHEL6.4 guest)
Using wrong display channel for one of qxl devices (RHEL6.4 guest)
Status: CLOSED DUPLICATE of bug 881020
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: spice-server (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Uri Lublin
Desktop QE
Depends On:
  Show dependency treegraph
Reported: 2012-10-12 05:26 EDT by Tomas Jamrisko
Modified: 2012-11-28 08:41 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2012-11-28 05:18:08 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Traffic between client and host (1.07 MB, application/octet-stream)
2012-10-12 05:26 EDT, Tomas Jamrisko
no flags Details
Output of remote-viewer with SPICE_DEBUG=1 (474.01 KB, application/octet-stream)
2012-11-22 06:18 EST, Tomas Jamrisko
no flags Details
The good screencast (3.11 MB, video/ogg)
2012-11-22 08:09 EST, Tomas Jamrisko
no flags Details

  None (edit)
Description Tomas Jamrisko 2012-10-12 05:26:55 EDT
Created attachment 625866 [details]
Traffic between client and host

Description of problem:

Connecting to a rhel6.4 with multiple qxl devices isn't working properly -- all data are sent just over a single channel, even though it seems the connection was established properly. 

Version-Release number of selected component (if applicable):




How reproducible:

Steps to Reproduce:
1. Start a guest VM with the mentioned packages and add these command line parameters

-vga qxl -global qxl-vga.vram_size=67108864 -device qxl,id=video1,vram_size=67108864,bus=pci.0,addr=0x7 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x8 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 

2. Connect to your VM using remote-viewer
Actual results:
remote-viewer is aware just about a single channel
all data are being sent just through one display channel

Expected results:
there should be a separate channel for each of the devices
Comment 3 Marc-Andre Lureau 2012-11-21 09:44:10 EST

How is the guest Xorg configured? Can you provide spice client SPICE_DEBUG=1 dump?

Since  xorg-x11-drv-qxl-0.1.0, spice is able to use a single display channel for multiple monitors. This is actually a feature, not a bug :)
Comment 4 Tomas Jamrisko 2012-11-22 06:18:14 EST
Created attachment 649698 [details]
Output of remote-viewer with SPICE_DEBUG=1
Comment 5 Tomas Jamrisko 2012-11-22 06:21:59 EST
Created attachment 649699 [details]

Playing this might be a bit tricky -- it's larger than my framebuffer, it might work for you though. 

If you can't play it, ping me on irc, I will resample it. 

**One more thing -- when I disconnected one of my physical monitors it worked fine, it also works fine with someone, who has smaller total resolution (or at least screens of identical size) -- could the problem be in 2 monitors on client, each having a different resolution?
Comment 7 Tomas Jamrisko 2012-11-22 08:09:11 EST
Created attachment 649789 [details]
The good screencast

Well, ok -- this is the better screencast, it's taken at 20 FPS. You can see, what happens, when I enter fullscreen -- both available monitors are resized to the same resolution. The remote-viewer window, which should have display #2 is emtpy and waiting for connection, whereas display #1 doesn't even display the whole area. (had to restart vdagent a few times, which you already fixed ( I just don't have the patch yet) -- thanks!)
Comment 8 Marc-Andre Lureau 2012-11-22 17:14:57 EST
eh, I am lost, I don't understand what's going on from the video. I can see from the log that things are normal. And I can also see that the vdagent is not running from the video, which is inded a different bug. In the meantime, that bug title "Using wrong display channel for one of qxl devices" is very confusing, as you are using MonitorConfig / Xrandr, You can't have both several devices and monitorconfig support, this isn't supported. Also you can't expect dynamic MonitorConfig to work when the agent isn't running.

I would suggest closing this bug and reopening with something clearly reproduceable within the limits of what we support (a single qxl device, dynamic config with agent).
Comment 9 Tomas Jamrisko 2012-11-23 04:16:25 EST
Well, ok -- let's clear things out, the title is probably a bit misleading.

Parameters of VM for graphics were: 

-vga qxl -global qxl-vga.vram_size=67108864 -device qxl,id=video1,vram_size=67108864,bus=pci.0,addr=0x7 

+the regular vdagent

which I believe is supported and it should be configured by the agent. 

So what I do is -- start the VM with the above mentioned parameters, and use remote-viewer to open additinal display; which should be done over vdagent, right? It opens the channel just right. 

But then I check if vdagent is running and manually start it -- it crashed after opening the second channel (from about 7 seconds into the video) and then I make it run fullscreen. The result is what you can see over there. Both of those display channels are displayed in a single remote-viewer window, and just part of the first one is visible, because resolutions are all wrong (you can't see the clock on the top panel, because the first display is too wide); the second remote-viewer window is just "Waiting for display 2..." The rest is not all that important. 

So to sum it up -- i either have the command line wrong or the merge was caused because of vdagent crashing before the displays were set up properly; or remote-viewer should be separating the channels (because at the very least this is clearly wrong)
Comment 13 Tomas Jamrisko 2012-11-28 08:41:25 EST

*** This bug has been marked as a duplicate of bug 881020 ***

Note You need to log in before you can comment on or make changes to this bug.