This is how I did it
First download the nvidia-bl-dkms 0.16.7 package on Mactel (
https://launchpad.net/~mactel-support/+archive/ppa/+builds?build_text=nvidia-bl-dkms&build_state=all)
that corresponds to your distribution.
Install the package.
Then go to
/usr/src/nvidia_bl-0.16.7 directory.
sudo dkms remove -m nvidia_bl -v 0.16.7 --all
Then edit nvidia-bl.c and add "PCI_VENDOR_ID_TOSHIBA" to static const unsigned nvidia_bl_subvendors[] __initdata (line 472)
then sudo dkms add -m nvidia_bl -v 0.16.7
sudo dkms build -m nvidia_bl -v 0.16.7
sudo dkms install -m nvidia_bl -v 0.16.7
The driver is loaded by
sudo modprobe nvidia_bl max_level=0x100000 shift=8
With this setting, the maxium level is 512
Now you can test the driver
cat /sys/class/backlight/nvidia_backlight/brightness
shows the level
echo 200 | sudo tee -a /sys/class/backlight/nvidia_backlight/brightness
sets the level to 200
Now to load the driver at each boot,
add nvidia_bl to last line of /etc/modules
create the text file nvidia_bl.conf with the line
options nvidia_bl max_level=0x20000 shift=8
in it.
Finally, to be used with the gnome-power-manager, we have to hide the other way (that does not work) to gnome.
It happens if when you type "ls /sys/class/backlight/"
you have another folder than nvidia_backlight.
In my case for instance, acpi_video0.
To hide it, add
Create the file /etc/hal/fdi/preprobe/toshiba.fdi and paste the following text
<?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
<device>
<!-- Ignore backlight interface created by sony_laptop
-->
<match key="linux.sysfs_path" string="/sys/devices/virtual/backlight/video0">
<merge key="info.ignore" type="bool">true</merge>
</match>
</device>
</deviceinfo>
Now you restart, and then you could change the backlight level with the gnome-power applet
PS.
Be careful to remove, if it exists, the line "Option "RegistryDwords" "EnableBrightnessControl=1" from /etc/X11/xorg.conf from the device section. Otherwise there are some conflicts.
Bookmarks