<html>
    <head>
      <base href="https://bugzilla.gnome.org/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - GLES2 aborts with "Gdk-ERROR: Error flushing display: Broken pipe" quickly"
   href="https://bugzilla.gnome.org/show_bug.cgi?id=773205">773205</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>GLES2 aborts with "Gdk-ERROR: Error flushing display: Broken pipe" quickly
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Platform
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>gtk+
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>3.22.x
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>Normal
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Backend: Wayland
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>gtk-bugs@gtk.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>manday@openmail.cc
          </td>
        </tr>

        <tr>
          <th>QA Contact</th>
          <td>gtk-bugs@gtk.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>rob@robster.org.uk, wayland-bugs@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>GNOME version</th>
          <td>---
          </td>
        </tr></table>
      <p>
        <div>
        <pre>No X11 libraries, therefore no GLX and MESA is compiled without OpenGL support
and only GLES2 support (libepoxy was patched to compile under these
circumstances by applying the for instance
<a href="https://github.com/anholt/libepoxy/pull/80">https://github.com/anholt/libepoxy/pull/80</a> - but that shouldn't affect the
matter at hand).

libepoxy also had another bug, which would fail to report the correct value
from epoxy_egl_get_current_gl_context_api (s.a.
<a href="https://github.com/anholt/libepoxy/pull/90">https://github.com/anholt/libepoxy/pull/90</a>). Consequential attempts to load
libGL.so would crash any GTK program. For the sake of testing GLES2
capabilities, epoxy_egl_get_current_gl_context_api was modified and hardcoded
to return EGL_OPENGL_ES_API to the effect that GTK/epoxy would no longer
attempt to load libGL.so - (hopefully), this shouldn't affect the matter at
hand, either.

Then, with, for example WebkitGTK+ / MiniBrowser starting the program does
succeed (in the sense that it does not crash due to missing libGL.so). It also
seems to be able to render pages.

However (for example), right clicking on the page to bring up the context menu
will terminate the program with

Gdk-ERROR **: Error flushing display: Broken pipe.

The backtrace is inconclusive as far as I can see, from bottom to top:

main -> gtk_main -> g_main_loop_run -> ?? (glib) -> g_main_context_prepare ->
gdk_event_source_prepare(wayland/gdkeventsource.c:66) -> g_log ...</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>