backend/x11: add error logging to query_dri3_drm_fd()

This commit is contained in:
Simon Ser 2024-03-02 13:14:12 +01:00
parent 2a897af7dc
commit e3ab52af7b

View file

@ -261,11 +261,13 @@ static int query_dri3_drm_fd(struct wlr_x11_backend *x11) {
xcb_dri3_open_reply_t *open_reply = xcb_dri3_open_reply_t *open_reply =
xcb_dri3_open_reply(x11->xcb, open_cookie, NULL); xcb_dri3_open_reply(x11->xcb, open_cookie, NULL);
if (open_reply == NULL) { if (open_reply == NULL) {
wlr_log(WLR_ERROR, "Failed to open DRI3");
return -1; return -1;
} }
int *open_fds = xcb_dri3_open_reply_fds(x11->xcb, open_reply); int *open_fds = xcb_dri3_open_reply_fds(x11->xcb, open_reply);
if (open_fds == NULL) { if (open_fds == NULL) {
wlr_log(WLR_ERROR, "xcb_dri3_open_reply_fds() failed");
free(open_reply); free(open_reply);
return -1; return -1;
} }
@ -277,10 +279,12 @@ static int query_dri3_drm_fd(struct wlr_x11_backend *x11) {
int flags = fcntl(drm_fd, F_GETFD); int flags = fcntl(drm_fd, F_GETFD);
if (flags < 0) { if (flags < 0) {
wlr_log_errno(WLR_ERROR, "Failed to get DRM FD flags");
close(drm_fd); close(drm_fd);
return -1; return -1;
} }
if (fcntl(drm_fd, F_SETFD, flags | FD_CLOEXEC) < 0) { if (fcntl(drm_fd, F_SETFD, flags | FD_CLOEXEC) < 0) {
wlr_log_errno(WLR_ERROR, "Failed to set DRM FD flags");
close(drm_fd); close(drm_fd);
return -1; return -1;
} }
@ -288,6 +292,7 @@ static int query_dri3_drm_fd(struct wlr_x11_backend *x11) {
if (drmGetNodeTypeFromFd(drm_fd) != DRM_NODE_RENDER) { if (drmGetNodeTypeFromFd(drm_fd) != DRM_NODE_RENDER) {
char *render_name = drmGetRenderDeviceNameFromFd(drm_fd); char *render_name = drmGetRenderDeviceNameFromFd(drm_fd);
if (render_name == NULL) { if (render_name == NULL) {
wlr_log(WLR_ERROR, "Failed to get DRM render node name from DRM FD");
close(drm_fd); close(drm_fd);
return -1; return -1;
} }
@ -295,6 +300,7 @@ static int query_dri3_drm_fd(struct wlr_x11_backend *x11) {
close(drm_fd); close(drm_fd);
drm_fd = open(render_name, O_RDWR | O_CLOEXEC); drm_fd = open(render_name, O_RDWR | O_CLOEXEC);
if (drm_fd < 0) { if (drm_fd < 0) {
wlr_log_errno(WLR_ERROR, "Failed to open DRM render node '%s'", render_name);
free(render_name); free(render_name);
return -1; return -1;
} }