On Mon, Feb 11, 2013 at 05:52:13PM +0000, Matthew Garrett wrote: > On Mon, Feb 11, 2013 at 10:21:21AM -0600, Seth Forshee wrote: > > The AML implementation for brightness control on several ThinkPads > > contains a workaround to meet a Windows 8 requirement of 101 brightness > > levels [1]. The implementation is flawed, as only 16 of the brighness > > values reported by _BCL affect a change in brightness. _BCM silently > > discards the rest of the values. Disabling Windows 8 compatibility on > > these machines reverts them to the old behavior, making _BCL only report > > the 16 brightness levels which actually work. Add a quirk to do this > > along with a dmi callback to disable Win8 compatibility. > > So the problem is that userspace is writing values that don't happen to > be aligned with the values the hardware reacts to, and so nothing gets > changed? Yes. The values are valid according to to _BCL, but _BCM is discarding any values that aren't contained in an array named BRTW. BRTW is literally the object returned by _BCL returns for !Windows 2012. Here's a link to the AML if you'd like to take a look. http://people.canonical.com/~sforshee/x230-acpi-tables/SSDT1.dsl Seth -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html