This is the first step towards being able to run via DRM leasing and on render
nodes.
Test with:
    export WLR_BACKENDS=drm
    export WLR_SESSION=noop
    export WLR_DRM_DEVICES=/dev/dri/renderD128
			
			
				master
			
			
		
							parent
							
								
									755a1c9138
								
							
						
					
					
						commit
						8efeca528f
					
				| @ -0,0 +1,48 @@ | |||||||
|  | #define _POSIX_C_SOURCE 200809L | ||||||
|  | #include <fcntl.h> | ||||||
|  | #include <stdbool.h> | ||||||
|  | #include <stdlib.h> | ||||||
|  | #include <unistd.h> | ||||||
|  | #include <wayland-server.h> | ||||||
|  | #include <wlr/backend/session/interface.h> | ||||||
|  | #include <wlr/util/log.h> | ||||||
|  | #include "util/signal.h" | ||||||
|  | 
 | ||||||
|  | const struct session_impl session_noop; | ||||||
|  | 
 | ||||||
|  | static int noop_session_open(struct wlr_session *base, const char *path) { | ||||||
|  | 	return open(path, O_RDWR | O_CLOEXEC); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static void noop_session_close(struct wlr_session *base, int fd) { | ||||||
|  | 	close(fd); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static bool noop_change_vt(struct wlr_session *base, unsigned vt) { | ||||||
|  | 	return false; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static void noop_session_destroy(struct wlr_session *base) { | ||||||
|  | 	free(base); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | static struct wlr_session *noop_session_create(struct wl_display *disp) { | ||||||
|  | 	struct wlr_session *session = calloc(1, sizeof(*session)); | ||||||
|  | 	if (!session) { | ||||||
|  | 		wlr_log_errno(WLR_ERROR, "Allocation failed"); | ||||||
|  | 		return NULL; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
|  | 	session->impl = &session_noop; | ||||||
|  | 
 | ||||||
|  | 	wlr_log(WLR_INFO, "Successfully initialized noop session"); | ||||||
|  | 	return session; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | const struct session_impl session_noop = { | ||||||
|  | 	.create = noop_session_create, | ||||||
|  | 	.destroy = noop_session_destroy, | ||||||
|  | 	.open = noop_session_open, | ||||||
|  | 	.close = noop_session_close, | ||||||
|  | 	.change_vt = noop_change_vt, | ||||||
|  | }; | ||||||
					Loading…
					
					
				
		Reference in new issue