The problem is related to X Window's server/client structure. As far as I know, indirect targets are rendered on the server side where as direct targets are rendered on the client side and it is the mix that the NVidia driver does not like.
]]>The problem is when OpenGL is being used for the 3d emulation and drawing the window. This is the default setup in desmume-glade. With desmume-gtk OpenGL is not used for drawing the window unless you give the --opengl-2d argument. The problem appears to be that the 3D emulation is rendered to an indirect target (off-screen pixmap) and the windows contents is rendered to a direct target and the NVidia driver performs badly in this situation.
The --gdk-gl-force-indirect argument is handled by the gtkGLext library and not interpreted by the Desmume code.
The issue and --gdk-gl-force-indirect argument is noted in the README.LIN file.
If you can suggest a fix or find similar problems on other setups then please post in this thread.
NOTE: on my ATI based system I get poorer performance when using the --gdk-gl-force-indirect option.
]]>