path: root/hw/xfree86/common
diff options
authorKeith Packard <>2018-01-18 18:07:29 -0800
committerKeith Packard <>2018-06-28 22:54:22 -0700
commit38ff29ec8ead0a293f50ac52146199babe4205ca (patch)
tree17a13e35eee55b1aaf00d766bf62dff151ceac09 /hw/xfree86/common
parent2f39b2a07805194fdd7def30d941666963d6e670 (diff)
modesetting: Allow a DRM fd to be passed on command line with -masterfd [v2]
This lets an application open a suitable DRM device and pass the file descriptor to the mode setting driver through an X server command line option, '-masterfd'. There's a companion application, xlease, which creates a DRM master by leasing an output from another X server. That is available at git clone git:// v2: Always print usage, but note that it can't be used if setuid/gid Suggested-by: Lyude Paul <> Signed-off-by: Keith Packard <> Reviewed-by: Lyude Paul <>
Diffstat (limited to 'hw/xfree86/common')
2 files changed, 3 insertions, 0 deletions
diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
index e890f05c2..7cc7401a2 100644
--- a/hw/xfree86/common/xf86Globals.c
+++ b/hw/xfree86/common/xf86Globals.c
@@ -53,6 +53,8 @@ DevPrivateKeyRec xf86ScreenKeyRec;
ScrnInfoPtr *xf86Screens = NULL; /* List of ScrnInfos */
ScrnInfoPtr *xf86GPUScreens = NULL; /* List of ScrnInfos */
+int xf86DRMMasterFd = -1; /* Command line argument for DRM master file descriptor */
const unsigned char byte_reversed[256] = {
0x00, 0x80, 0x40, 0xc0, 0x20, 0xa0, 0x60, 0xe0,
0x10, 0x90, 0x50, 0xd0, 0x30, 0xb0, 0x70, 0xf0,
diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
index 4fe2b5f33..393af3900 100644
--- a/hw/xfree86/common/xf86Priv.h
+++ b/hw/xfree86/common/xf86Priv.h
@@ -93,6 +93,7 @@ extern _X_EXPORT int xf86LogVerbose; /* log file verbosity level */
extern ScrnInfoPtr *xf86GPUScreens; /* List of pointers to ScrnInfoRecs */
extern int xf86NumGPUScreens;
+extern _X_EXPORT int xf86DRMMasterFd; /* Command line argument for DRM master file descriptor */