[NTLUG:Discuss] Re: half way off topic - SGI server and Linux client...

Darin Smith darin_ext at darinsmith.net
Sat Jan 4 19:53:11 CST 2003


Trying again...for some reason my posts don't seem to be making it to
the list...

1/3/2003 6:26:33 AM, discuss-request at ntlug.org wrote:

>> (3) SGI's answer is that "The DGL protocol that supports the IRIS GL 
>> remote rendering is proprietary to SGI and the only interpreter for
>> it (dgld) runs only on SGI workstations. This is why you are seeing
>> this error when trying to display gr_osview to a non-SGI system." 
>>[Note that >> the client is considered the "remote machine" in this
>>case]
>
>That's a complicated explanation - but it's correct.
>
>> The question, on the off change that someone may have had some 
>> experience with this:  any suggestions?
>
>Trying to simplify their explanation:
>
>   * When you log into one X machine to another X machine, the
>     graphics commands are sent from one machine to the other using
>     a standardized X protocol - so everything works OK.
>

It actually doesn't matter if you are on a different machine or the same
machine...X always works in a client/server model--where the DISPLAY is
the server and the X-enabled program is the client.  Thus, the client
just communicates over a socket--whether that is bound remotely or
locally it doesn't care and doesn't know...it only knows that the
DISPLAY environment variable tells it where to go.

>   * HOWEVER, if you run programs that us some other graphics system
>     (such as OpenGL - which is not a part of X) - then some other
>protocol is required.
>

For OpenGL, it is "GLX" which most accelerated OpenGL X servers for
Linux have (Nvidia for example).  But for IRIS GL, it is DGL, which only
SGI's have. (see below)

>   * The 'gr_osview' program (gross-view to it's friends!) uses OpenGL
>     rendering...so it's not using the X protocol.
>

Actually, as SGI states, it uses IRIS GL, which is not OpenGL.  (see
below)

>   * Now - the OpenGL remote protocol under IRIX is 'dgl' (distributed
>GL).  But Linux uses a different OpenGL remote protocol.
>Hence, you can run any X program that DOESN'T use OpenGL.

It's actually a little different than that...I encountered this problem
back in 1993 (10 years ago!) while administering a very heterogenous
collection of IRIX, AIX, SunOS, Linux, NeXT, and various incarnations of
windows boxes.  

SGI/IRIX uses *two distinctly different* libraries called "GL".  The one
that gr_osview uses (because it is a very old program) is the original
"GL" (Graphics Language).  SGI-proprietary, and what gave them a leg up
on everyone else.  This is called, in modern times, "IRIS GL" because it
was primarily associated with the SGI IRIS series of machines.  Later,
the OpenGL ARB was formed and "IRIS GL" was used as the starting point
for what later became "OpenGL".  They are NOT compatible libraries. 
IRIS GL only works on SGI's.  "Distributed GL" is IRIS GL's version of
"GLX".  "GLX" is what enables you to send OpenGL stuff over X
connections.







More information about the Discuss mailing list