Thanks to this thread, I have finally got the Fn keys working for brightness control. Though it wasn't straightforward (still quite a Linux noob). I am using a Samsung N150 Plus.
First, I added Voria repository to sources (sudo add-apt-repository ppa:voria/ppa), installed samsung-backlight and samsung-tools, then followed these instructions :
1) in /etc/default/grub following line modified from
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor intel_idle.max_cstate=0"
2) sudo update-grub; sudo update-initramfs -u
3) added the following text to the end of /etc/modprobe.d/blacklist.conf: blacklist samsung-backlight
4)edited /etc/rc.local and paste before the "exit 0" statement: modprobe samsung-backlight
This did nothing whatsoever. Others were reporting success, so I assumed it was a PEBKAC error
To confirm this, I ran the checks in the post below, and got no output.
The presence of the "acpi_video0" directory is a strong indication of the ACPI driver problem solved by the fix mentioned above. After adding "acpi_backlight=vendor" to your kernel's paramter list it must not (well, it should not) exist.
You might want to check if applying the parameter was successful by running
sudo dmesg | grep acpi_backlight
Output should look like
[0.000000] Command Line: ... quiet splash acpi_backlight=vendor
[0.000000] Kernel command line: ... quiet splash acpi_backlight=vendor
If there is no output, the parameter was not applied successfully. You may want to check the GRUB_CMDLINE_LINUX_DEFAULT string, rerun update-grub2 and reboot first.
If there is an output... well, one step at a time. Feel free to post it.
I guessed that it was a problem with my grub setup — I was multi-booting windows 7, Peppermint 1, Linux Mint 10, and Pinguy 10.10.1. EasyBCD on windows linked to grub in a separate partition. I followed the above steps on each Linux installation, in case there was a conflict with a 'local' grub, and repeatedly ran sudo update-grub on each installation but it still didn't work.
This took ages, so I gave up and started again. Wiped everything, installed just Pinguy 10.10.1 with grub on MBR. Repeated the steps above, and this time it worked. Then I updated everything that needed updating with Synaptic (including new kernel 2.6.35-28) and broke it again
Just ran once more: sudo update-grub; sudo update-initramfs -u, rebooted, and it was fixed.
On system resume, I got the flickering screen bug, but it was easily fixed (thanks to ignasigarcia):
I can confirm that if I tell Ubuntu to unload the module before suspend and reload it after restore the blinking occuring sometimes after restoring is gone.
To do so, edit (or create) a file called /etc/pm/config.d/unload_modules
that file must contain a variable declaration and a list of modules separated by empty spaces that we want to unload before suspend. In our case you need to have at least this:
The most satisfying thing for me is that I had same problem with brightness control in Win7, and as far as I know there is still no solution. I spent far too long trying to fix that, before deciding that Linux was probably a better bet. Thanks everyone!