nV News Forums


nV News Forums (http://www.nvnews.net/vbulletin/index.php)
-   NVIDIA Linux (http://www.nvnews.net/vbulletin/forumdisplay.php?f=14)
-   -   OpenGL 2 with indirect rendering (http://www.nvnews.net/vbulletin/showthread.php?t=119266)

ambro887 09-11-08 05:45 PM

OpenGL 2 with indirect rendering
I'm trying to get some OpenGL program to render on an X server on the network (actually it's from a VM) that has Nvidia hardware. So I configure X to allow clients from some IP, and on the client set the address of the X server:

export DISPLAY=IP:0
X programs work properly, however I have problems with OpenGL. If I use the Mesa library (7.1) on the client, only OpenGL version 1.4 is reported by glxinfo and all version 2 extensions are missing (but it works). If I use nvidia's libGL on the client, version 2.1 is reported and some more extensions are available, but most are still missing, and Quake 3 renders some things black (while it worked with Mesa).

As far as I know Nvidia drivers implement AIGLX which allows for hardware-accelerated rendering using the GLX protocol. But why is half of the interface missing? Is it something with my configuration? Or is it really unimplemented?

Thunderbird 09-12-08 04:14 AM

Re: OpenGL 2 with indirect rendering
Let me get this clear client also contains Nvidia hardware?

First of all AIGLX is a buzzword for DRI drivers, those didn't accelerate indirect rendering while Nvidia has supported this for a much longer time. They use a very different driver architecture.

In case of OpenGL all GL extensions which can be supported over a network (indirect rendering) need to have a GLX wire specification. Not all extensions have this I believe shader related extensions are among those. For instance if you compare the output of 'glxinfo' to 'glxinfo -i' (which forces indirect rendering) you can see the difference.

The version of Mesa which you are using might not implement the GLX protocol of all GL extensions and for that reason show a lower version number. On the other hand since a lot of functionality which makes OpenGL 2.x (e.g. GLSL GL_ARB_shader_language_100 which is required for OpenGL 2.x) isn't available in the glxinfo -i output, the driver isn't OpenGL 2.x capable at all, so the version number is wrong.

It could be that the Nvidia driver is buggy in case of indirect rendering to a remote X server. Mesa should behave the same as both the Nvidia and Mesa library need to go through X.

ambro887 09-12-08 05:21 AM

Re: OpenGL 2 with indirect rendering
The client is a virtual machine and does not contain any video hardware. I only copied the Nvidia OpenGL libraries from the host system.

Anyway thanks for the explanation. Yes, 'glxinfo -i' on the real machine fails to show OpenGL 2 extensions. So I suppose it's impossible to get OpenGL 2 over a network right now.

Thunderbird 09-12-08 12:13 PM

Re: OpenGL 2 with indirect rendering
Since the client is a VM you can just use Mesa.

All times are GMT -5. The time now is 06:45 AM.

Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2015, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.