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
