I am building an NPAPI plugin for Linux that uses the XEmbed protocol for the window that is controlled by the plugin. I am using Gtk+ for attaching to the window, wrapping the XEmbed window with a GtkPlug. I want to render an OpenGL surface on the window (using GtkGLExt) but when I enable the resulting OpenGL context I am unable to create GLSL shaders; indeed, querying the value of glGetString( GL_VERSION ) shows that the version string for OpenGL has changed from "2.1 NVIDIA..." to "1.4 (2.1 NIVIDIA...)", suggesting that the GL drivers have downgraded the OpenGL functionality in this situation.
I haven't been able to find any direct references to limitations that using XEmbed places on OpenGL functionality. Does anyone know if XEmbed effectively downgrades OpenGL to a fixed pipeline?