aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/backend.c7
-rw-r--r--backend/meson.build1
-rw-r--r--backend/x11/backend.c30
3 files changed, 35 insertions, 3 deletions
diff --git a/backend/backend.c b/backend/backend.c
index 88b9dfbc..21f342ad 100644
--- a/backend/backend.c
+++ b/backend/backend.c
@@ -10,6 +10,7 @@
#include <wlr/backend/drm.h>
#include <wlr/backend/libinput.h>
#include <wlr/backend/wayland.h>
+#include <wlr/backend/x11.h>
#include <wlr/backend/multi.h>
#include <wlr/util/log.h>
@@ -77,9 +78,9 @@ struct wlr_backend *wlr_backend_autocreate(struct wl_display *display) {
}
}
- if (getenv("DISPLAY")) {
- wlr_log(L_ERROR, "X11 backend is not implemented"); // TODO
- return NULL;
+ const char *x11_display = getenv("DISPLAY");
+ if (x11_display) {
+ return wlr_x11_backend_create(x11_display);
}
// Attempt DRM+libinput
diff --git a/backend/meson.build b/backend/meson.build
index a3cb7b64..9e3b6fed 100644
--- a/backend/meson.build
+++ b/backend/meson.build
@@ -22,6 +22,7 @@ backend_files = files(
'wayland/registry.c',
'wayland/wl_seat.c',
'wayland/os-compatibility.c',
+ 'x11/backend.c',
)
if systemd.found()
diff --git a/backend/x11/backend.c b/backend/x11/backend.c
new file mode 100644
index 00000000..be022a7a
--- /dev/null
+++ b/backend/x11/backend.c
@@ -0,0 +1,30 @@
+#include <stdbool.h>
+#include <wlr/backend/interface.h>
+#include <wlr/backend/x11.h>
+#include <wlr/egl.h>
+#include "backend/x11.h"
+
+struct wlr_backend *wlr_x11_backend_create(const char *display) {
+ return NULL;
+}
+
+static bool wlr_x11_backend_start(struct wlr_backend *backend) {
+ return false;
+}
+
+static void wlr_x11_backend_destroy(struct wlr_backend *backend) {
+}
+
+struct wlr_egl *wlr_x11_backend_get_egl(struct wlr_backend *backend) {
+ return NULL;
+}
+
+static struct wlr_backend_impl backend_impl = {
+ .start = wlr_x11_backend_start,
+ .destroy = wlr_x11_backend_destroy,
+ .get_egl = wlr_x11_backend_get_egl,
+};
+
+bool wlr_backend_is_x11(struct wlr_backend *backend) {
+ return backend->impl == &backend_impl;
+}