Bug 53361 - Commit of Mesa broke Wayland's weston on some graphics cards
Commit of Mesa broke Wayland's weston on some graphics cards
Status: RESOLVED FIXED
Product: Mesa
Classification: Unclassified
Component: Mesa core
unspecified
Other All
: medium normal
Assigned To: mesa-dev
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-11 02:08 UTC by nerdopolis1
Modified: 2012-08-29 07:25 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nerdopolis1 2012-08-11 02:08:25 UTC
Hi. It seems some EGL related commits causes issues with Wayland's weston clients.
There are many users reporting this issue.

Weston clients fails with:
failed to get cairo egl argb device
failed to create display: No such file or directory
libEGL debug: Display 0x82fce0 is destroyed with resources
-------------------------------------------------
And it looks like it could be between
http://cgit.freedesktop.org/mesa/mesa/commit/?id=63adb6b9eaa723f6bf9603f3f567e04451df857e
and
http://cgit.freedesktop.org/mesa/mesa/commit/?id=45e592c3dd4101c6706c5b2e6bb0e6e1f62017f5
that caused the breakage I think.

Weston clients work again by reverting to commit 102617bc5206e459bb1743d2d72341dbfe77bc58
Comment 1 Darxus 2012-08-11 02:12:50 UTC
The weston code that's failing is:

#ifdef HAVE_CAIRO_EGL
	d->argb_device = cairo_egl_device_create(d->dpy, d->argb_ctx);
	if (cairo_device_status(d->argb_device) != CAIRO_STATUS_SUCCESS) {
		fprintf(stderr, "failed to get cairo egl argb device\n");
		return -1;
	}
#endif

- http://cgit.freedesktop.org/wayland/weston/tree/clients/window.c

So a workaround is to rebuild cairo without --enable-gl.
Comment 2 charliemacdev 2012-08-11 16:31:12 UTC
This actually appears to be a bug in Cairo. As of Mesa commit b50703aea55450e04bcd8154335774786e0f253b there is no longer a "KHR_surfaceless_opengl" extension which Cairo looks for in cairo-egl-context.c. Will try to file upstream.
Comment 3 Darxus 2012-08-12 19:51:41 UTC
Thanks.  Did a cairo bug get opened?  I don't see it.
Comment 4 Matt Turner 2012-08-12 20:06:56 UTC
(In reply to comment #3)
> Thanks.  Did a cairo bug get opened?  I don't see it.

No, it was fixed.

http://cgit.freedesktop.org/cairo/commit/?id=f59b0914f4ddbff0d116c918343a6726d5f4317b
Comment 5 Chris Wilson 2012-08-29 07:25:33 UTC
Cairo was fixed to check both extension names before falling back to an EGL pbuffer.