[Android Software Development] Chainfire:
THIS APP HAS BEEN SUPERCEDED BY "Chainfire3D": http://xdaforums.com/showthread.php?t=1087427

It contains all the functionality present in NightMode and more.

.

.

.

.

.

.

DO NOT INSTALL ON HONEYCOMB (yet)

YOU WILL READ THE ENTIRE POST. YES YOU WILL. EVEN YOU, SUPERCURIO !

About

NightMode itself is an implementation of Jeff Sharkey's excellent power-saving and night-vision-preserving idea for surfaceflinger effects. Really, you should read that link.

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).

CF3D driver

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!

Successful tests of CF3D

- HTC Hero (not supported by this APK)

- HTC HD2 (MDJ on NAND, Adreno200)

- Samsung Galaxy S (2.3.3, PowerVR SGX540)

- Samsung Galaxy Tab 7" (2.3.3, PowerVR SGX540)

- Samsung Galaxy SII (2.3.3, Mali-400 MP)

- Motorola Atrix 4G (2.2.1 ?, Tegra2)

- Motorola Droid 2 (?, PowerVR SGX530)

- LG Optimus 2X (2.3.4, Tegra2)

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.

Requirements

NightMode requires:

- 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

Installation

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

Uninstallation

Open the app, and select "Uninstall" (if available), then uninstall the APK like you would any other.

Thanks!

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:

[YOUTUBE]okKArBstjwA[/YOUTUBE]

Download

Use the Thanks! button if you like it!

DOWNLOAD REMOVED, THIS APP HAS BEEN SUPERCEDED BY "Chainfire3D": http://xdaforums.com/showthread.php?t=1087427 (441 original downloads)