Bug 53361 - Commit of Mesa broke Wayland's weston on some graphics cards
Summary: Commit of Mesa broke Wayland's weston on some graphics cards
Alias: None
Product: Mesa
Classification: Unclassified
Component: Mesa core (show other bugs)
Version: unspecified
Hardware: Other All
: medium normal
Assignee: mesa-dev
QA Contact:
Depends on:
Reported: 2012-08-11 02:08 UTC by nerdopolis1
Modified: 2012-08-29 07:25 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


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
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:

	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;

- 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.

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.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.