The red mode is great in darkness as it does a good job preserving night-vision, for me the power-saving is secondary (power-saving is on OLED screens only)
Unlike Jeff's original article, NightMode is NOT based on surfaceflinger (or other) source modifications, the same effect (more or less) is achieved by using a proxy driver I call CF3D. NightMode serves as the first test of this driver, which will ultimately try to make games run on your device that normally do not.
If you are running CM, you have a similar option already in your settings (which uses the surfaceflinger method).
The CF3D driver used in the app is a proof-of-concept proxy driver I'm building. It's ultimate purpose is to serve as a compatibility layer and to implement some extra features. Or in normal people English: make stuff work that doesn't, and add some cool.
CF3D is dangerous
The installation of the CF3D driver is not without risk. So far it has worked for everyone who has tried to install it, but you should definitely make a CWM backup before trying!
More about NightMode !
The featureset is nowhere near what I wanted to release for this beta, but I ran into a lot of snags, and it's simply time to put it out there. For example, what I really wanted is automatic night mode in the dark. However after some testing it became obvious that the light sensors in the phones I used are simply not good enough to accomplish this. So there goes that feature For some reason, they appear to be unable to distinguish between house lighting at night, and pitch black
So the feature set has become really simple: you select which night mode color you want, and whether it should be on or off.
For your convenience, there is also the option to create a shortcut on your home screen to toggle night mode on and off. You can either create it by pressing the button in the app, or: tap-and-hold on the home screen -> shortcuts -> Toggle NightMode.
- OpenGL ES 2.0 (every 1ghz+ phone has this)
- SuperUser / Root
- Writable /system (it will try to remount system as read/write when needed, but the changes need to stick between reboots)
- S-OFF ??
- Having root access from recovery is a big plus to solve problems if you run into them
If you have CWM or another recovery-based backup system, make a backup before proceeding !
Install the APK as you would any other. Open the program, and press the "Install" item under the "CF3D driver" heading. This will attempt to install the CF3D driver and reboot your device.
Please make sure you have USB debugging enabled, so you can logcat and potentionally fix problems manually in case of a no-boot.
When installation fails and your device doesn't boot
- If you can achieve root access through ADB shell while booting or in recovery, the fix is usually easy, just execute the /system/lib/cf3d_uninstall.sh script as root.
- Otherwise, if you have CWM, do an advanced restore of the /system partition
- If all else fails, reflash the /system partition or the entire firmware
Open the app, and select "Uninstall" (if available), then uninstall the APK like you would any other.
Though the app itself may not be very interesting, feedback on devices it does and doesn't work on is most welcome (please include logcats of the boot process), just for the sake of progress with the CF3D proxy driver.
Screenshots / Video
Screenshots are attached below. Here is the video:
This sounds really cool . But all the technical stories behind it are completely unclear to me (because I am simply a user, not a maker, so I didn't really delve into this kind of stuff (yet?)).
The thing that matters to me is the battery saving part. Is the amount of battery saving (roughly) the same between these different methods (CF3D/CM7/surfaceflinger)?
And being sufficiently scared by your CF3D is dangerous warnings: did you receive any reports yet from SGS i9000 2.2.1 Users? (Or maybe even more specific, JS8 or Doc rom users, if you think that matters anything.)
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?