summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGiovanni Campagna <gcampagn@redhat.com>2013-07-17 14:08:32 +0200
committerGiovanni Campagna <gcampagn@redhat.com>2013-08-13 09:32:17 +0200
commitdab054200cb2135da2303ed0909a906da3c05083 (patch)
treef3cd5c06b79f2bd21a78dea98c4a77f3fda0cb36
parenta4fa5711f9237314c980815537a3427702380463 (diff)
downloadcogl-dab054200cb2135da2303ed0909a906da3c05083.tar.gz
egl-kms: set the EGL_PLATFORM explicitly
Otherwise, if we try egl-wayland first, we get the environment variable from that, which crashes mesa trying to open the gbm device as a wayland display. https://bugzilla.gnome.org/show_bug.cgi?id=705836
-rw-r--r--cogl/winsys/cogl-winsys-egl-kms.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/cogl/winsys/cogl-winsys-egl-kms.c b/cogl/winsys/cogl-winsys-egl-kms.c
index 0e704223..1c9cafb2 100644
--- a/cogl/winsys/cogl-winsys-egl-kms.c
+++ b/cogl/winsys/cogl-winsys-egl-kms.c
@@ -268,6 +268,12 @@ _cogl_winsys_renderer_connect (CoglRenderer *renderer,
egl_renderer->platform = g_slice_new0 (CoglRendererKMS);
kms_renderer = egl_renderer->platform;
+ /* The EGL API doesn't provide for a way to explicitly select a
+ * platform when the driver can support multiple. Mesa allows
+ * selection using an environment variable though so that's what
+ * we're doing here... */
+ g_setenv ("EGL_PLATFORM", "drm", 1);
+
kms_renderer->fd = open (device_name, O_RDWR);
if (kms_renderer->fd < 0)
{