Re: [BISECTED 3.16-rc REGREGRESSION] backlight control stopped working

From: BjÃrn Mork
Date: Mon Jul 14 2014 - 16:45:37 EST


Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> writes:
> On Mon, Jul 14, 2014 at 9:24 AM, Linus Torvalds
> <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
>>
>> BjÃrn, what's your setup? Is this perhaps solvable some other way?

Just to answer that: I don't use any particular desktop environment. I
have acpid running to take care of the most basic power management
stuff. My X session is simply WindowMaker (sic) running directly from
lightdm. No session management or fancy policy daemons. So I don't have
any daemon which would react on the brightness key codes.

Now, it's not that I would mind adding a daemon to handle stuff like
brightness control. I reported this as a bug because I was a bit
surprised by the existing behaviour breaking like that, and I thought
that other users might be as surprised as me. Some maybe even without
the ability to track down the change and the setting that would restore
the old behaviour.

> For example, I wonder if we could fix the "dual brightness change"
> problem automatically by making a new option for
> 'brightness_switch_enabled'.
>
> Currently, there are two cases:
>
> - enabled: do the actual brightness change _and_ send the input
> report keycode for a brightness change
>
> - disabled: just send the keycode, excpecting the desktop software to
> handle it.
>
> and maybe we could have a new case (and make *that* the default):
>
> - delayed: send the keycode, and set up a delayed timer (say, one
> tenth of a second) to do the actual brightness change. And if a
> brightness change from user mode comes in during that delay, we cancel
> the kernel-induced pending change.

That sounds like a good solution to me FWIW.



BjÃrn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/