mirror of
				https://gitlab.freedesktop.org/wlroots/wlroots.git
				synced 2025-11-03 09:01:40 -05:00 
			
		
		
		
	Sometimes the headless backend is used standalone with the Pixman renderer, sometimes it's used together with another backend which has already picked a DRM FD. In both of these cases it doesn't make sense to pick a DRM FD. Broadly speaking the headless backend doesn't really care which DRM device is used for the buffers it receives. So it doesn't really make sense to tie it to a particular DRM device. Let the backend users (e.g. wlr_renderer_autocreate) open an arbitrary DRM FD as needed instead.
		
			
				
	
	
		
			38 lines
		
	
	
	
		
			840 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
	
		
			840 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef BACKEND_HEADLESS_H
 | 
						|
#define BACKEND_HEADLESS_H
 | 
						|
 | 
						|
#include <wlr/backend/headless.h>
 | 
						|
#include <wlr/backend/interface.h>
 | 
						|
 | 
						|
#define HEADLESS_DEFAULT_REFRESH (60 * 1000) // 60 Hz
 | 
						|
 | 
						|
struct wlr_headless_backend {
 | 
						|
	struct wlr_backend backend;
 | 
						|
	struct wl_display *display;
 | 
						|
	struct wl_list outputs;
 | 
						|
	size_t last_output_num;
 | 
						|
	struct wl_list input_devices;
 | 
						|
	struct wl_listener display_destroy;
 | 
						|
	bool started;
 | 
						|
};
 | 
						|
 | 
						|
struct wlr_headless_output {
 | 
						|
	struct wlr_output wlr_output;
 | 
						|
 | 
						|
	struct wlr_headless_backend *backend;
 | 
						|
	struct wl_list link;
 | 
						|
 | 
						|
	struct wl_event_source *frame_timer;
 | 
						|
	int frame_delay; // ms
 | 
						|
};
 | 
						|
 | 
						|
struct wlr_headless_input_device {
 | 
						|
	struct wlr_input_device wlr_input_device;
 | 
						|
	struct wl_list link;
 | 
						|
	struct wlr_headless_backend *backend;
 | 
						|
};
 | 
						|
 | 
						|
struct wlr_headless_backend *headless_backend_from_backend(
 | 
						|
	struct wlr_backend *wlr_backend);
 | 
						|
 | 
						|
#endif
 |