To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.cad.devOpen lugnet.cad.dev in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 CAD / Development / 6725
6724  |  6726
Subject: 
Re: LDGLite colour bug
Newsgroups: 
lugnet.cad.dev
Date: 
Tue, 15 Jan 2002 18:19:16 GMT
Viewed: 
753 times
  
In lugnet.cad.dev, Don Heyse writes:
In lugnet.cad.dev, Travis Cobbs writes:

"Don Heyse" <dheyse@hotmail.spam.go.away.com> wrote in message
news:GpF5sJ.66C@lugnet.com...
In lugnet.cad.dev, Jacob Sparre Andersen writes:
What do you mean by "using the Mesa driver"?  In both cases
the example was rendered directly on the monitor of a third
(Intel based) machine over the network.

The third machine with the monitor is immaterial.  The opengl
driver runs on the machine where the ldglite executable is
running.  Based on your use of a remote display, I'm going to
assume you're probably running linux (and most likely a Mesa
opengl driver) on the intel machine where you ran the ldglite
executable.  Does it have the same version of Mesa?  On
ldraw.org, ldglite prints this when I run it:

  GL_VERSION = 1.2 Mesa 3.4

What does the intel machine say?

Actually, with a remote OpenGL display setup, OpenGL drivers can be active
on both machines.  If Mesa supports the GLX protocol, and the machine he is
displaying onto also supports GLX, then the ldglite machine will simply
create the OpenGL commands and then send them over the network for the other
machine to interpret and display.

Really?  Where can I get more information on this?  I was under the
impression that GLX could only accelerate locally when used with DRI.
I had no idea it had its own remote rendering protocol.  Is this
something new in XFree 4.0?  Is there any way to tell if it's being
used, perhaps something with glXQueryServerString() or glXIsDirect()?
(Actually I'd prefer a glut or gl function for this since I'm not
currently calling any GLX functions directly.)

This is significantly faster than trying to render on the remote machine and
then send the bitmap graphics over the wire.  However, it means that the
actual OpenGL rendering is done on his local workstation.  The remote
machine simply creates the list of commands to call.

That sounds great, but makes troubleshooting a bit tougher unless I
can tell who is doing the rendering.  Does glGetString(GL_VERSION) get
passed via the GLX protocol to the remote machine?

Don

I did a quick check and found a few things you should find useful.  At
opengl.org I found a good definition of what GLX is (which includes the
remote display portion):
http://www.opengl.org/developers/documentation/glx.html
The above also contains a link to the GLX specification (which may or may not
be useful to you).

At xfree86.org I found some limited information about remote display as
implemented in XFree86 4.0.1:
http://www.xfree86.org/4.0.1/DRI6.html
(Read section 6.1).  In addition, under a different section of the same
document (Limitations and Known Bugs) it states that one of the limitations
is lack of support for hardware-accelerated indirect rendering:
http://www.xfree86.org/4.0.1/DRI9.html
This is significant because the previous section stated or at least strongly
implied that remote rendering was equivalent to indirect rendering.

While I'm not sure, my guess after reading all this is that semi-recent
versions of Mesa will use the GLX wire protocol for remote display (with
possible fallback to standard X wire protocol).  However, when the GLX
commands are received on your local machine, they are rendered using software
without hardware acceleration.  I'm not sure about that, though.

From a historical standpoint, Mesa could not originally provide support for
the GLX wire protocol, because it has to be implemented in the X server.  Up
until XFree86 4.0 was released, XFree86 had no support for GLX.  So Mesa
used the standard X remote display mechanism.

SGIs, on the other hand, could only remotely display OpenGL apps using the
GLX wire protocol, so you could not remotely display an SGI OpenGL app to a
Linux machine, even if the Linux machine had Mesa (unless you convinced the
SGI to use a local Mesa for its OpenGL rendering instead of the system OpenGL
library).

Then XFree86 4.0 added support for GLX.  I'm not entirely sure what happened
at that point.  At a guess, you gained instant support to run an OpenGL app
on an SGI and display it on a Linux box.  However, until and unless Mesa was
updated to use GLX for remote display, displaying from a Linux box to another
Linux box would still use the old X remote display mechanism.  But since
XFree86 4.0 was released so long ago, I would think it would be reasonable
to expect Mesa to now support GLX for remote rendering.

Now none of this directly answered some of your questions, but hopefully I
have provided enough information for you to know where to start looking.  I
don't know the direct answers to the other questions.  The version part could
be checked relatively easily, though: install a different version on the local
and remote machines and see what version number you get back when you
ask for it.  I believe that xdpyinfo will tell you if the X Server you are
displaying to supports GLX (as one of the X Server extensions).  This won't
tell you if Mesa is using it, though.  Hopefully the Mesa documentation will
mention it somewhere.



Message has 1 Reply:
  Re: LDGLite colour bug
 
In lugnet.cad.dev, Travis Cobbs writes: ... (...) Yes, I think that would work. Perhaps Jacob could install Mesa 4.1 on one of his (apparently) many machines and try this? I would, but I don't have the hardware available, and after all, he did start (...) (23 years ago, 16-Jan-02, to lugnet.cad.dev)

Message is in Reply To:
  Re: LDGLite colour bug
 
(...) Really? Where can I get more information on this? I was under the impression that GLX could only accelerate locally when used with DRI. I had no idea it had its own remote rendering protocol. Is this something new in XFree 4.0? Is there any (...) (23 years ago, 15-Jan-02, to lugnet.cad.dev)

14 Messages in This Thread:



Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR