aboutsummaryrefslogtreecommitdiffstats
path: root/sway/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/server.c')
-rw-r--r--sway/server.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/sway/server.c b/sway/server.c
index b187fcd5..0d179c88 100644
--- a/sway/server.c
+++ b/sway/server.c
@@ -73,12 +73,23 @@ static void handle_drm_lease_request(struct wl_listener *listener, void *data) {
73bool server_init(struct sway_server *server) { 73bool server_init(struct sway_server *server) {
74 sway_log(SWAY_DEBUG, "Initializing Wayland server"); 74 sway_log(SWAY_DEBUG, "Initializing Wayland server");
75 75
76 struct wlr_renderer *renderer = wlr_backend_get_renderer(server->backend); 76 server->renderer = wlr_renderer_autocreate(server->backend);
77 assert(renderer); 77 if (!server->renderer) {
78 sway_log(SWAY_ERROR, "Failed to create renderer");
79 return false;
80 }
81
82 wlr_renderer_init_wl_display(server->renderer, server->wl_display);
78 83
79 wlr_renderer_init_wl_display(renderer, server->wl_display); 84 server->allocator = wlr_allocator_autocreate(server->backend,
85 server->renderer);
86 if (!server->allocator) {
87 sway_log(SWAY_ERROR, "Failed to create allocator");
88 return false;
89 }
80 90
81 server->compositor = wlr_compositor_create(server->wl_display, renderer); 91 server->compositor = wlr_compositor_create(server->wl_display,
92 server->renderer);
82 server->compositor_new_surface.notify = handle_compositor_new_surface; 93 server->compositor_new_surface.notify = handle_compositor_new_surface;
83 wl_signal_add(&server->compositor->events.new_surface, 94 wl_signal_add(&server->compositor->events.new_surface,
84 &server->compositor_new_surface); 95 &server->compositor_new_surface);
@@ -212,7 +223,8 @@ bool server_init(struct sway_server *server) {
212 root->noop_output = output_create(wlr_output); 223 root->noop_output = output_create(wlr_output);
213 224
214 server->headless_backend = 225 server->headless_backend =
215 wlr_headless_backend_create_with_renderer(server->wl_display, renderer); 226 wlr_headless_backend_create_with_renderer(server->wl_display,
227 server->renderer);
216 if (!server->headless_backend) { 228 if (!server->headless_backend) {
217 sway_log(SWAY_INFO, "Failed to create secondary headless backend, " 229 sway_log(SWAY_INFO, "Failed to create secondary headless backend, "
218 "starting without it"); 230 "starting without it");