From cb466dd8940a3601c91fe367a5958c28b148e8f0 Mon Sep 17 00:00:00 2001 From: jojo61 Date: Thu, 7 May 2020 10:53:51 +0200 Subject: [PATCH] No root for softhddrm needed anymore --- drm.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/drm.c b/drm.c index cb5c833..af2c16b 100644 --- a/drm.c +++ b/drm.c @@ -240,8 +240,28 @@ static int FindDevice(VideoRender * render) fprintf(stderr, "FindDevice: cannot open /dev/dri/card0: %m\n"); return -errno; } - drmSetMaster(render->fd_drm); + + int ret = drmSetMaster(render->fd_drm); + + if (ret < 0) + { + drm_magic_t magic; + ret = drmGetMagic(render->fd_drm, &magic); + if (ret < 0) + { + Debug(3, "drm:%s - failed to get drm magic: %s\n", __FUNCTION__, strerror(errno)); + return -1; + } + + ret = drmAuthMagic(render->fd_drm, magic); + if (ret < 0) + { + Debug(3, "drm:%s - failed to authorize drm magic: %s\n", __FUNCTION__, strerror(errno)); + return -1; + } + } + version = drmGetVersion(render->fd_drm); fprintf(stderr, "FindDevice: open /dev/dri/card0: %s\n", version->name);