Bug 11682

Summary: Can't adjust brightness - Sony Vaio FW
Product: Drivers Reporter: Rafał Miłecki (zajec5)
Component: PlatformAssignee: Zhang Rui (rui.zhang)
Status: REJECTED WILL_NOT_FIX    
Severity: normal CC: acpi-bugzilla, alexdeucher, anton, ct.lrn, lidel.kernelorg, malattia, slosar
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.27-rc7 Subsystem:
Regression: --- Bisected commit-id:
Bug Depends on:    
Bug Blocks: 56331    
Attachments: modprobe sony-laptop debug=1
lspci
acpidump
customized DSDT: add ACPI backlight I/F for ATI graphics
DSDT hacked for sony fw brightness.
initialize FW events
Script for controlling backlight level

Description Rafał Miłecki 2008-10-01 05:23:49 UTC
I own Sony Vaio FW11S and I can not adjust backlight. It is still on max value.

I loaded "sony-laptop" module but it didn't create /sys/class/backlight/sony/. In dmesg I get:
> sony-laptop: Sony Notebook Control Driver v0.6.
> input: Sony Vaio Keys as
> /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:04/SNY5001:00/input/input10
> input: Sony Vaio Jogdial as /devices/virtual/input/input11

This seems similar to bug #11095 and bug #10950 but in my case there is ATI GPU.

There is:
# ls /sys/class/backlight/acpi_video0
actual_brightness  bl_power  brightness  max_brightness  power  subsystem  uevent
but no matter what I echo into brightness it doesn't change backlight.

When I use
xbacklight -set 50
it changes output of
xbacklight -get
but backlight still doesn't change.

Is there anything I can do to help implementing backlight adjusting? I'm fine with patching and compiling kernel.
Comment 1 Rafał Miłecki 2008-10-01 05:25:46 UTC
Created attachment 18130 [details]
modprobe sony-laptop debug=1
Comment 2 Rafał Miłecki 2008-10-01 05:27:14 UTC
Created attachment 18131 [details]
lspci
Comment 3 Rafał Miłecki 2008-10-01 05:28:36 UTC
Created attachment 18132 [details]
acpidump
Comment 4 Mattia Dongili 2008-10-01 06:59:14 UTC
Hi,
similarly to the case in bug #10950 you model doesn't have a SPIC device definition.
sony-laptop (in its current status at least) can't be used for brightness control.
You may have better luck with the acpi_video driver, let's see what the ACPI maintainers say.

-- mattia
Comment 5 ykzhao 2008-10-03 06:12:53 UTC
Hi, Rafal
    What Mattia said in comment #4 is right. Please try the acpi_video driver and see whether the brightness can be changed by the interface of "/sys/class/backlight/*/brightness".
    Thanks.
Comment 6 Rafał Miłecki 2008-10-03 06:32:30 UTC
Module acpi_video doesn't exists. I guess you mean "video" module which creates "/sys/class/backlight/acpi_video0"? If so, I already tried that and mentioned that in comment #1:

> no matter what I echo into brightness it doesn't change backlight.
Comment 7 ykzhao 2008-10-07 02:33:20 UTC
    From the acpidump it seems that there exists the ACPI video device. 
    Will you please try the acpi video driver on the latest kernel(2.6.27-rc9) and do the test as mentioned in comment #5? Please set "CONFIG_ACPI_VIDEO=y" in kernel configuration to use acpi video driver.(Of course "CONFIG_ACPI_VIDEO=m" is also OK).
    Thanks.
     
Comment 8 Rafał Miłecki 2008-10-07 04:44:36 UTC
#cat /boot/config-`uname -r` | grep CONFIG_ACPI_VIDEO
CONFIG_ACPI_VIDEO=m


sony:~ # uname -a
Linux sony 2.6.27-rc9-brightness-test #1 SMP Tue Oct 7 13:19:54 CEST 2008 x86_64 x86_64 x86_64 GNU/Linux
sony:~ # cd /sys/class/backlight/
sony:/sys/class/backlight # ls
sony:/sys/class/backlight # modprobe video
sony:/sys/class/backlight # ls
acpi_video0
sony:/sys/class/backlight # cd acpi_video0/
sony:/sys/class/backlight/acpi_video0 # ls
actual_brightness  bl_power  brightness  max_brightness  power  subsystem  uevent
sony:/sys/class/backlight/acpi_video0 # cat brightness
8
sony:/sys/class/backlight/acpi_video0 # echo 1 > brightness
sony:/sys/class/backlight/acpi_video0 # cat brightness
1
sony:/sys/class/backlight/acpi_video0 # echo 5 > brightness
sony:/sys/class/backlight/acpi_video0 # cat brightness
5


Backlight is still on max level.
Comment 9 Zhang Rui 2008-10-12 18:36:28 UTC
is /sys/class/backlight/acpi_video1 available for you?
if yes, please do the same test to see if it works for you.
If no, please attach the output of "find /proc/acpi/video/".

Please make sure that you are running the upstream kernel rather than acpi test branch, because there is a patch in acpi test branch which may ignore the acpi_video1 backlight device.
Comment 10 Zhang Rui 2008-10-29 19:24:01 UTC
any update?
Comment 11 Rafał Miłecki 2008-11-04 01:54:51 UTC
Zhang: as you can see from Comment #8 there is not /sys/class/backlight/acpi_video1 (check output of "ls" command). Earlier I was using mainline 2.6.27-rc9, now I tried mainline 2.6.28-rc3 and I still don't have acpi_video1.

zajec@sony:~> find /proc/acpi/video/
/proc/acpi/video/
/proc/acpi/video/GFX0
/proc/acpi/video/GFX0/DD05
/proc/acpi/video/GFX0/DD05/EDID
/proc/acpi/video/GFX0/DD05/brightness
/proc/acpi/video/GFX0/DD05/state
/proc/acpi/video/GFX0/DD05/info
/proc/acpi/video/GFX0/DD04
/proc/acpi/video/GFX0/DD04/EDID
/proc/acpi/video/GFX0/DD04/brightness
/proc/acpi/video/GFX0/DD04/state
/proc/acpi/video/GFX0/DD04/info
/proc/acpi/video/GFX0/DD03
/proc/acpi/video/GFX0/DD03/EDID
/proc/acpi/video/GFX0/DD03/brightness
/proc/acpi/video/GFX0/DD03/state
/proc/acpi/video/GFX0/DD03/info
/proc/acpi/video/GFX0/DD02
/proc/acpi/video/GFX0/DD02/EDID
/proc/acpi/video/GFX0/DD02/brightness
/proc/acpi/video/GFX0/DD02/state
/proc/acpi/video/GFX0/DD02/info
/proc/acpi/video/GFX0/DD01
/proc/acpi/video/GFX0/DD01/EDID
/proc/acpi/video/GFX0/DD01/brightness
/proc/acpi/video/GFX0/DD01/state
/proc/acpi/video/GFX0/DD01/info
/proc/acpi/video/GFX0/DOS
/proc/acpi/video/GFX0/POST
/proc/acpi/video/GFX0/POST_info
/proc/acpi/video/GFX0/ROM
/proc/acpi/video/GFX0/info

I'll be happy to provide any other info you ask or test any patches.
Comment 12 Rafał Miłecki 2008-11-04 01:59:22 UTC
I played with these files in /proc/acpi/video/GFX0, but without success. First I checked:

sony:/proc/acpi/video/GFX0 # cat DD01/brightness
<not supported>
sony:/proc/acpi/video/GFX0 # cat DD02/brightness
levels:  100 100 4 16 28 40 52 64 76 88 100
current: 100
sony:/proc/acpi/video/GFX0 # cat DD03/brightness
<not supported>
sony:/proc/acpi/video/GFX0 # cat DD04/brightness
<not supported>
sony:/proc/acpi/video/GFX0 # cat DD05/brightness
<not supported>

Next I tried writing to DD02/brightness:

sony:/proc/acpi/video/GFX0/DD02 # echo 76 > brightness
sony:/proc/acpi/video/GFX0/DD02 # echo 64 > brightness
sony:/proc/acpi/video/GFX0/DD02 # echo 40 > brightness
sony:/proc/acpi/video/GFX0/DD02 # echo 16 > brightness
sony:/proc/acpi/video/GFX0/DD02 # echo 4 > brightness
sony:/proc/acpi/video/GFX0/DD02 # cat brightness
levels:  100 100 4 16 28 40 52 64 76 88 100
current: 4

But my PANEL is still on max level of brightness :(
Comment 13 Zhang Rui 2008-11-04 17:50:31 UTC
As you're using an ATI graphics card, it's true that both ACPI backlight I/F (/proc/acpi/video... and /sys/class/backlight/acpi_videoX/...) and xbacklight don't work for you.
First, xbacklight is designed for intel graphics. I don't know if it supports nvidia or ati now, but I think the answer is "no".
Second, I checked your BIOS. Both integrated intel graphics and another external ATI graphics are supported. But unfortunately, the ACPI backlight sysfs I/F only works for the integrated intel graphics as well...

In order to control the backlight on your laptop, you need the help of some platform specific tools. And you may want to goto freedesktop to see if you have any luck. :)
Comment 14 Zhang Rui 2008-11-04 17:58:06 UTC
Created attachment 18681 [details]
customized DSDT: add ACPI backlight I/F for ATI graphics

with this customized DSDT, you should see two ACPI backlight I/F.
please re-do the test in comment #11 and #12 to see if the new I/F can work for you.
If yes, that would be great.
If not, from the ACPI's perspective of view, I can't help you any more. :(
Comment 15 Rafał Miłecki 2008-11-19 11:48:59 UTC
Is this WILL_NOT_FIX because of my silence here? I can not find this resolution in http://bugzilla.kernel.org/page.cgi?id=fields.html#resolution . If so, can we get back to this bug, please?

I do not know how to use this DSDT for my kernel.

1) Page supposed to describe this: http://acpi.sourceforge.net/wiki/index.php/HowToOverrideTable doesn't exist.

2) Patch for initrd from http://gaugusch.at/kernel.shtml doesn't apply to 2.6.28-rc3 and 2.6.28-rc5

3) Nice manual http://forums.gentoo.org/viewtopic.php?t=122145 links to http://bugzilla.kernel.org/attachment.cgi?id=1810&action=view which is obsolete attachment and doesn't apply to 2.6.28-rc5.

Could you give me link to some working howto, please?
Comment 16 Zhang Rui 2008-11-19 18:27:54 UTC
how to override a DSDT can be found at:
http://www.lesswatts.org/projects/acpi/overridingDSDT.php

I close this bug is because:
If this laptop follows the ACPI extension, which means that users can change the backlight via ACPI, its BIOS is borken (_DOS not available). This is a BIOS bug that Linux/ACPI won't fix.
If this laptop doesn't follow the ACPI extension, i.e. the backlight still can not be controlled via ACPI after overriding the DSDT, I suggest you to try some ATI specific tools, and go to www.freedesktop.org for help, because there are many ATI experts there, :).
Comment 17 Pierre Choffet 2008-11-27 07:16:28 UTC
Hi there,

I own a Vaio FW11S too, and I had exactly the same problem than Rafal Milecki. The problem was very problematic because the laptop has two LED backlights and it is impossible to stay in front of it when set to the maximum power.

So, I've tried recompiled the kernel with the new DSDT.hex file you've attached here, and it works perfectly well! The /sys/class/backlight/ file has now acpi_video0 and acpi_video1 folders, and the backlight can now be set "out of the box" with PowerDevil in KDE 4.1.80.

Can we now hope this .hex fix will be provided with the next releases of the kernel ?

Thank you very much for your help.
Comment 18 Zhang Rui 2008-11-27 17:28:50 UTC
(In reply to comment #17)
> I own a Vaio FW11S too, and I had exactly the same problem than Rafal
> Milecki.
> The problem was very problematic because the laptop has two LED backlights
> and
> it is impossible to stay in front of it when set to the maximum power.
> 
how to set it to the maximum power?

> So, I've tried recompiled the kernel with the new DSDT.hex file you've
> attached
> here, and it works perfectly well!
that's nice. :)

> The /sys/class/backlight/ file has now
> acpi_video0 and acpi_video1 folders, and the backlight can now be set "out of
> the box" with PowerDevil in KDE 4.1.80.
>
does poking the /sys/class/backlight/acpi_video{0,1}/brightness change the backlight?
I suggest you update your kernel to the latest kernel release, and you'll see only acpi_video0 here, which actually works.
 
> Can we now hope this .hex fix will be provided with the next releases of the
> kernel ?
> 
no, this is not a kernel bug. And the fix is in BIOS rather than kernel.
In order to make brightness work on your laptop, I think you need to upgrade your BIOS to see if it's fixed, or use this customized DSDT for all Linux kernels.
Comment 19 Rafał Miłecki 2008-11-27 23:41:57 UTC
That's very weird. Of course I tried replacing DSDT:
zajec@sony:~> dmesg | grep DSDT:
ACPI: DSDT BFE06010, 8016 (r1   Sony     VAIO 20080605 INTL 20051117)
ACPI: Override [DSDT-    VAIO], this is unsafe: tainting kernel
ACPI: Table DSDT replaced by host OS
ACPI: DSDT 00000000, 7831 (r1   Sony     VAIO 20080605 INTL 20080729)
ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt"
ACPI: EC: Look up EC in DSDT

but I don't have acpi_video1 as you:
zajec@sony:~> ls /sys/class/backlight/
acpi_video0

Also my /proc/acpi/video changed a lot:
zajec@sony:~> find /proc/acpi/video/
/proc/acpi/video/
/proc/acpi/video/VGA
/proc/acpi/video/VGA/DFP1
/proc/acpi/video/VGA/DFP1/EDID
/proc/acpi/video/VGA/DFP1/brightness
/proc/acpi/video/VGA/DFP1/state
/proc/acpi/video/VGA/DFP1/info
/proc/acpi/video/VGA/TV
/proc/acpi/video/VGA/TV/EDID
/proc/acpi/video/VGA/TV/brightness
/proc/acpi/video/VGA/TV/state
/proc/acpi/video/VGA/TV/info
/proc/acpi/video/VGA/CRT
/proc/acpi/video/VGA/CRT/EDID
/proc/acpi/video/VGA/CRT/brightness
/proc/acpi/video/VGA/CRT/state
/proc/acpi/video/VGA/CRT/info
/proc/acpi/video/VGA/LCD
/proc/acpi/video/VGA/LCD/EDID
/proc/acpi/video/VGA/LCD/brightness
/proc/acpi/video/VGA/LCD/state
/proc/acpi/video/VGA/LCD/info
/proc/acpi/video/VGA/DOS
/proc/acpi/video/VGA/POST
/proc/acpi/video/VGA/POST_info
/proc/acpi/video/VGA/ROM
/proc/acpi/video/VGA/info
Comment 20 Rafał Miłecki 2008-11-27 23:53:14 UTC
(In reply to comment #18)
> how to set it to the maximum power?
It's set to the max by default, after booting


> does poking the /sys/class/backlight/acpi_video{0,1}/brightness change the
> backlight?
> I suggest you update your kernel to the latest kernel release, and you'll see
> only acpi_video0 here, which actually works.
Well, I have up-to-date kernel, just tried 2.6.28-rc6 and only acpi_video0 (I don't have acpi_video1). I tried playing with acpi_video0:

sony:~ # echo 1 > /sys/class/backlight/acpi_video0/brightness
sony:~ # echo 2 > /sys/class/backlight/acpi_video0/brightness
sony:~ # echo 3 > /sys/class/backlight/acpi_video0/brightness
sony:~ # cat /sys/class/backlight/acpi_video0/brightness
3
sony:~ # cat /sys/class/backlight/acpi_video0/max_brightness
8
sony:~ # cat /sys/class/backlight/acpi_video0/actual_brightness
3
sony:~ # echo 1 > /sys/class/backlight/acpi_video0/actual_brightness
bash: /sys/class/backlight/acpi_video0/actual_brightness: No access

but nothing happens. 

Peuc: which kernel did you use?
Comment 21 Pierre Choffet 2008-11-28 02:45:29 UTC
> does poking the /sys/class/backlight/acpi_video{0,1}/brightness change the
> backlight?
> I suggest you update your kernel to the latest kernel release, and you'll see
> only acpi_video0 here, which actually works.
Yes, the brightness can be changed with the acpi_video1/brightness file. The acpi_video0/brightness remains ineffective.

> no, this is not a kernel bug. And the fix is in BIOS rather than kernel.
> In order to make brightness work on your laptop, I think you need to upgrade
> your BIOS to see if it's fixed, or use this customized DSDT for all Linux
> kernels.
I've just checked, Sony doesn't provide any BIOS update for this laptop. That's life :)

@Rafal: I've the same boot message than you, plus an error (?!) :
[peuc@localhost ~]# dmesg | grep DSDT
ACPI: DSDT BFE06010, 8016 (r1   Sony     VAIO 20080605 INTL 20051117)
ACPI: Looking for DSDT in initramfs... error, file /DSDT.aml not found.
ACPI: Override [DSDT-    VAIO], this is unsafe: tainting kernel
ACPI: Table DSDT replaced by host OS
ACPI: DSDT 00000000, 7831 (r1   Sony     VAIO 20080605 INTL 20080729)
ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt"
ACPI: EC: Look up EC in DSDT

My /proc/acpi/video is also different than yours:
[peuc@localhost ~]# find /proc/acpi/video/
/proc/acpi/video/                         
/proc/acpi/video/VGA                      
/proc/acpi/video/VGA/DFP1                 
/proc/acpi/video/VGA/DFP1/EDID            
/proc/acpi/video/VGA/DFP1/brightness      
/proc/acpi/video/VGA/DFP1/state           
/proc/acpi/video/VGA/DFP1/info            
/proc/acpi/video/VGA/TV                   
/proc/acpi/video/VGA/TV/EDID              
/proc/acpi/video/VGA/TV/brightness        
/proc/acpi/video/VGA/TV/state             
/proc/acpi/video/VGA/TV/info              
/proc/acpi/video/VGA/CRT                  
/proc/acpi/video/VGA/CRT/EDID             
/proc/acpi/video/VGA/CRT/brightness       
/proc/acpi/video/VGA/CRT/state            
/proc/acpi/video/VGA/CRT/info             
/proc/acpi/video/VGA/LCD                  
/proc/acpi/video/VGA/LCD/EDID             
/proc/acpi/video/VGA/LCD/brightness       
/proc/acpi/video/VGA/LCD/state            
/proc/acpi/video/VGA/LCD/info             
/proc/acpi/video/VGA/DOS                  
/proc/acpi/video/VGA/POST                 
/proc/acpi/video/VGA/POST_info            
/proc/acpi/video/VGA/ROM                  
/proc/acpi/video/VGA/info                 
/proc/acpi/video/GFX0                     
/proc/acpi/video/GFX0/DD05                
/proc/acpi/video/GFX0/DD05/EDID           
/proc/acpi/video/GFX0/DD05/brightness     
/proc/acpi/video/GFX0/DD05/state
/proc/acpi/video/GFX0/DD05/info
/proc/acpi/video/GFX0/DD04
/proc/acpi/video/GFX0/DD04/EDID
/proc/acpi/video/GFX0/DD04/brightness
/proc/acpi/video/GFX0/DD04/state
/proc/acpi/video/GFX0/DD04/info
/proc/acpi/video/GFX0/DD03
/proc/acpi/video/GFX0/DD03/EDID
/proc/acpi/video/GFX0/DD03/brightness
/proc/acpi/video/GFX0/DD03/state
/proc/acpi/video/GFX0/DD03/info
/proc/acpi/video/GFX0/DD02
/proc/acpi/video/GFX0/DD02/EDID
/proc/acpi/video/GFX0/DD02/brightness
/proc/acpi/video/GFX0/DD02/state
/proc/acpi/video/GFX0/DD02/info
/proc/acpi/video/GFX0/DD01
/proc/acpi/video/GFX0/DD01/EDID
/proc/acpi/video/GFX0/DD01/brightness
/proc/acpi/video/GFX0/DD01/state
/proc/acpi/video/GFX0/DD01/info
/proc/acpi/video/GFX0/DOS
/proc/acpi/video/GFX0/POST
/proc/acpi/video/GFX0/POST_info
/proc/acpi/video/GFX0/ROM
/proc/acpi/video/GFX0/info

[peuc@localhost ~]$ uname -a
Linux localhost 2.6.27.7-2mnbcustom #1 SMP Thu Nov 27 15:14:56 CET 2008 i686 Intel(R) Core(TM)2 Duo CPU     P8400  @ 2.26GHz GNU/Linux
The kernel I've recompiled with the new DSDT.hex file is the one provided with the up to date Mandriva Cooker.
Comment 22 Rafał Miłecki 2008-11-28 07:41:09 UTC
I'm confused. I just compiled 2.6.27.7 with:
CONFIG_STANDALONE=n
CONFIG_ACPI_CUSTOM_DSDT=y
CONFIG_ACPI_CUSTOM_DSDT_FILE="DSDT.hex"
and included dsdt.hex from attachement from this bug report (I named this dsdt.hex, not DSDT.exe, and used CONFIG_ACPI_CUSTOM_DSDT_FILE="dsdt.hex").

I get acpi_video1 as expected but I can not set brightness using that. It just doesn't change anything. Can this be reason that I use x86_64 while Peuc uses i686?
Comment 23 Pierre Choffet 2008-11-28 09:38:06 UTC
Good news !

I've forgotten to add that I use the ATI proprietary driver (fglrx) on this PC. Maybe it could be necessary for the fix to work too?
Comment 24 Anze Slosar 2008-11-30 16:04:33 UTC
Hi,

I am banging my head against this super bright screen for the past month, it drives me nuts!

I've tried compiling kernel 2.6.27.9 with 
CONFIG_STANDALONE=n
CONFIG_ACPI_CUSTOM_DSDT=y
CONFIG_ACPI_CUSTOM_DSDT_FILE="DSDT.hex"
CONFIG_ACPI_CUSTOM_DSDT_INITRD=n


and the machine freezes on boot with the last line being
ACPI: BIOS _OSI(Linux) query ignored via DMI

i.e, just before the "APCI interpreter enabled" line from my other boots.

Any ideas of what might be wrong?  I can't even look at the earlier messages, give that the machine is frozen. How can I debug this?

Zhang, how widely applicable this magic DSDT.hex is? Does it work on any vaio FW? I have FW290N.

Any help would be much appreciated. Thanks!
Comment 25 Anze Slosar 2008-11-30 19:32:29 UTC
Created attachment 19085 [details]
DSDT hacked for sony fw brightness.
Comment 26 Anze Slosar 2008-11-30 19:33:42 UTC
I've fixed it by disassembling Zhan's DSDT.hex and combining it with my dissassembled DSDT. Together with hacked sony-laptop, I now have a working brightness control! Thank you, God! I attach my DSDT.hex that works for me.
Comment 27 Rafał Miłecki 2008-12-11 03:35:42 UTC
I tried Anze's DSDT.hex but then system didn't boot. So it's probably for FW2... only (not for FW11*).

Is there anything else I can try? Is some reverse engineering of Windows driver possible?
Comment 28 Mattia Dongili 2008-12-11 05:00:49 UTC
(In reply to comment #27)
> I tried Anze's DSDT.hex but then system didn't boot. So it's probably for
> FW2... only (not for FW11*).

you may need the attached patch (sony-laptop-fw.patch) which I guess is what Anze mentioned as "hacked" sony-laptop
  
Comment 29 Mattia Dongili 2008-12-11 05:01:50 UTC
Created attachment 19252 [details]
initialize FW events
Comment 30 Anton Veretenenko 2008-12-11 15:35:33 UTC
(In reply to comment #27)
> I tried Anze's DSDT.hex but then system didn't boot. So it's probably for
> FW2... only (not for FW11*).
> 
> Is there anything else I can try? Is some reverse engineering of Windows
> driver
> possible?
> 

Read at my blog http://vaioubuntu.wordpress.com/2008/12/04/finally-a-brightness-how-to-for-vaio-fw-series/

I have fw11er and now brightness works.
Comment 31 Rafał Miłecki 2008-12-12 18:09:02 UTC
Finally I was able to install fglrx 8.12. Previous version (8.11) didn't work for me because of error in generating package.

Using fglrx and kernel with DSDT.hex from this bug report I can indeed control backlight now! Earlier I was using radeonhd git and then it didn't work. I will try to talk with radeonhd developers then :)
Comment 32 Rafał Miłecki 2008-12-13 10:12:56 UTC
Created attachment 19281 [details]
Script for controlling backlight level

Big success here :) Using rhd_dump I made full registers dumps, first using fglrx with lowest backlight and second using radeonhd with max (default) backlight level.

I compared these dumps and after one hour of guessing got backlight controlling registers. I attach script which allows me to control backlight using rhd_dump tool (rhd_dump is part of radeonhd) with any driver: radeonhd or fglrx.

It should be quite interesting as you don't have to use hacked DSDT or fglrx.
Comment 33 Anton Veretenenko 2008-12-14 19:36:18 UTC
Does this registers stay the same for different Ati cards?
Comment 34 Rafał Miłecki 2008-12-14 22:22:51 UTC
I don't think these registers are the same for every ATI card. It may be only 34xx Series
Comment 35 Alex Deucher 2009-06-30 15:53:33 UTC
radeonhd disables vga io, so no acpi methods that need access to the card will work when it's loaded.
Comment 36 Marcin Rataj 2009-07-25 11:46:14 UTC
(In reply to comment #32)
> Created an attachment (id=19281) [details]
> Script for controlling backlight level

Just wanted to confirm: it works well with HD 3400 and radeon/radeonhd on Vaio VGN-FW21E
Comment 37 Marcin Rataj 2011-01-20 22:17:09 UTC
Update: under 2.6.37 kernel 
/sys/class/backlight/acpi_video0/brightness interface is introduced. 

Usage: https://github.com/lidel/dotfiles/blob/master/bin/vaio-fw21e-backlight2.sh