[Spice-devel] Questions about multimonitor Xinerama configuration

Lubos Kocman lkocman at redhat.com
Sun Aug 7 23:41:29 PDT 2011


Hi

There is already https://bugzilla.redhat.com/show_bug.cgi?id=695323 opened against xinerama issue.


Lubos

----- Original Message -----
From: "Naga Mohan Pothula" <nagamohan.pothula at yahoo.com>
To: "Alon Levy" <alevy at redhat.com>
Cc: spice-devel at lists.freedesktop.org
Sent: Friday, August 5, 2011 9:54:48 PM
Subject: Re: [Spice-devel] Questions about multimonitor Xinerama	configuration




Hi Alon, 


I'm looking some weird behaviour this time. I tested with different versions of qemu. 
1.) Two black screen windows for Linux guests with Qemu 0.14.0 
2.) Two black screen windows for both Windows and Linux guests with Qemu taken from git repository( git://anongit.freedesktop.org/ ~alon/qemu) 
If i launch for single QXL device, everything works fine. I'm seeing bitmaps are delivered until second spice windows is launched. 


3.) Tested with Qemu 0.15.0-rc1. Black screen window is launched even with single QXL device for win7 guest and for linux too. 
if I specify " -global qxl-vga.vram_size=33554432" then I'm getting the output as at First case 


Here is guest command line: 

./x86_64-softmmu/qemu-system-x86_64 -drive file=/home/naga/spice-0.8/images/rhel61bt64.qcow,if=ide -soundhw ac97 -L pc-bios -vga qxl -global qxl-vga.vram_size=33554432 \ 
-device qxl -device virtio-serial -chardev spicevmc,id=vdagent,debug=0,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 \ 
-spice port=$SPICE_PORT,disable-ticketing -usbdevice tablet -enable-kvm -m 1024 -net nic,model=e1000,vlan=0,macaddr=52:54:84:fe:00:02 \ 
-net user,vlan=1,hostfwd=tcp::2222-:22 -net nic,model=e1000,vlan=1 

Even with Qemu 0.15.0 and option " -global qxl-vga.vram_size=33554432" is specified, t wo black screens for Linux guests happened. 




Regards, 
Naga. 




From: Alon Levy <alevy at redhat.com> 
To: Naga Mohan Pothula <nagamohan.pothula at yahoo.com> 
Cc: Leonardo E. Reiter <lreiter at vbridges.com>; Gerd Hoffmann <kraxel at redhat.com>; "spice-devel at lists.freedesktop.org" <spice-devel at lists.freedesktop.org> 
Sent: Friday, August 5, 2011 5:05 AM 
Subject: Re: [Spice-devel] Questions about multimonitor Xinerama configuration 

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 



_______________________________________________
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