Comment 182 for bug 1098216

Revision history for this message
In , corsac (corsac-linux-kernel-bugs) wrote :

(In reply to comment #54)
> (In reply to comment #51)
> > For what it's worth, I have an X230, with the 2.06 version of the BIOS and
> the
> > 1.10 version of the firmware, running a 3.8-rc6 kernel plus ext4
> development
> > patches (3.8.0-rc6-00041-gf3a1e5d). i am using Xfce4 (none of that GNOME
> crap
> > for me :-), and the brightness keys (Fn-F8/Fn-F9) work just _fine_.
>
> Odd, this bios version isn't listed on Lenovo's website.

Sure it is: http://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/g2uj10us.txt
Latest is 2.51 and:

2.06 (G2UJ08US) 2.06 (G2ET86WW) 1.10 (G2HT31WW) 01 2012/11/27

> It is newer than the
> x230 bios version that I know to have the bug, so perhaps Lenovo fixed the
> problem. Care to attach your ACPI tables?

I do have the problem with 2.51 (latest version available).
>
> It's also possible that it works because you're using a different window
> manager, so you most likely wouldn't be using gnome-settings-daemon. You
> could
> check /sys/class/backlight/*/{brightness,actual_brightness} and see how the
> values are changing in response to the brightness keys.

I'm using Xfce too, so I'll try to explain how it works to hopefully unconfuse people.

On x230 (and all the 2012 Thinkpads, it seems), before 3.7 brightness keys work just fine independently of any userspace daemon. It works in single user, it works in vt, it works in X at login screen, it just works. However, Xfce needs a bit of tuning in order to indicate xfce4-power-manager it doesn't have to handle brightness keys (KEY_BRIGHTNESS{UP,DOWN}) itself (since it's already handled, I guess by video.ko) but that's all.

On 3.7+ and due to the _OSI("Windows 2012") handling, video.ko seems to not handle those anymore, but KEY_BRIGHTNESS{UP,DOWN} are still correctly emitted (by /dev/input/even4 which is "Video Bus"). So if xfce4-power-manager is configured to handle the keys itself (which is the case by default) it'll happily do it (however you'll only have 8 or 9 brightness level instead of 15, it seems).

So in case it's still confusing, I think it's better to test either in a vt or in X with nothing else running (just running X from vt for example).