[APP][2.3+] Lux Auto Brightness


Senior Member
Apr 12, 2011

Lux - The Original Android Auto-Brightness App

So I thought I should make an XDA thread for Lux, over a year after releasing it to the Play Store!



If you have any issues or suggestions, please add them to the public issue tracker found here. Be sure to search first, duplicated issues will not work in your favour.

  • Update to 1.51 released to Play Store!
    - Profiles. Have different behaviour for day and night!
    - Root plug-ins. Custom kernel with RGB control? Make a plug-in to utilise it!
    - Improved notification
    - Low pass filter
    - Cubic interpolation
    - Polish/French/Russian/German/Italian translation
    - Manual sunrise location input
    - Control Dashboard slider with vol. keys
    - Fade duration/step
    - Reduced battery usage
    - Fixes

  • Update to 1.06 released to Play Store!
    - Automatic night mode (uses location for sunset/sunrise).
    - Notification priority
    - Enhanced dashboard and notification UI
    - Enable/disable and refresh Lux via Tasker
    - Bug fixes

  • Update to 0.76 released to Play Store!
    - Fixed brightness issues after call

  • Update to 0.74 released to Play Store!
    - Fixed max/phone brightness preferences swapped
    - Added ignore 0 lux option
    - Made static phone brightness optional

  • Update to 0.70 released to Play Store!
    - New 'ascending' automatic mode for zero jitter!
    - Expandable notification for added control (Android 4.1+)
    - Improved efficiency
    - Install to OS functionality
    - Set min/max brightness bounds
    - Adjustable night mode
    - Improved persistence (Android won't kill it!)
    - Fixed Nexus 7 255 luma bug
    - Fixed Tasker 'on wake' revert bug
    - Compat. mode is now known as 'sleep mode'
    - Night Mode now default Dashboard action (hold for Astro. mode)
    - Misc. tweaks and fixes.

App Description

Lux isn't your ordinary brightness app. It intelligently adjusts the brightness of your display based on the environment you're in. If, for example, you step into a dimly lit room, Lux will automatically lower the brightness of your display to make it not only comfortable to read, but to also preserve battery power.
Lux provides the option to automatically adjust the backlight at fixed intervals (periodic mode), when a change in environment is detected (dynamic mode), or when the phone wakes from sleep. It's also possible to adjust the backlight manually. Simply disable automatic mode and you can use it like a traditional brightness tool!
Perhaps the best thing about Lux is that you can teach it how to behave. If the backlight is too bright or dim for your liking, simply open the provided Dashboard, adjust the brightness slider to the level you desire, then hold the link button. Lux will use this new 'link' as a reference in future.

Give it a go! I want you to test Lux for more than the 15 minute refund period offered by Google. I understand that some devices may not have the best quality light sensor, and that you may need more time to play around with settings. If you find that Lux doesn't suit you after the 15 minutes is up, you can request a refund at any time via e-mail - no questions asked.

■ Custom auto brightness.
■ Sub-zero brightness to make reading in the dark significantly less irritating.
■ Battery efficient
■ Handy brightness widget
■ Option to use the camera to read in ambient light.
■ Power-user settings such as choice of interpolation, sensor debugging, and linked sample editing.
■ Backup to SD.
■ 'Ascending' auto mode for phones with inaccurate light sensors.
■ Gradual fade for backlight adjustments.
■ Astronomer mode adds a red filter to the screen to preserve the eyesight of stargazers.
■ Jitter control to prevent constant small changes to the backlight.
■ Automatic night mode, to change the colour temperature of the display for comfortable night time viewing.
■ Add app specific exceptions via sleep mode
■ No ads, or other nuisances.
■ Tasker and Locale support!
Note: Please disable other brightness apps before using Lux. The author is not liable for any issues caused when using this app.

TAKE PICTURES AND VIDEOS: Used to read in luma values, if camera input is selected.
DRAW OVER OTHER APPS: Required for night/astro mode.
READ PHONE STATE: Required to prevent Lux from interfering with phone controls in Android 4.1.
MODIFY SYSTEM SETTINGS: Brightness is a system setting, as is toggling the default auto brightness.
RETRIEVE RUNNING APPS: Required to make the 'sleep list' functionality work, so Lux can disable itself when certain apps are in the foreground.
COARSE LOCATION: Required to automatically calculate sunrise/sunset times.
IN APP BILLING: Required for purchasing future device specific root only plug-ins, to enhance functionality.
Last edited:


Senior Member
Apr 12, 2011
Lux Low-Level Plug-ins

Soon Lux will support plug-ins to bypass Android API limitations. These plug-ins serve to replace the overlay system Lux uses to make adjustments for Night/Astronomer modes and brightness in general. The plug-in library is free to use for non-commercial development, and can be found here:

Lux Plug-in Library | Nexus 4 Sample Plug-in Code

How to make a plug-in

There are two approaches to making a plug-in for Lux. The passive and the active method. The former is as easy as providing a set of superuser commands for Lux to interpret and apply. These command correlate to functions such as setting pixel RGB or brightness levels. This is the type of plug-in the Nexus 4 sample linked above takes.
The active method requires you produce your own code to perform RGB/brightness adjustments. This might include importing a device specific library to do the heavy lifting, and then returning empty superuser commands back to Lux.

Getting Started

Simply import the Lux Plug-in Library source into your IDE as an Android Library Project, and then create a new Android app which extends PassiveDisplay.java.

PassiveDisplay provides hooks into Lux's plug-in framework, which you can use to provide superuser commands for Lux to execute. These commands correlate to functions such as setting RGB values. Take a look at the sample Nexus 4 project to see how it's all done.
Finally, in your new project's AndroidManifest.xml file, add the following:

        android:label="@string/app_name" >
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />

        android:exported="true" >
            <action android:name="com.vitocassisi.lux.plugin.search" />

        android:exported="true" >
            <action android:name="[B]YOUR_PACKAGE_NAME_HERE[/B]" />
Be sure to replace YOUR_PACKAGE_NAME_HERE with the name of your plug-in's package, and MY_PLUGIN with your extended PassiveDisplay class.

And that's it! Now you're ready to test!

Enabling Plug-In support within Lux

To enable plug-in support, you must check 'Enable plug-in support' in the Advanced section of Lux settings. Enabling this option forfeits all responsibility of mine for any issues caused while using Lux. Plug-in's can cause very real damage to your device if they're written incorrectly - don't use plug-ins from sources you don't trust!
Testing your plug-in
Testing is critical for creating a good plug-in. You are dealing directly with system files, and can easily cause damage if you do not know what you're doing.


Ensure that the following work with your plug-in installed:
  • Astronomer Mode
  • Night Mode
  • General brightness adjustment
  • Lux readings functional

Modifying system files on the wrong model/kernel may cause irreversible issues!

Copyright © 2013 Vito Cassisi

You may not use this library except in compliance with the following:
    - It cannot be used for commercial purposes under any circumstances, unless explicit permission is granted in writing from the author.
    - Modifications to this library may not be distributed.

Unless required by applicable law or agreed to in writing, software
distributed under this licence is distributed on an "AS IS" BASIS,
Last edited:

Rashiq Ahmad

New member
Aug 25, 2012
Great App!

I bought the App about 2 months ago and all I can say is that it works really good with my Nexus 7.
I can just recommend buying this - clearly the best solution for Auto brightness on the play store :)




Senior Member
Jul 11, 2009
Thanks for adding me to beta testing!

I just tried to use the tasker plugin, however it's not working, just gives 'no plugin config data' error. I tried to set the night mode to on.

Looking forward to further testing!


Senior Member
Mar 28, 2010
So far everything is working great for me. No random brightness changes or jittery transitions. Trying the latest beta now.

Sent from my SCH-I535 using Tapatalk 2


Senior Member
Jun 19, 2010
Has been using the free version and it's been very reliable! One trouble is that when I m installing from APK I need to disable lux first otherwise O can't hit the OK button...

Sent from my GT-I9300 using xda app-developers app


Senior Member
May 15, 2010
Has been using the free version and it's been very reliable! One trouble is that when I m installing from APK I need to disable lux first otherwise O can't hit the OK button...

Sent from my GT-I9300 using xda app-developers app
I believe the paid version addresses this issue by temporarily disabling Lux when a package installer is opened.

Sent from my SAMSUNG-SGH-I747 using Tapatalk 2
  • Like
Reactions: lou2s