OpenGL apps running inside a Virtual Machine (VM) can use VMGL to take advantage of graphics hardware acceleration. VMGL can be used on VMware guests, Xen HVM domains (depending on hardware virtualization extensions) and Xen paravirtual domains, using XVnc or the virtual framebuffer. Although we haven't tested it, VMGL should work for qemu, KVM, etc. VMGL is available for X11-based guest OS's: Linux, FreeBSD and OpenSolaris. Finally, VMGL is GPU-independent: we support ATI, Nvidia and Intel GPUs.
...
Roughly speaking, OpenGL up to version 1.5 is supported (sorry, no shading languages,) with the following exceptions:
- OpenGL 1.2 imaging functions related to histogram, min/max, convolution and colortables.
- Display lists aren't fully conformant: GL_COMPILE_AND_EXECUTE mode may not work reliably, specifically if there is a glGet* call between glNewList and glEndList which gets state that was set by a previous command compiled/executed inside the display list.
Roughly speaking (deja vu) GLX version 1.3 is supported, with the following exceptions:
- glXCopyContext
- glXCreateGLXPixmap
- glXDestroyGLXPixmap
- glXWaitGL
- glXWaitX
- None of the GLX 1.3 functions related to Pbuffers or visual configs are implemented.
For more in-depth info, look into cr/doc/conformance.html and cr/glapi_parser/APIspec.txt in the source tree, or /usr/share/doc/xen-gl/cr/conformance.html if you've used an rpm.
Find out more about this, as well as how to build and use it, here.