<div dir="auto">Thank you both. <div dir="auto"><br></div><div dir="auto">I've started looking in to using VirtualGL. I got it working but am finding almost similar performance as the software rendering when using vanilla X11 Forwarding. Since this is my first rodeo with VirtualGL I'm sure that there is some setting that I have not configured properly... Or, it could simply be throttled by my work's VPN connection.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 3, 2020, 12:56 PM Adam Jackson <<a href="mailto:ajax@nwnk.net">ajax@nwnk.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, 2020-06-02 at 13:10 -0400, Nathan Kidd wrote:<br>
<br>
> Are you sure you don't want VirtualGL instead?<br>
> <br>
> There is no official GLX protocol for OpenGL 1.5+. NVIDIA implemented<br>
> unofficial protocol with their AllowUnofficialGLXProtocol /<br>
> __GL_ALLOW_UNOFFICIAL_PROTOCOL settings.  I think it allows up to the<br>
> OpenGL 2.x range but I haven't looked in detail.<br>
<br>
This isn't quite accurate. GLX is in fact defined through OpenGL 3.0:<br>
<br>
<a href="https://github.com/KhronosGroup/OpenGL-Registry/blob/master/xml/glxproto.reserved.txt#L325" rel="noreferrer noreferrer" target="_blank">https://github.com/KhronosGroup/OpenGL-Registry/blob/master/xml/glxproto.reserved.txt#L325</a><br>
<br>
Don't feel bad about not knowing that, the spec for everything past 1.5<br>
was lost in a Khronos-internal svn repo until a few years ago. (To be<br>
clear, thank you Khronos for letting me dig that out of the vault and<br>
add it to the public registry, and for otherwise being extremely<br>
excellent about GLX feedback.) But, neither Mesa's GLX client code nor<br>
xserver's GLX server code implements anything past 1.5, partly because<br>
it's all tied up with codegen scripts nobody understands or likes.<br>
<br>
If I recall correctly NVIDIA's unofficial GLX extensions will get you<br>
GL 3.3, and probably we could just go ahead and standardize them. And<br>
for that matter if we want to define the protocol through to 4.6 we're<br>
perfectly free to do so, the wire encoding is mostly a mechanical<br>
transformation of the GL API so it's not exactly rocket surgery.<br>
<br>
If anyone is interested in working on any of that, please get in touch,<br>
I'll be happy to point you in the right direction.<br>
<br>
To the OP's question: if all you're looking for is GL feature set and<br>
semi-reasonable performance, you may be able to use Mesa's swr or<br>
llvmpipe drivers instead, which will give you GL 3.3 independently of<br>
the GLX protocol your server happens to implement.<br>
<br>
- ajax<br>
<br>
</blockquote></div>