Backlight issues with Thinkpad T430
2lss
Status: New User - Welcome
Joined: 27 Mar 2013
Posts: 2
Reply Quote
I'm currently running Debian Wheezy on my Thinkpad T430 with the liquorix 3.8.4 kernel. Everything is working great (i.e. no random crashing like the stock 3.2 Debian kernel) except for the backlight which starting acting funky after running the newer kernel.

The basic problem is that the gnome brightness control would either not respond to hotkeys or when on battery power set the backlight at very low levels. If I tried to adjust the settings via hotkeys or through /sys/class/backlight, it would always return to the same dark setting.

I did a little digging and found this bug report. From what I read it looks like the windows 8 compatibility screws with the acpi values for the backlight.
[link]

I took the patch provided, added my model to it, recompiled with a vanilla 3.8.4 kernel and the issue is fixed. Could you please incorporate this?

:: Code ::

diff -uNr linux-3.8.4-vanilla/drivers/acpi/blacklist.c linux-3.8.4/drivers/acpi/blacklist.c
--- linux-3.8.4-vanilla/drivers/acpi/blacklist.c   2013-03-27 01:59:55.252053268 -0400
+++ linux-3.8.4/drivers/acpi/blacklist.c   2013-03-27 02:02:19.312720822 -0400
@@ -193,6 +193,13 @@
    return 0;
 }
 
+static int __init dmi_disable_osi_win8(const struct dmi_system_id *d)
+{
+   printk(KERN_NOTICE PREFIX "DMI detected: %s\n", d->ident);
+   acpi_osi_setup("!Windows 2012");
+   return 0;
+}
+
 static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
    {
    .callback = dmi_disable_osi_vista,
@@ -268,6 +275,37 @@
       },
    },
 
+   /*
+    * The following Lenovo models have a broken workaround in the
+    * acpi_video backlight implementation to meet the Windows 8
+    * requirement of 101 backlight levels. Reverting to pre-Win8
+    * behavoir fixes the problem.
+    */
+        {
+        .callback = dmi_disable_osi_win8,
+        .ident = "Lenovo ThinkPad T430",
+        .matches = {
+                     DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+                     DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430"),
+                },
+        },
+   {
+   .callback = dmi_disable_osi_win8,
+   .ident = "Lenovo ThinkPad T430s",
+   .matches = {
+           DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+           DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430s"),
+      },
+   },
+   {
+   .callback = dmi_disable_osi_win8,
+   .ident = "Lenovo ThinkPad X230",
+   .matches = {
+           DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
+           DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X230"),
+      },
+   },
+
    /*
     * BIOS invocation of _OSI(Linux) is almost always a BIOS bug.
     * Linux ignores it, except for the machines enumerated below.

Back to top
damentz
Status: Assistant
Joined: 09 Sep 2008
Posts: 1122
Reply Quote
Added patch to zen-kernel sources - your changes will be in the next kernel package.

Source: github.com/damentz/zen-kernel/commit/95891ff0ba2b598d73879589a6e789cb18816c0b
Back to top
2lss
Status: New User - Welcome
Joined: 27 Mar 2013
Posts: 2
Reply Quote
Thanks for adding that, however the Ubuntu patch only works for the T430S and the X230. The patch in my first post has an additional entry for the T430 (which is my laptop). Could you please add that one instead?
Back to top
Display posts from previous:   

All times are GMT - 8 Hours