Bug 90079 - drmSetMaster and drmDropMaster need root privileges
Summary: drmSetMaster and drmDropMaster need root privileges
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/other (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: medium normal
Assignee: Default DRI bug account
QA Contact:
Depends on:
Reported: 2015-04-17 21:11 UTC by g1938560
Modified: 2019-10-14 13:20 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Description g1938560 2015-04-17 21:11:41 UTC
I run a small, user-space program that renders images in my virtual console with drmModeSetCRTC and family. I also support virtual terminal switching with ioctl() on stuff from linux/vt.h and some basic signal handling.

Switching back to X server, however, just renders... nothing.

Apparently I'm supposed to call drmDropMaster so that X server can pick up from there. I get -1 and errno is set to Permission Denied. When run as root, it works as expected.

Is there any reason why these functions require root privileges?
More importantly, is there any workaround for this so that my user space program can let X server draw its stuff once user switches back to X's virtual terminal?
Comment 1 Emil Velikov 2015-04-21 17:49:37 UTC
The root limitation when using the KMS API is deliberate. If your program only wants to render things then opening/using a render node is what you want.

Looking at the problem from another angle:
As of recently one could use X server without root access, although that involves using systemd-logind. Not 100% if that will do exactly what you want but having a quick look at the code and checking David's blog [1] on the topic won't hurt.

[1] https://dvdhrm.wordpress.com/
Comment 2 Martin Peres 2019-10-14 13:20:12 UTC

Freedesktop's Bugzilla instance is EOLed and open bugs are about to be migrated to http://gitlab.freedesktop.org.

To avoid migrating out of date bugs, I am now closing all the bugs that did not see any activity in the past year. If the issue is still happening, please create a new bug in the relevant project at https://gitlab.freedesktop.org/drm (use misc by default).

Sorry about the noise!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.