diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2014-02-15 14:55:09 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2014-02-15 15:33:47 +0000 |
commit | 3d629c91cfa98b75c6685c2a2003e64fd1b612c4 (patch) | |
tree | c21f94455edfa9fe266c66e1f9329762b0a53dce /tools/Makefile.am | |
parent | a01548ccf192a5b1fa1f4a3e31e1634db39f6b39 (diff) |
intel: Add a helper for setting backlight without root rights
Once the xserver stops running as root on kms capabable systems, we will need
some other way to access the backlight.
The approach taken in this patch moves most of the heavy lifting to a
helper that runs with root privileges and pipes our requested brightness
into the sysfs backlight interface. Where required, we use pkexec to
launch the helper with the elevated privilege.
v2: Amalgamate much more of the duplicate code.
Keep the daemon and pipe alive for the lifetime of the backlight interface.
Provide an alternative for systems without PolicyKit.
Signed-off-by: Hans de Goede <hdegoede@redhat.com> [v1]
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'tools/Makefile.am')
-rw-r--r-- | tools/Makefile.am | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/tools/Makefile.am b/tools/Makefile.am index d294e2ad..a5667f34 100644 --- a/tools/Makefile.am +++ b/tools/Makefile.am @@ -20,23 +20,45 @@ AM_CFLAGS = \ @CWARNFLAGS@ \ - $(TOOL_CFLAGS) \ @NOWARNFLAGS@ \ $(NULL) drivermandir = $(DRIVER_MAN_DIR) +backlight_helperdir = $(prefix)/libexec +policydir = $(datarootdir)/polkit-1/actions +if BUILD_TOOLS bin_PROGRAMS = intel-virtual-output driverman_DATA = intel-virtual-output.$(DRIVER_MAN_SUFFIX) +endif + +if BUILD_BACKLIGHT_HELPER +backlight_helper_PROGRAMS = xf86-video-intel-backlight-helper +nodist_policy_DATA = org.x.xf86-video-intel.backlight-helper.policy + +backlight_helper = $(backlight_helperdir)/xf86-video-intel-backlight-helper +install-data-hook: + -chown root $(backlight_helper) && chmod u+s $(backlight_helper) +endif +intel_virtual_output_CFLAGS = \ + @CWARNFLAGS@ \ + $(TOOL_CFLAGS) \ + @NOWARNFLAGS@ \ + $(NULL) intel_virtual_output_SOURCES = \ virtual.c \ $(NULL) +intel_virtual_output_LDADD = \ + $(TOOL_LIBS) \ + $(NULL) -intel_virtual_output_LDADD = $(TOOL_LIBS) +xf86_video_intel_backlight_helper_SOURCES = \ + backlight_helper.c \ + $(NULL) -EXTRA_DIST = intel-virtual-output.man -CLEANFILES = $(driverman_DATA) +EXTRA_DIST = intel-virtual-output.man org.x.xf86-video-intel.backlight-helper.policy.in +CLEANFILES = $(driverman_DATA) $(nodist_policy_DATA) # String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure SUFFIXES = .$(DRIVER_MAN_SUFFIX) .man |