Thinkpad X40 Discoveries

A couple of extremely useful recent discoveries on my IBM Thinkpad X40:

  • /proc/acpi/ibm, provided by the ibm-acpi package. You can control all sorts of Thinkpad-specific behaviors in here—including my favorite, which is the automatic display switching when you open and close the lid or dock/undock. You can turn off automatic display switching with:

     echo auto_disable > /proc/acpi/ibm/video 

    You can also turn the light keyboard light on and off with:

     echo on > /proc/acpi/ibm/light echo off > /proc/acpi/ibm/light 

    Etc. Go IBM!

  • Display corruption: this brings me to my biggest problem running GNU/Linux on the Thinkpad X40—display corruption. When you switch from internal LCD to external CRT, or sleep and resume, or close/open the lid (with the automatic switch behavior described above), the display moves down 15-20 pixels and the top lines are corrupted garbage. I’d post a screenshot, but of course the screen doesn’t realize it’s corrupted, so it would have to be a digital photo. In any case, I just discovered this experimental driver to replace i810_drv.o· which makes the problem go away entirely. Just drop it in over the i810_drv.o in /usr/X11R6/lib/modules/drivers/ (bad behavior for Debian—will be overwritten by an upgrade of course). Hopefully this driver will make its way into the mainline X drivers and eventually back into Debian. This makes using my Thinkpad at least 20% less annoying.

Now if only someone would write a driver for the internal SD card reader (apparently no one has gotten it to work·), I think I would have 100% usage of my laptop’s features.