compositor-x11: Use x11 egl platform
diff --git a/compositor/compositor-x11.c b/compositor/compositor-x11.c
index 4365c0a..ae68a1c 100644
--- a/compositor/compositor-x11.c
+++ b/compositor/compositor-x11.c
@@ -34,6 +34,9 @@
 #include <xcb/dri2.h>
 #include <xcb/xfixes.h>
 
+#include <X11/Xlib.h>
+#include <X11/Xlib-xcb.h>
+
 #define GL_GLEXT_PROTOTYPES
 #define EGL_EGLEXT_PROTOTYPES
 #include <GLES2/gl2.h>
@@ -48,6 +51,7 @@
 struct x11_compositor {
 	struct wlsc_compositor	 base;
 
+	Display			*dpy;
 	xcb_connection_t	*conn;
 	xcb_screen_t		*screen;
 	xcb_cursor_t		 null_cursor;
@@ -220,7 +224,6 @@
 {
 	EGLint major, minor;
 	const char *extensions;
-	drm_magic_t magic;
 	static const EGLint context_attribs[] = {
 		EGL_CONTEXT_CLIENT_VERSION, 2,
 		EGL_NONE
@@ -229,15 +232,7 @@
 	if (dri2_connect(c) < 0)
 		return -1;
 
-	if (drmGetMagic(c->base.drm.fd, &magic)) {
-		fprintf(stderr, "DRI2: failed to get drm magic\n");
-		return -1;
-	}
-
-	if (dri2_authenticate(c, magic) < 0)
-		return -1;
-
-	c->base.display = eglGetDRMDisplayMESA(c->base.drm.fd);
+	c->base.display = eglGetDisplay(c->dpy);
 	if (c->base.display == NULL) {
 		fprintf(stderr, "failed to create display\n");
 		return -1;
@@ -754,7 +749,9 @@
 		return NULL;
 
 	memset(c, 0, sizeof *c);
-	c->conn = xcb_connect(0, 0);
+
+	c->dpy = XOpenDisplay(NULL);
+	c->conn = XGetXCBConnection(c->dpy);
 
 	if (xcb_connection_has_error(c->conn))
 		return NULL;