[Spice-devel] Questions about multimonitor Xinerama configuration
Alon Levy
alevy at redhat.com
Fri Aug 5 03:05:34 PDT 2011
On Thu, Aug 04, 2011 at 06:43:58PM -0700, Naga Mohan Pothula wrote:
> Hi Gerd/Alon,
>
> I'm getting two black screen windows when I launched RHEL 64-bit in dual-head mode even with latest code(ie., Spice v0.9.0 and qxl driver for linux v0.0.16 taken from git repository)
>
The guest is RHEL 64-bit? and you had it working with two pci devices before?
Can you please post complete guest command line?
Host is running qemu release candidate for 0.15.0 and spice 0.9.0, right?
Did you try reducing vram size below 30 MB like suggested on another thread due to bios limitation?
> Initially I did debugged Server code and noticed that it is not receiving data from pipe (ie., ring_is_empty returns false to red_channel_pipe_get function) immediately when second display is launched
>
> It seems the problem is completely with qxl driver. Please refer below backtrace received when I did gdb Xorg.
>
>
> qxl_ring_push (ring=0x1891cf0, new_elt=0x7fffa850cec0) at qxl_ring.c:75
> 75 qxl_ring.c: No such file or directory.
> in qxl_ring.c
> (gdb) bt
> #0 qxl_ring_push (ring=0x1891cf0, new_elt=0x7fffa850cec0) at qxl_ring.c:75
> #1 0x00007f80005af53b in push_drawable (qxl=<value optimized out>,
> drawable=<value optimized out>) at qxl_surface.c:516
> #2 0x00007f80005af665 in qxl_surface_put_image (dest=0x19027c8,
> x=<value optimized out>, y=<value optimized out>, width=24, height=24,
> src=0x2079a88 "", src_pitch=96) at qxl_surface.c:1467
> #3 0x00007f80005b5e24 in uxa_do_put_image (pDrawable=<value optimized out>,
> pGC=<value optimized out>, depth=<value optimized out>,
> x=<value optimized out>, y=<value optimized out>, w=<value optimized out>,
> h=24, leftPad=0, format=2, bits=0x2079a88 "") at uxa-accel.c:329
> #4 uxa_put_image (pDrawable=<value optimized out>, pGC=<value optimized out>,
> depth=<value optimized out>, x=<value optimized out>,
> y=<value optimized out>, w=<value optimized out>, h=24, leftPad=0,
> format=2, bits=0x2079a88 "") at uxa-accel.c:367
> #5 0x00000000004d6cfc in ?? ()
> #6 0x0000000000448af9 in ?? ()
> #7 0x0000000000554a78 in ?? ()
> #8 0x000000000044ae7c in ?? ()
> #9 0x000000000042208a in _start ()
>
> Looping in "qxl_ring_push" continuously happens at this scenario.
>
>
> Regards,
> Mohan.
>
>
>
> ________________________________
> From: Leonardo E. Reiter <lreiter at vbridges.com>
> To: Gerd Hoffmann <kraxel at redhat.com>
> Cc: spice-devel at lists.freedesktop.org
> Sent: Friday, June 24, 2011 1:17 PM
> Subject: Re: [Spice-devel] Questions about multimonitor Xinerama configuration
>
>
> On Fri, Jun 24, 2011 at 11:46 AM, Leonardo E. Reiter <lreiter at vbridges.com> wrote:
>
> On Fri, Jun 24, 2011 at 4:33 AM, Gerd Hoffmann <kraxel at redhat.com> wrote:
> >
> > Hi,
> >>
> >>
> >>
> >>you can see the 2nd QXL device at 00:06.0. I don't know why the first
> >>>one says "VGA compatible" and the second one doesn't, but hopefully that
> >>>is not an issue.
> >>>
> >>
> The second simply isn't matched by the qxl driver due to the different PCI class. Fixable (see attachent).
> >>
> >Thanks... I will try this and keep testing... we are looking into the spicec crash as well, because this was happening for us even with Windows guests. But any more help with the this QXL issue will be much appreciated.
> Definitely confirmed the situation you explained... I had to remove the "Screen" config from the Device sections from the /etc/X11/xorg.conf, at which point I was able to start with 2 SPICE windows but blank. This is after applying your patch (using the 0.13.0 tag in git for the QXL driver). gdb'ing Xorg and getting a backtrace shows:
>
> #0 qxl_ring_push (ring=0xe6c490, new_elt=0x7ffff4578850) at qxl_ring.c:73
> #1 0x00007f5fa413ecd0 in push_surface_cmd (surface=0xed8c60)
> at qxl_surface.c:435
> #2 send_destroy (surface=0xed8c60) at qxl_surface.c:766
> #3 0x00007f5fa413ce38 in qxl_destroy_pixmap (pixmap=0x1657670)
> at qxl_driver.c:739
> #4 0x00000000004cc19c in ?? ()
> #5 0x00000000004ab0da in ?? ()
> #6 0x00000000004bb998 in FreePicture ()
> #7 0x0000000000455840 in FreeResource ()
> #8 0x00000000004c2f3a in ?? ()
> #9 0x00000000004c014d in ?? ()
> #10 0x00000000004275dc in ?? ()
> #11 0x000000000042208a in _start ()
>
> I'll keep investigating but would appreciate any further help.
>
> Thanks,
> Leo Reiter
>
>
> >
> >>That alone doesn't get things going though, guess thats why it isn't supported (yet?) by the driver. I can get X to show the display on one or the other qxl device, but not with xinerama on both.
> >>
> >>Seems to be stuck here:
> >>
> >>0x00007f3f90620992 in qxl_ring_push (ring=0x126e4c0, new_elt=0x7fff74a3afa0) at qxl_ring.c:73
> >>73 while (header->prod - header->cons == header->num_items)
> >>(gdb) bt
> >>#0 0x00007f3f90620992 in qxl_ring_push (ring=0x126e4c0, new_elt=0x7fff74a3afa0) at qxl_ring.c:73
> >>#1 0x00007f3f9061ee5b in push_drawable (drawable=<optimized out>, qxl=<optimized out>)
> >> at qxl_surface.c:516
> >>#2 push_drawable (qxl=<optimized out>, drawable=<optimized out>) at qxl_surface.c:498
> >>#3 0x00007f3f906208d1 in qxl_surface_put_image (dest=0x12f5ce0, x=<optimized out>,
> >> y=<optimized out>, width=24, height=24, src=0x2058468 "", src_pitch=96) at qxl_surface.c:1465
> >>#4 0x00007f3f9062618d in uxa_do_put_image (src_stride=96, bits=0x2058468 "", format=2, h=24,
> >> w=24, y=<optimized out>, x=<optimized out>, depth=<optimized out>, pGC=0x1a2fe00,
> >> pDrawable=0x1a35910) at uxa-accel.c:329
> >>#5 uxa_put_image (pDrawable=0x1a35910, pGC=0x1a2fe00, depth=<optimized out>, x=<optimized out>,
> >> y=0, w=24, h=24, leftPad=0, format=2, bits=0x2058468 "") at uxa-accel.c:367
> >>#6 0x00000000004dc199 in ?? ()
> >>#7 0x000000000042b91d in ?? ()
> >>#8 0x000000000042ec11 in ?? ()
> >>#9 0x0000000000422e1a in ?? ()
> >>#10 0x00000033c1a2139d in __libc_start_main () from /lib64/libc.so.6
> >>#11 0x0000000000423101 in _start ()
> >>
> >>Could be a server side issue too (guest driver spinning, waiting for spice-server to take requests out of the ring). Also note that spicec crashed while the X-Server tried to init the two qxl devices in xinerama mode ...
> >>
> >>cheers,
> >> Gerd
> >>
> >
> >
> >Thanks,
> >
> >
> >- Leo Reiter
> >
>
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/spice-devel
More information about the Spice-devel
mailing list