Try running glreadtest (it's in the VirtualGL source tree but isn't
installed) on display :0 and see what the readback performance looks
like.  That's the most likely cause of glXSwapBuffers() being slow.
I've seen that problem with ATI hardware/drivers before, but it was a
while ago on a mobile Radeon device.  My FirePro v5700 screams, but of
course I haven't tried it with the upgraded driver yet.

I wonder also whether it might be a driver permission issue.  If DRI
isn't enabled, the symptom can be slow readback, but VirtualGL should
also complain that an Indirect GLX context was obtained on the 3D X Server.

At any rate, if glreadtest is also slow, then that will give you an easy
way to reproduce the problem for ATI/AMD support.

Pierre Ossman wrote:
> We had to upgrade the ATI drivers on our RHEL 5 machine because of
> upgraded system packages, and unfortunately that broke our VirtualGL
> setup.
> 
> First we upgraded to 10.1, but that just made every GLX application
> crash (http://ati.cchtml.com/show_bug.cgi?id=1753). So we downgraded to
> 9.12, the last in the 9.x series. That made things work, but they are
> terribly slow.
> 
> Example, using glxgears:
> 
> Software, via Xvnc: 470 fps
> Local display: 7450 fps
> VirtualGL: 40 fps
> VirtualGL on local display: 40 fps
> 
> I used the tracing function in vglrun and it shows a lot of time spent
> swapping buffers:
> 
> [VGL] glXSwapBuffers (dpy=0x16073900(:2.0) drawable=0x02c00002
> pbw->getdrawable()=0x00400002 ) 40.087223 ms [VGL] glXSwapBuffers
> (dpy=0x16073900(:2.0) drawable=0x02c00002
> pbw->getdrawable()=0x00400002 ) 24.921894 ms [VGL] glXSwapBuffers
> (dpy=0x16073900(:2.0) drawable=0x02c00002
> pbw->getdrawable()=0x00400002 ) 35.744190 ms
> 
> Doing an strace shows that the time seems to be spent inside the kernel
> driver, waiting for something:
> 
> 11:28:12.435458 ioctl(4, FIONREAD, [0]) = 0
> 11:28:12.435580 write(2, "[VGL] glXSwapBuffers (", 22[VGL]
> glXSwapBuffers () = 22 11:28:12.435627 write(2, "dpy=0x04981920(:2.0)
> ", 21dpy=0x04981920(:2.0) ) = 21 11:28:12.435670 write(2,
> "drawable=0x02c00002 ", 20drawable=0x02c00002 ) = 20 11:28:12.435721
> write(10, "\3\3\2\0\2\0\300\2\16\0\2\0\2\0\300\2", 16) = 16
> 11:28:12.435767 read(10, 0x7fffbf8afa60, 32) = -1 EAGAIN (Resource
> temporarily unavailable) 11:28:12.435807 poll([{fd=10, events=POLLIN}],
> 1, -1) = 1 ([{fd=10, revents=POLLIN}]) 11:28:12.436253 read(10,
> "\1\0q\0\3\0\0\0\230\0\0\0\1\0\0\1\377\377\377\377\0\0\0\0\0\1\2\0\1\0\300\2",
> 32) = 32 11:28:12.436310 read(10, "1\200\352\0\0\0\0\0\0\0\0\0", 12) =
> 12 11:28:12.436363 read(10,
> "\1\30r\0\0\0\0\0\266\0\0\0\5\0\30\0,\1,\1\0\0\0\0\0\0\0\0\0\0\0\0",
> 32) = 32 11:28:12.436437 ioctl(6, 0xc03064a6, 0x7fffbf8aef00) = 0
> 11:28:12.436521 ioctl(6, 0xc03064a6, 0x7fffbf8aedc0) = 0
> 11:28:12.436572 ioctl(6, 0xc03064a6, 0x7fffbf8af590) = 0
> 11:28:12.461267 ioctl(6, 0xc03064a6, 0x7fffbf8afdc0) = 0
> 11:28:12.461330 write(2, "pbw->getdrawable()=0x00400002 ",
> 30pbw->getdrawable()=0x00400002 ) = 30 11:28:12.461379 write(2, ")
> 25.613070 ms\n", 15) 25.613070 ms ) = 15
> 
> I'm not sure what to do next, or if it's just a matter of sucking it up
> and try to get a support issue with ATI/AMD.
> 
> Rgds
> 
> 
> ------------------------------------------------------------------------
> 
> ------------------------------------------------------------------------------
> SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
> Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
> http://p.sf.net/sfu/solaris-dev2dev
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> VirtualGL-Users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/virtualgl-users

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
VirtualGL-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtualgl-users

Reply via email to