From 38ae53c94a88c7bd5877c72a12582b60865e07ff Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Thu, 17 Apr 2014 15:50:44 +0200
Subject: [PATCH] Fedora hack: Make the suid-root wrapper start the server with
 root rights

Do NOT upstream.

Since most display managers are not ready yet to start Xorg in way which will
keep it working without root-rights, see:
https://fedoraproject.org/wiki/Changes/XorgWithoutRootRights

Just keep starting X as root for now, but do it through the wrapper, by
overriding the needs_root_rights = -1 (auto) default and setting it to 1.

We set a special environment variable when starting X in a way where root
rights are not needed (from gdm and startx) and keep the upstream
needs_root_rights = -1 (auto) default in that case.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
 hw/xfree86/xorg-wrapper.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c
index 4c37cfc..ae5d27f 100644
--- a/hw/xfree86/xorg-wrapper.c
+++ b/hw/xfree86/xorg-wrapper.c
@@ -198,6 +198,9 @@ int main(int argc, char *argv[])
     int needs_root_rights = -1;
     char *const empty_envp[1] = { NULL, };
 
+    if (getenv("XORG_RUN_AS_USER_OK") == NULL)
+        needs_root_rights = 1;
+
     progname = argv[0];
 
     parse_config(&allowed, &needs_root_rights);
-- 
2.4.3

