Move buffer creation and buffer details into drm.c and shm.c
diff --git a/compositor/compositor-x11.c b/compositor/compositor-x11.c
index 722bd94..7e7c8ca 100644
--- a/compositor/compositor-x11.c
+++ b/compositor/compositor-x11.c
@@ -676,6 +676,11 @@
 	if (x11_compositor_init_egl(c) < 0)
 		return NULL;
 
+	c->base.destroy = x11_destroy;
+	c->base.authenticate = x11_authenticate;
+	c->base.present = x11_compositor_present;
+	c->base.create_buffer = wlsc_drm_buffer_create;
+
 	/* Can't init base class until we have a current egl context */
 	if (wlsc_compositor_init(&c->base, display) < 0)
 		return NULL;
@@ -693,9 +698,5 @@
 				     WL_EVENT_READABLE,
 				     x11_compositor_handle_event, c);
 
-	c->base.destroy = x11_destroy;
-	c->base.authenticate = x11_authenticate;
-	c->base.present = x11_compositor_present;
-
 	return &c->base;
 }