VirtualGL is an open source software package which provides true thin client access to OpenGL/GLX applications running on a Unix server (currently Linux x86/x86-64) It works by intercepting display-specific GLX calls in-process and re-routing them to the server’s hardware-accelerated display. Rendering contexts are also re-routed into Pbuffers on the root display. Other calls, such as glXSwapBuffers() and glFlush(), are monitored to determine when a frame has finished rendering, so that its contents can be read back, compressed, and sent to the client. The rest of the GUI (2D) is delivered to the client using standard X11, and the compressed OpenGL pixels are decompressed by a client daemon and recomposited into the appropriate X-Window. This method is currently producing performance of greater than 20 frames/sec with visually lossless image quality using current x86 hardware, and only modest amounts of bandwidth.
The authors are seeking help testing VirtualGL against a variety of OpenGL applications and platforms, to add new features, and to develop supporting middleware that can be used in conjunction with VirtualGL (fast image compressors, for instance.)
Sep 15, 2004 | Category: Developers •