aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
Diffstat (limited to 'sway')
-rw-r--r--sway/main.c2
-rw-r--r--sway/server.c5
2 files changed, 7 insertions, 0 deletions
diff --git a/sway/main.c b/sway/main.c
index 21f19fc4..73254dc2 100644
--- a/sway/main.c
+++ b/sway/main.c
@@ -162,6 +162,8 @@ void enable_debug_flag(const char *flag) {
debug.txn_timings = true;
} else if (strncmp(flag, "txn-timeout=", 12) == 0) {
server.txn_timeout_ms = atoi(&flag[12]);
+ } else if (strcmp(flag, "legacy-wl-drm") == 0) {
+ debug.legacy_wl_drm = true;
} else {
sway_log(SWAY_ERROR, "Unknown debug flag: %s", flag);
}
diff --git a/sway/server.c b/sway/server.c
index 33b25000..73bf9d70 100644
--- a/sway/server.c
+++ b/sway/server.c
@@ -13,6 +13,7 @@
#include <wlr/types/wlr_content_type_v1.h>
#include <wlr/types/wlr_cursor_shape_v1.h>
#include <wlr/types/wlr_data_control_v1.h>
+#include <wlr/types/wlr_drm.h>
#include <wlr/types/wlr_export_dmabuf_v1.h>
#include <wlr/types/wlr_fractional_scale_v1.h>
#include <wlr/types/wlr_gamma_control_v1.h>
@@ -191,6 +192,10 @@ bool server_init(struct sway_server *server) {
server->linux_dmabuf_v1 = wlr_linux_dmabuf_v1_create_with_renderer(
server->wl_display, 4, server->renderer);
}
+ if (wlr_renderer_get_dmabuf_texture_formats(server->renderer) != NULL &&
+ debug.legacy_wl_drm) {
+ wlr_drm_create(server->wl_display, server->renderer);
+ }
server->allocator = wlr_allocator_autocreate(server->backend,
server->renderer);