summaryrefslogtreecommitdiffhomepage
path: root/packages/kernel/src/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'packages/kernel/src/server.cpp')
-rw-r--r--packages/kernel/src/server.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/packages/kernel/src/server.cpp b/packages/kernel/src/server.cpp
index a0627f4..a5f8365 100644
--- a/packages/kernel/src/server.cpp
+++ b/packages/kernel/src/server.cpp
@@ -145,7 +145,10 @@ void Server::Impl::init() {
wlr_log_init(WLR_INFO, nullptr);
display = require(wl_display_create(), "wl_display");
- backend = require(wlr_backend_autocreate(wl_display_get_event_loop(display), nullptr),
+ // Capture the session out-param: on the real DRM seat it is the libseat
+ // session the VT-switch escape hatch (input.cpp) drives; NULL under
+ // headless/nested (no real seat), where VT switching no-ops cleanly.
+ backend = require(wlr_backend_autocreate(wl_display_get_event_loop(display), &session),
"wlr_backend");
renderer = require(wlr_renderer_autocreate(backend), "wlr_renderer");
wlr_renderer_init_wl_display(renderer, display);