From: Ben Jencks <ben@bjencks.net>
To: joeyli <jlee@suse.com>
Cc: linux-acpi@vger.kernel.org
Subject: Re: "Windows 2012" OSI causes backlight problems on current ThinkPad firmware
Date: Mon, 24 Dec 2012 21:10:03 -0500 [thread overview]
Message-ID: <50D90AFB.8060802@bjencks.net> (raw)
In-Reply-To: <1356390303.6113.47.camel@linux-s257.site>
On 12/24/2012 06:05 PM, joeyli wrote:
> 於 一,2012-12-24 於 16:32 -0500,Ben Jencks 提到:
>> The addition of "Windows 2012" to the OSI strings in the 3.7 cycle has
>> caused backlight brightness adjustment to break on my ThinkPad T530.
>>
>> Without "Windows 2012" _BCL returns the actual 16 brightness levels:
>>
>> 5, 10, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 80, 90, 100
>>
>> When "Windows 2012" is present, it returns 101 levels 0-100, but _BCM
>> rounds any value up to one of the real values above.
>>
>> This interacts badly with gnome-settings-daemon, which attempts to
>> change brightness in increments of 5 (1/20 of 100). If brightness is
>> currently 100, it attempts to decrement it to 95, but it gets rounded
>> back up to 100, so it's impossible to decrease the brightness.
>>
>> Booting with acpi_osi="!Windows 2012" fixes the problem, though I'm
>> not
>> sure if it introduces others; I see several other things depend on
>> WIN8
>> in DSDT.
>>
>> Perhaps this should be fixed in gnome-settings-daemon, but since it
>> appears on the surface to be a kernel regression (3.6 works, 3.7
>> broken)
>> I thought I'd report it here first.
>
> Yes, this is g-s-d's problem, g-s-d should adapt to more levels of
> brightness:
>
> plugins/power/gsd-power-manager.c
>
> /* on ACPI machines we have 4-16 levels, on others it's ~150 */
> #define BRIGHTNESS_STEP_AMOUNT(max) ((max) < 20 ? 1 : (max) / 20)
Actually, thinking about this some more, I'm not sure what g-s-d could
do about this. It could behave better if brightness changes don't
"stick", but as long as the hardware/kernel is lying to userspace about
how many brightness levels are available the experience can't be
completely right.
If the exact brightness levels aren't exposed, pressing the brightness
up/down keys will skip a real level or not change the real level at all
in some cases.
Would it be possible to add a quirk in to exclude "Windows 2012" on this
hardware/bios?
-Ben
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2012-12-25 2:17 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-24 21:32 "Windows 2012" OSI causes backlight problems on current ThinkPad firmware Ben Jencks
2012-12-24 23:05 ` joeyli
2012-12-25 2:10 ` Ben Jencks [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50D90AFB.8060802@bjencks.net \
--to=ben@bjencks.net \
--cc=jlee@suse.com \
--cc=linux-acpi@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).