Red Hat Bugzilla – Bug 391601
acpid breaks thinkpad T60 backlight controls
Last modified: 2008-08-14 02:44:52 EDT
Description of problem:
When acpid is enabled, backlight buttons on my T60 are ignored or quickly reset,
except occasionally I can get it into one low setting.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install F8 x86_64 on Thinkpad T60
2. Use backlight controls
Usually the backlight buttons are totally ignored. Sometimes they're
momentarily honored and then reset. Occasionally I can get it into a certain
low setting, but if I try to raise or lower it, it goes back to full power.
Backlight controls just work, as they did in F7.
Disabling acpid fixes this problem.
Might be a kpowersave bug. In F7 I used klaptop instead, which doesn't seem to
be available in F8. I deliberately disabled kpowersave in F7 for some reason,
but I don't remember what it was. I'll check this out...
This is strange, because acpid doesn't do anything with a backlight (unless you
wrote your own script in /etc/acpi/events/). I tried to reproduce this bug on
same model, but I was unsuccessfully. I tried many different orders of a
execution of acpid/kpowersave/hald, but it works always.
Do you have set default settings for a kpowersave? Maybe a kpowersave sets the
high backlight because of those settings.
One of another possible solution is upgrade BIOS (some ASUS laptops have to
update BIOS, otherwise changing backlight doesn't work). Nice utility for
display what thinkpad buttons do, is called "tpb", so try to install it too and
you'll see what happen.
The default BIOS setting is to lower the backlight level when running on
battery. I disabled this, and it works somewhat more reliably, but I think
there's still a race between acpid and kpowersave. I'm currently using
non-default kpowersave settings. I have set it to not change brightness when
running on battery, though it remembers whatever backlight setting each state
was manually set to with the buttons.
I just tried to re-enable acpid for another test, and got this:
# service acpid start
Starting acpi daemon: acpid: can't open /proc/acpi/event: Device or resource busy
Clearly something is conflicting...
# lsof | fgrep /proc/acpi/event
hald-addo 2365 haldaemon 4r REG 0,3 0 4026531940
So, it seems hal is doing something uncool here.
Yea, I know about this. It is caused by this: if hald don't recognize that some
application is listening on /proc/acpi/event, then will start listening by self.
And then, if you try to run apcid, you get this conflict. But if you start acpid
before hald, then acpid starts listening on /proc/acpi/event, hald will
recognize it and starts listening on acpid socket /var/run/acpid.socket and
there is no conflict. For the first time, you have to kill a process, which is
listening on /proc/acpi/event (some hald-addon-acpi) to start acpid properly.
Every time after this step, acpid will start first and there is no more conflict.
But I'm not sure, if this solve something.
Does changing the brightness work via /proc/acpi/ibm/brightness? If you haven't
tried it, please do this:
echo "level <num>" > /proc/apci/ibm/brightness, where <num> is 0..7
And what driver do you use in the /etc/X11/xorg.conf? If you use radeonhd, then
this driver breaks changing brightness, it is known bug
I was having the same issue with my T60 as well (Intel graphics chipset).
I found another entry in the Redhat bugzilla as well that describes the issues I
was seeing as well, but turning off acpid did fix the problem for me as well.
What is the importance of acpid these days? is it still useful for it to be run?
It is useful in cases, that you don't have some desktop environment (gnome,
kde,...). In these environment usually are some power-managers or something
which catches acpi events or watching DBus. But if you do not have a desktop at
all or you want to specify special action on some function key, your only choice
Anyway it's strange. Because I have T60 with ATI card, but everything work fine
even with acpid (X driver vesa or fglrx).
Working fine in F9. Never got it straightened out in F8.
Ok, I'm closing this bug.