Confirmed. To give some background, the way that VirtualGL normally detects window resizes is to monitor the application's X event loop for ConfigureNotify events, which are sent by the X server to the application whenever the window is resized. However, this assumes that the application is selecting those events. In the case of "normal" GLX applications, this is almost always a valid assumption, because GLX applications need to know whenever the window has been resized so they can adjust the OpenGL viewport. There exists a class of applications, however, that separates OpenGL and X rendering into multiple processes (the old Chromium 3D parallel rendering package used to do this, and Abaqus/CAE was known to do this as well.) To handle those cases, VirtualGL reads the event mask for the 3D window, and if this mask doesn't contain StructureNotifyMask (meaning that the application is not electing to receive ConfigureNotify events for that window), then VGL sets up its own event handler for those events. The assumption is that, if the application isn't receiving ConfigureNotify events, then it must be handling them in another process.
However, in the case of Qt5, what I'm observing is that it behaves as if it isn't receiving ConfigureNotify events (or any events at all, for that matter) in the OpenGL rendering process, but the event mask for the 3D window still contains StructureNotifyMask. A cursory look at the code does not reveal why this is occurring, but I haven't given up yet. On 7/25/14 5:17 AM, peter.ty...@csiro.au wrote: > Hi All, > > We have been having trouble running OpenGL Qt5 apps with VirtualGL > including 2.4 beta1. One easily reproducible issue is the OpenGL > examples supplied with Qt5 don’t resize with their windows when run with > VirtualGL. This is seen with both Qt 5.3 we built ourselves and the Qt > 5.2 shipped with Ubuntu 14.04 in the qtbase5-examples package. > > On Ubuntu running the following command and resizing the window produces > six lines as per the trace below. Should we see a glXCreatePbuffer call > if all is working properly? > > vglrun +tr /usr/lib/x86_64-linux-gnu/qt5/examples/opengl/cube/cube > > [VGL] glXMakeCurrent (dpy=0x006c75a0(:1) drawable=0x01400006 > ctx=0x0089fed0 config=0x00000135(0x135) drawable=0x01200003 > renderer=Quadro K2000/PCIe/SSE2 ) 0.036001 ms > > [VGL] glXSwapBuffers (dpy=0x006c75a0(:1) drawable=0x01400006 > pbw->getglxdrawable()=0x01200003 ) 1.675844 ms > > [VGL] glXMakeCurrent (dpy=0x006c75a0(:1) drawable=0x01400006 > ctx=0x0089fed0 config=0x00000135(0x135) drawable=0x01200003 > renderer=Quadro K2000/PCIe/SSE2 ) 0.014782 ms > > [VGL] glViewport (x=0 y=0 width=737 height=590 ) 0.006914 ms > > [VGL] glXMakeCurrent (dpy=0x006c75a0(:1) drawable=0x01400006 > ctx=0x0089fed0 config=0x00000135(0x135) drawable=0x01200003 > renderer=Quadro K2000/PCIe/SSE2 ) 0.010014 ms > > [VGL] glXSwapBuffers (dpy=0x006c75a0(:1) drawable=0x01400006 > pbw->getglxdrawable()=0x01200003 ) 1.435041 ms > > Regards, > > Peter ------------------------------------------------------------------------------ Want fast and easy access to all the code in your enterprise? Index and search up to 200,000 lines of code with a free copy of Black Duck Code Sight - the same software that powers the world's largest code search on Ohloh, the Black Duck Open Hub! Try it now. http://p.sf.net/sfu/bds _______________________________________________ VirtualGL-Users mailing list VirtualGL-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/virtualgl-users