backend/session: make udev dependency optional

udev is now optional at build-time but will fail at runtime because
we don't have an alternative implementation yet.
This commit is contained in:
Simon Ser 2026-05-24 13:54:23 +02:00
parent e8b81b3d4a
commit 905ebaa89a
5 changed files with 31 additions and 10 deletions

View file

@ -15,9 +15,13 @@
#include <xf86drm.h>
#include <xf86drmMode.h>
#include "backend/session/session.h"
#include "backend/session/udev.h"
#include "config.h"
#include "util/time.h"
#if HAVE_UDEV
#include "backend/session/udev.h"
#endif
#define WAIT_GPU_TIMEOUT 10000 // ms
struct wlr_device *session_find_device_by_devid(struct wlr_session *session, dev_t devid) {
@ -188,11 +192,16 @@ struct wlr_session *wlr_session_create(struct wl_event_loop *event_loop) {
goto error_open;
}
#if HAVE_UDEV
session->device_manager = wlr_udev_device_manager_create(session);
if (session->device_manager == NULL) {
wlr_log(WLR_ERROR, "Failed to create udev device manager");
goto error_session;
}
#else
wlr_log(WLR_ERROR, "Session requires udev");
goto error_session;
#endif
session->event_loop_destroy.notify = handle_event_loop_destroy;
wl_event_loop_add_destroy_listener(event_loop, &session->event_loop_destroy);