<html><body><div style="color:#000; background-color:#fff; font-family:arial, helvetica, sans-serif;font-size:10pt"><div><span>Hi Gerd/Alon,</span></div><div><br></div><div>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)</div><div><br></div><div>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<br></div><div>It seems the problem is completely with qxl driver. Please refer below backtrace received when I did gdb Xorg.<br></div><div><br></div><div><span>qxl_ring_push (ring=0x1891cf0, new_elt=0x7fffa850cec0) at qxl_ring.c:75<br>75&nbsp;&nbsp;&nbsp; qxl_ring.c: No such file or directory.<br>&nbsp;&nbsp;&nbsp; in qxl_ring.c<br>(gdb) bt<br>#0&nbsp; qxl_ring_push (ring=0x1891cf0,
 new_elt=0x7fffa850cec0) at qxl_ring.c:75<br>#1&nbsp; 0x00007f80005af53b in push_drawable (qxl=&lt;value optimized out&gt;, <br>&nbsp;&nbsp;&nbsp; drawable=&lt;value optimized out&gt;) at qxl_surface.c:516<br>#2&nbsp; 0x00007f80005af665 in qxl_surface_put_image (dest=0x19027c8, <br>&nbsp;&nbsp;&nbsp; x=&lt;value optimized out&gt;, y=&lt;value optimized out&gt;, width=24, height=24, <br>&nbsp;&nbsp;&nbsp; src=0x2079a88 "", src_pitch=96) at qxl_surface.c:1467<br>#3&nbsp; 0x00007f80005b5e24 in uxa_do_put_image (pDrawable=&lt;value optimized out&gt;, <br>&nbsp;&nbsp;&nbsp; pGC=&lt;value optimized out&gt;, depth=&lt;value optimized out&gt;, <br>&nbsp;&nbsp;&nbsp; x=&lt;value optimized out&gt;, y=&lt;value optimized out&gt;, w=&lt;value optimized out&gt;, <br>&nbsp;&nbsp;&nbsp; h=24, leftPad=0, format=2, bits=0x2079a88 "") at uxa-accel.c:329<br>#4&nbsp; uxa_put_image (pDrawable=&lt;value optimized out&gt;, pGC=&lt;value optimized out&gt;,
 <br>&nbsp;&nbsp;&nbsp; depth=&lt;value optimized out&gt;, x=&lt;value optimized out&gt;, <br>&nbsp;&nbsp;&nbsp; y=&lt;value optimized out&gt;, w=&lt;value optimized out&gt;, h=24, leftPad=0, <br>&nbsp;&nbsp;&nbsp; format=2, bits=0x2079a88 "") at uxa-accel.c:367<br>#5&nbsp; 0x00000000004d6cfc in ?? ()<br>#6&nbsp; 0x0000000000448af9 in ?? ()<br>#7&nbsp; 0x0000000000554a78 in ?? ()<br>#8&nbsp; 0x000000000044ae7c in ?? ()<br>#9&nbsp; 0x000000000042208a in _start ()</span></div><div><br><span></span></div><div>Looping in "qxl_ring_push" continuously happens at this scenario.</div><div><br></div><div><br></div><div>Regards,</div><div>Mohan.<br></div><div><br></div><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;"><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><font face="Arial" size="2"><hr size="1"><b><span style="font-weight: bold;">From:</span></b> Leonardo E. Reiter
 &lt;lreiter@vbridges.com&gt;<br><b><span style="font-weight: bold;">To:</span></b> Gerd Hoffmann &lt;kraxel@redhat.com&gt;<br><b><span style="font-weight: bold;">Cc:</span></b> spice-devel@lists.freedesktop.org<br><b><span style="font-weight: bold;">Sent:</span></b> Friday, June 24, 2011 1:17 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [Spice-devel] Questions about multimonitor Xinerama configuration<br></font><br><div id="yiv1457104802"><div><div class="yiv1457104802gmail_quote">On Fri, Jun 24, 2011 at 11:46 AM, Leonardo E. Reiter <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:lreiter@vbridges.com" target="_blank" href="mailto:lreiter@vbridges.com">lreiter@vbridges.com</a>&gt;</span> wrote:<br><blockquote class="yiv1457104802gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="yiv1457104802gmail_quote"><div class="yiv1457104802im">On Fri, Jun 24, 2011 at 4:33 AM, Gerd Hoffmann <span dir="ltr">&lt;<a rel="nofollow" ymailto="mailto:kraxel@redhat.com" target="_blank" href="mailto:kraxel@redhat.com">kraxel@redhat.com</a>&gt;</span> wrote:<br><blockquote class="yiv1457104802gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

 &nbsp;Hi,<div><br>
<br>
<blockquote class="yiv1457104802gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
you can see the 2nd QXL device at 00:06.0. &nbsp;I don't know why the first<br>
one says "VGA compatible" and the second one doesn't, but hopefully that<br>
is not an issue.<br>
</blockquote>
<br></div>
The second simply isn't matched by the qxl driver due to the different PCI class. &nbsp;Fixable (see attachent).<br></blockquote></div><div>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. &nbsp;But any more help with the this QXL issue will be much appreciated.</div>
</div></blockquote><div>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. &nbsp;This is after applying your patch (using the 0.13.0 tag in git for the QXL driver). &nbsp;gdb'ing Xorg and getting a backtrace shows:</div>
<div><br></div><div>#0 &nbsp;qxl_ring_push (ring=0xe6c490, new_elt=0x7ffff4578850) at qxl_ring.c:73</div><div>#1 &nbsp;0x00007f5fa413ecd0 in push_surface_cmd (surface=0xed8c60)</div><div>&nbsp; &nbsp; at qxl_surface.c:435</div><div>#2 &nbsp;send_destroy (surface=0xed8c60) at qxl_surface.c:766</div>
<div>#3 &nbsp;0x00007f5fa413ce38 in qxl_destroy_pixmap (pixmap=0x1657670)</div><div>&nbsp; &nbsp; at qxl_driver.c:739</div><div>#4 &nbsp;0x00000000004cc19c in ?? ()</div><div>#5 &nbsp;0x00000000004ab0da in ?? ()</div><div>#6 &nbsp;0x00000000004bb998 in FreePicture ()</div>
<div>#7 &nbsp;0x0000000000455840 in FreeResource ()</div><div>#8 &nbsp;0x00000000004c2f3a in ?? ()</div><div>#9 &nbsp;0x00000000004c014d in ?? ()</div><div>#10 0x00000000004275dc in ?? ()</div><div>#11 0x000000000042208a in _start ()</div>
<div><br></div><div>I'll keep investigating but would appreciate any further help.</div><div><br></div><div>Thanks,</div><div>Leo Reiter</div><div><br></div><blockquote class="yiv1457104802gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div class="yiv1457104802gmail_quote"><div><div></div><div class="yiv1457104802h5">
<div>&nbsp;</div><blockquote class="yiv1457104802gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
That alone doesn't get things going though, guess thats why it isn't supported (yet?) by the driver. &nbsp;I can get X to show the display on one or the other qxl device, but not with xinerama on both.<br>
<br>
Seems to be stuck here:<br>
<br>
0x00007f3f90620992 in qxl_ring_push (ring=0x126e4c0, new_elt=0x7fff74a3afa0) at qxl_ring.c:73<br>
73 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;while (header-&gt;prod - header-&gt;cons == header-&gt;num_items)<br>
(gdb) bt<br>
#0 &nbsp;0x00007f3f90620992 in qxl_ring_push (ring=0x126e4c0, new_elt=0x7fff74a3afa0) at qxl_ring.c:73<br>
#1 &nbsp;0x00007f3f9061ee5b in push_drawable (drawable=&lt;optimized out&gt;, qxl=&lt;optimized out&gt;)<br>
 &nbsp; &nbsp;at qxl_surface.c:516<br>
#2 &nbsp;push_drawable (qxl=&lt;optimized out&gt;, drawable=&lt;optimized out&gt;) at qxl_surface.c:498<br>
#3 &nbsp;0x00007f3f906208d1 in qxl_surface_put_image (dest=0x12f5ce0, x=&lt;optimized out&gt;,<br>
 &nbsp; &nbsp;y=&lt;optimized out&gt;, width=24, height=24, src=0x2058468 "", src_pitch=96) at qxl_surface.c:1465<br>
#4 &nbsp;0x00007f3f9062618d in uxa_do_put_image (src_stride=96, bits=0x2058468 "", format=2, h=24,<br>
 &nbsp; &nbsp;w=24, y=&lt;optimized out&gt;, x=&lt;optimized out&gt;, depth=&lt;optimized out&gt;, pGC=0x1a2fe00,<br>
 &nbsp; &nbsp;pDrawable=0x1a35910) at uxa-accel.c:329<br>
#5 &nbsp;uxa_put_image (pDrawable=0x1a35910, pGC=0x1a2fe00, depth=&lt;optimized out&gt;, x=&lt;optimized out&gt;,<br>
 &nbsp; &nbsp;y=0, w=24, h=24, leftPad=0, format=2, bits=0x2058468 "") at uxa-accel.c:367<br>
#6 &nbsp;0x00000000004dc199 in ?? ()<br>
#7 &nbsp;0x000000000042b91d in ?? ()<br>
#8 &nbsp;0x000000000042ec11 in ?? ()<br>
#9 &nbsp;0x0000000000422e1a in ?? ()<br>
#10 0x00000033c1a2139d in __libc_start_main () from /lib64/libc.so.6<br>
#11 0x0000000000423101 in _start ()<br>
<br>
Could be a server side issue too (guest driver spinning, waiting for spice-server to take requests out of the ring). &nbsp;Also note that spicec crashed while the X-Server tried to init the two qxl devices in xinerama mode ...<br>


<br>
cheers,<br><font color="#888888">
 &nbsp;Gerd<br></font></blockquote><div><br></div></div></div><div>Thanks,</div><div><br></div><div>- Leo Reiter&nbsp;</div></div><br>
</blockquote></div><br></div>
</div><br>_______________________________________________<br>Spice-devel mailing list<br><a ymailto="mailto:Spice-devel@lists.freedesktop.org" href="mailto:Spice-devel@lists.freedesktop.org">Spice-devel@lists.freedesktop.org</a><br><a href="http://lists.freedesktop.org/mailman/listinfo/spice-devel" target="_blank">http://lists.freedesktop.org/mailman/listinfo/spice-devel</a><br><br><br></div></div></div></body></html>