Documentation for <wlr/types/wlr_drm.h>

Back to index

Table of contents

struct wlr_drm

struct wlr_drm {
	struct wl_global *global;
	struct {
		struct wl_signal destroy;
	} events;
	// private state
	char *node_name;
	struct wlr_drm_format_set formats;
	struct wl_listener display_destroy;

A stub implementation of Mesa's wl_drm protocol.

It only implements the minimum necessary for modern clients to behave properly. In particular, flink handles are left unimplemented.

Deprecated: this protocol is legacy and superseded by linux-dmabuf. The implementation will be dropped in a future wlroots version.

struct wlr_drm_buffer

struct wlr_drm_buffer {
	struct wlr_buffer base;
	struct wl_resource *resource; // can be NULL if the client destroyed it
	struct wlr_dmabuf_attributes dmabuf;
	struct wl_listener release;


struct wlr_drm_buffer *wlr_drm_buffer_try_from_resource(​struct wl_resource *resource);


struct wlr_drm *wlr_drm_create(​struct wl_display *display, struct wlr_renderer *renderer);