Debian on a ThinkPad X220 tablet

Last modified: Tue Jul 19, 2011 03:52PM

With a 3.0.0-rc7 linux kernel and a fresh from git xf86-input-wacom, most of the hardware is well supported and does not warrant special instruction.

Hardware

Integrated Intel SandybridgeOK
Wired EthernetIntel 82579LMOK * (driver: e1000e)
Wireless EthernetIntel Advanced-N 6205OK (driver: iwlagn
GPUOK
ScreenLG LP125WH2-SLB1 1366x768 277mm x 156mm IPSOK
VGA portOK
DisplayPortuntested
AudioIntel 6 Series/C200 HDAOK
TrackPadSynaptics (PS/2)OK
TrackPointIBM TPPS/2
Digitizer056a:00e6 Wacom (USB)OK * **
Card ReaderRicoh Co Ltd Device e823untested
Finger Print Reader147e:2016 UpekOK
Webcam04f2:b217 ChiconyOK
HD active protection systemNot yet supported
  • *: not functional with the debian installer kernel
  • **: Wacom X in debian/unstable does not support touch

    Installation

    I grabbed a current unstable netboot installer. The e1000e in the 2.6.32 kernel included with the installer did not recognize my nic. The wireless drivers were also unusable. My solution was simply to replace the kernel with one that I built (see below for a usable configuration). With all the necessary drivers compiled in, instead of compiled as modules, there is no need to rebuild the initrd, simply swap the kernel. Aside from that, installation was uneventful.

    Missing Features/Wishlist

  • Low battery notification: I'm not sure if the events aren't being sent, or are just being ignored
  • Single finger swipe power on and login
  • Widi (not that I've tried)
  • Access to the accelerometer (hdaps)

    Kernel

    Configuration for linux kernel 3.0.0-rc7 thinkpad_x220t_3.0.0-rc7.config.

    Digitizer

    The current version of xserver-xorg-input-wacom (0.10.10) works perfectly with the pen/eraser but not touch. Grab a newer version or just clone the git repository (see the instructions at http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Xf86-input-wacom. To prepare for the install run:
  • sudo apt-get build-dep xserver-xorg-input-wacom
  • sudo apt-get install libxinerama-dev

    Finger Print Reader

    Install fprint-demo and libpam-fprint. If you are not prompted to select pam modules and the finger print reader is not polled for login, run (you should see a debconf dialog):
  • sudo dpkg-reconfigure libpam-fprint If you are using a gui login such as gdm or xdm, that should be sufficient to enable keyboard free login. If not, you can add a custom login script to inittab:
    		13:23:once:/sbin/getty -n -l /usr/local/sbin/login_default.sh 38400 tty13
    	
    Where the content of that script is just:
    		#!/bin/sh
    		/bin/login 
    	
    Fprint seems to leave the reader in full power scan mode. So I don't recommend leaving it on indefinitely (hence the "once" in the inittab). Windows seems poll the device to reuse the power on finger scan (if you turn on the machine with a swipe). That feature is not supported and I don't know if anyone is working on it.

    Buttons

    Power Buttons

    Both power buttons do work, however they don't respond instantly. It seems one must press them for about 1 second to emit the acpi events. 5 seconds invokes a hard shutdown.

    Rotation Sensors

    The binary hinge switch works out of the box. Out of laziness I translate the acpi events to key events (the driver emits switch events through the "ThinkPad Extra Buttons" device) with acpi_fakekey. With that, I can use the normal hotkey map to invoke my rotation script.

    A more analog orientation sensor can be enabled in windows. The idea is to track gravitational "down" as the tablet is moved around. The events from this sensor seem to be coming in through one of the mouse input devices. It will take a bit more fiddling to get a meaningful interpretation.