Tuesday, January 6, 2009

LCD panel backlight control vs Sony Vaio AW11Z part 2

Heureka!
Finished. The port of NVClock/SmartDimmer to OpenSolaris is complete. It works nicely on my notebook (and I only crashed it once on the way *g*)
A little reading, browsing source code and learning how to access PCI stuff was... ummm... interesting :-) Thankfully there exists a nice thing called libpciaccess which makes life a lot easier.
NVClock now has a Solaris backend that gives me the ability to control the backlight on my notebook.
For now the source code can be found here
Have a go and try it if you have a notebook with an NVidia graphics card. Please report if you have any issues with the Solaris specific part. Any comments are welcome. But please don't sue me if it blows your box into pieces ;-)
Mind you - smartdimmer and nvclock need to be run as priviledged user to set the registers on the graphics card.

I hope the author of NVClock accepts my patch so OpenSolaris gets supported out of the box.

The really amazing thing is how much battery time the backlight actually sucks. With the 'big' battery runtime went up by 1hour just by dimming from 100% down to 15%. PowerTop reports 40Watts vs 26.5Watts. That is just impressive!

Monday, January 5, 2009

LCD panel backlight control vs Sony Vaio AW11Z part 1

As mentioned in an earlier post, the backlight control on the Vaio doesn't work out of the box with OpenSolaris. A lot of googling and reading revealed that the backlight isn't controlled via ACPI but via the NVidia graphics card. A lot of more googling and reading lead me to a nifty little tool called nvclock / smartdimmer. It features a number of options to tweak some settings. One of the options is the brightness level of the panel backlight. Now there was just one problem. OpenSolaris isn't (yet) supported.
A little more reading and digging around the code...
Heureka!
I now have a first version which can dim the backlight of the panel. Still a lot of things hardcoded (only one graphics card, fixed base mem address). Still... it's the first step.

Battery time on the default battery went up by 35mins by dimming from 100% down to 15%.

Off to part two... and make the beast auto-detect the graphics card, fetch the base mem address etc.

As soon as I'm done with that I'll post it here and on the relevant list.