<html>
    <head>
      <base href="https://bugs.freedesktop.org/" />
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED DUPLICATE - GLX and OpenGL should be separated"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=95079#c4">Comment # 4</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED DUPLICATE - GLX and OpenGL should be separated"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=95079">bug 95079</a>
              from <span class="vcard"><a class="email" href="mailto:emil.l.velikov@gmail.com" title="Emil Velikov <emil.l.velikov@gmail.com>"> <span class="fn">Emil Velikov</span></a>
</span></b>
        <pre>(In reply to Cédric Legrand from <a href="show_bug.cgi?id=95079#c3">comment #3</a>)
<span class="quote">> I'm sorry if I'm wrong, I don't know a lot of things about OpenGL
> implementation, but here are the facts:
> * Wayland EGL won't create an OpenGL context. All OpenGL functions are NULL
> when I try, only OpenGL ES is working. From the Wayland FAQ, this is because
> Linux OpenGL implementation is bound to GLX
> (<a href="https://wayland.freedesktop.org/faq.html#heading_toc_j_12">https://wayland.freedesktop.org/faq.html#heading_toc_j_12</a>).</span >
You can create OpenGL context with EGL as of version 1.2. The latter was
released/specced in 2005... some 11 years ago ;-)

<span class="quote">> * Mesa is only providing a libGL for both APIs
> * Nvidia is providing separated libraries with what seems to be a wrapper (I
> think for the historical reasons you are talking about), as I described in
> my first post.
> </span >
Nvidia is shipping the alpha/beta version of the GLVND "library" (it's a
collection of libraries as you can see).

<span class="quote">> I must admit that I don't know if the problem comes from the standards, the
> implementation or Wayland design, nor why exactly Nvidia did it this way.
> </span >
Just google "GLVND XDC". The Nvidia folks have a few presentations on the
topic.

<span class="quote">> By the way, as I see it, having them split would allow package maintainers
> to provide a version of Mesa without libX11 dependency. At the moment,
> libX11 is almost required, even on a Wayland/Mir system, but this will
> become less and less the case over time, until the day both worlds will be
> totally separated (and maybe X11 considered as deprecated).</span >
Possible deprecation of libX11 and/or alike has nothing to do with using
OpenGL.

I would welcome that you familiarise yourself with how mesa is build/packaged.
If done properly you can use wayland/mir/foo without anything X related. If you
spot that something is stopping you - please open bugs reports. I gladly look
into them.

<span class="quote">> This day, Mesa
> maintainers would have to ship two versions of the package: a mesa-gl
> without GLX, and a mesa-gl-compat with GLX, conflicting each other. With a
> split, libGL would be either a symlink to libOpenGL or a wrapper around
> libGLX and libOpenGL.
> </span >
So this is what brought you here. Distro maintainers, have shipped thing in a
way that seems awkward/conflicting. I feel your pain... I was there so I had to
move away to [a few] custom made packages years ago ;-)

<span class="quote">> > One can use OpenGL even if libGL is not present on the system
> Seems difficult, isn't actually libGL the OpenGL provider?

> As I said, I'm not turned into this, so I may be totally wrong. In this
> case, I would appreciate to know what I got wrong.
> </span >
As said above - EGL can give you a OpenGL context.

<span class="quote">> PS: I'm sorry if my English is not perfect, as my name stands I'm a
> Frenchie...</span >
Your English is quite fine. If anything I might have made more mistakes.

TL;DR; It's being looked into. Rewriting ~70% on the mesa side and having to
rework dozens of things within upstream GLVND takes some time.</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are the assignee for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>