diff options
author | Eric Anholt <[email protected]> | 2020-02-04 17:31:28 -0800 |
---|---|---|
committer | Marge Bot <[email protected]> | 2020-04-01 09:32:25 +0000 |
commit | 1e3b74ee73f897bfe50c9bf27458c95870d8c317 (patch) | |
tree | 386959732041f7716c6052b3db57fd8fcb5fb8d3 | |
parent | 15a9f6c07228f59401954bb18b9c2f980297f634 (diff) |
loader: Warn when we fail to open a device node due to permissions.
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 <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3703>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3703>
-rw-r--r-- | src/loader/loader.c | 4 |
1 files changed, 4 insertions, 0 deletions
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; } |