From 1e3b74ee73f897bfe50c9bf27458c95870d8c317 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 4 Feb 2020 17:31:28 -0800 Subject: [PATCH] loader: Warn when we fail to open a device node due to permissions. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This is definitely not the first time I've debugged why I'm getting swrast on a device only to find out I'm not a member of the render node's group. This does mean that you'll get a warning print even without EGL_LOG_LEVEL set. This may be an issue if we expect people outside of the DRI node's group to actually be using swrast instead of getting their permissions fixed. Right now surfaceless throws a "libEGL warning: No hardware driver found, falling back to software rendering" in that case anyway, so this is just more informative. Reviewed-by: Tapani Pälli Reviewed-by: Iago Toral Quiroga Reviewed-by: Eric Engestrom Reviewed-by: Emil Velikov Tested-by: Marge Bot Part-of: --- src/loader/loader.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/loader/loader.c b/src/loader/loader.c index c896fdc3360..a6ad2ee075b 100644 --- a/src/loader/loader.c +++ b/src/loader/loader.c @@ -91,6 +91,10 @@ loader_open_device(const char *device_name) if (fd != -1) fcntl(fd, F_SETFD, fcntl(fd, F_GETFD) | FD_CLOEXEC); } + if (fd == -1 && errno == EACCES) { + log_(_LOADER_WARNING, "failed to open %s: %s\n", + device_name, strerror(errno)); + } return fd; } -- 2.30.2