[Sony Xperia S, Acro S, Ion] cronot:
It's me again, your verborragic whiny noob Xperia S user. Just wanted to make a correction about my previous posts, re Auto-brightness. I thought it was important to do that because I don't want to be the one spreading wrong information.

I've said in the past that auto-brightness doesn't work at all, but after having a couple people tell me that auto-brightness works for them, although in a funky way, I've looked into it more carefully, and I can say now that yes, it actually does work. There are a couple of gotchas that had eluded me though:

Auto-brightness state and parameters seem to be controlled only by the kernel: The upshot of this is that most settings options related to Auto-brightness in CM don't really do anything - they'll either change nothing, or will reset the kernel parameters to the default. To be more specific:

Auto-brightness will always be on in kernel at system boot - even if the auto-brightness setting in CM is set to off. If, however, you enable Auto-brightness in CM, then disable it, it will in fact disable Auto-brightness in kernel too, but that'll only persist until you reboot; then you'll again have auto-brightness set to off on CM, but still on in kernel;

Changing auto-brightness state in CM to either on or off apparently reset some ALS parameters, like the one mentioned below;

The only brightness-related options in CM Settings that seems to be consistently respected are the manual brightness setting (Settings / Display / Brightness / *change slider*), and the dim level (Settings / Display / Automatic Backlight / Screen Dim Level).

As was said by the people who gave me a heads up, the brightness change while auto-brightness is on occurs very slowly; but on top of that, the brightness change is in a narrow range. As far as I could observe, it seems to work like this: If you set the brightness to 50%, then that ammount is the maximum brightness that the ALS will work with, while the minimum brightness would be about 25% (that's just an appoximation, I couldn't find a way to measure it in hard numbers) of that maximum - or about 37% of the full range of brightness. That, on top of the brightness changing slowly, ammounts to the brightness change being very subtle: To actually notice the difference, I had to put the phone under a bright light, and then cover the top-left corner of the screen with my thumb (right beside the earpiece, where the ALS is).

By issuing the following command in the terminal, as root:

echo 2,5,5,0 > /sys/class/leds/lcd-backlight/als/params

I could make the ALS / brightness change react faster, but I've still to get around the narrow brightness range that the ALS is working with - namely, to have the brightness change range be the full range of brightness the device is capable and not just a fraction of the manually set brightness; in other words, have it work more closely like the auto-brightness setting usually works for other phones. It looks like to me that the kernel parameter /sys/class/leds/lcd-backlight/als/curve is what would be used to make it work, but I couldn't find any documentation about what its values mean - my findings so far are based mostly on what I've read about ALS elsewhere and wild experimentation. I'll look into the kernel sources when I've got more time to see if there are any comments on the source about what its values mean.

Regarding the command above, note that changing auto-brightness state on CM settings will reset these parameters back to the (slowly reacting) default values, as was said further above, and so you'd have to reissue the command above again to have the ALS react faster again. So, as a rule of thumb, don't mess with auto-brightness settings in CM (at least until the FXP team gets around to integrate them properly with the kernel / device).

Btw, nice to hear from the FXP team about the almost-working FM radio... Thank you! Here's hoping that this indicates a rekindled development activity for our device. :)