Bug reported by Joey Hess on the Debian BTS last week. Intel 2.2 broke his backlight support again, with old symptoms described in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=439744
"But when I took a look at commit 43fbc547786cf26514f95bce79fab58a66c291bf,
I saw that they'd generalised things and made the backlight control
method used be configurable with xrandr. After I ran this, my backlight
worked as expected:
xrandr --output LVDS --set BACKLIGHT_CONTROL legacy
So I hope that the X server can be taught to use legacy mode by default
for this model of laptop, instead of the current default, which I think
is probably native mode.
(Is there some way I can configure this in xorg.conf?)"
He has a Fujitsu P7120 laptop. His config and log are available from
Yeah, changing the default is easy enough. In i830_lvds.c there's some code to detect which method to use, apparently it's getting it wrong on this laptop. So either the detection code is broken or we need a new type of quirk for this machine.
Joey, can you confirm what the selected backlight control method is on this machine by default? AFAICT it should be selecting the legacy method for you already, unless you have a kernel backlight interface available.
Just run 'xrandr --prop' at startup time to check.
(Reply from Joey)
it's "combination" on startup
Screen 0: minimum 320 x 200, current 1280 x 768, maximum 1280 x 1280
VGA disconnected (normal left inverted right x axis y axis)
LVDS connected 1280x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
supported: native legacy combination kernel
BACKLIGHT: 31250 (0x00007a12) range: (0,31250)
1280x768 59.8*+ 60.0
1024x768 85.0 75.0 70.1 60.0
800x600 85.1 72.2 75.0 60.3 56.2
640x480 85.0 72.8 75.0 59.9
TV disconnected (normal left inverted right x axis y axis)
BOTTOM: 37 (0x00000025) range: (0,100)
RIGHT: 46 (0x0000002e) range: (0,100)
TOP: 36 (0x00000024) range: (0,100)
LEFT: 54 (0x00000036) range: (0,100)
supported: NTSC-M NTSC-443 NTSC-J PAL-M
Aha. I wonder what the best default is... on many machines both the legacy and native registers work, and the combo method tries to use the latter as much as possible. That gives the backlight a nice, large range of brightness.
But I guess on some, the native regs are totally ignored, so I wonder if we shouldn't default to legacy if the backlight reg indicates legacy mode...
I assume the attached patch works for you?
Created attachment 12812 [details]
Use legacy instead of combo backlight method
If we detect that the legacy registers are in use, don't try to use the native regs at all by default.
Yes, Joey says "I've tested it and it works for me".
Ok, thanks. I'll push this stuff along with the other backlight fixes.
Ok, just pushed the fix for this one. Please open a bug if it's still broken for you.