Linux on the Lenovo ThinkPad X60 Tablet

Last updated: 2010.05.13

My intent here is to present the current state of Linux on the X60 tablet--what works, what doesn't, and how to get things working. I currently have installed kubuntu Lucid (10.04) on my tablet, so some of the information presented here will be kubuntu specific, and some will be specific to the hardware present in my tablet. Hopefully this will serve as a guide for people interested in running Linux on this machine. Please feel free to contact me if you have more information or questions relevant to the topic!

Recent updates:

2010.05.13 I've just put a clean installation of Kubuntu 10.04 (Lucid) on the tablet, and I'm pretty impressed--very few problems with this release. New instructions are now available! Old instructions for 9.10 (Karmic) users are still available here. Major changes are: 1) atheros wifi driver works perfectly; no more ndiswrapper. 2) rotate and switchPenButton scripts are updated to work in Lucid (thanks Jesse!)
2009.12.17 Updated rotate script so that 'monitor' mode now checks for the screen's swivel state. This is a workaround for bugs that prevent the ACPI system from executing the script when the screen is swiveled. To start the monitor, just type "rotate monitor". To stop it, type "rotate normal".
2009.11.04 Added information on fixing volume keys and trackpoint wheel (thanks Marion!)
Uploaded new rotate and switchPenButton scripts that work in karmic.
2009.10.31 Upgrade to Karmic was pretty smooth. Lots of updates to the page and many things removed. If you would like to see the old instructions for installing Hardy, they are still available here.

Other Resources

Overview - what works, what doesn't. Click each item for more information.

Intel Core Duo (looks like 2 CPUs)
SATA Hard Drive
Sound
Display X.org + hardware acceleration
External VGA
Input Pen
Touch screen
Trackpoint
Special keys
Fingerprint Reader
Networking Wired ethernet
Wireless
Others
External Connections USB
Firewire
Secure Digital
PCMCIA
ACPI Power Management
Suspend and Hibernate
Extra Features Detect screen swivel
Detect tablet orientation
Active hard drive protection
Works out of the box
Works, some effort required
Partly works, some problems
Does not work
I haven't checked yet

My Hardware

My model number is 6365CTO. My screen is the SXGA (1400x1050) model, and the pen component is a wacom tablet described by /sys/bus/pnp/devices/00:0b/id as "WACf004". The CPU as indicated in /proc/cpuinfo is "Intel(R) Core(TM) Duo CPU L2500 @1.83GHz". The rest of the hardware is described by the output of lspci:
        00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
        00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
        00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
        00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
        00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
        00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
        00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
        00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
        00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
        00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
        00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
        00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
        00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
        00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
        00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
        00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
        00:1f.2 SATA controller: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller AHCI (rev 02)
        00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
        02:00.0 Ethernet controller: Intel Corporation 82573L Gigabit Ethernet Controller
        03:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
        15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b4)
        15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C552 IEEE 1394 Controller (rev 09)
        15:00.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 18)
      

Display

As of Kubuntu 9.10, video (including acceleration and rotation) appears to work quite well out of the box. I expect we will still see a few small bugs with the intel video drivers for some time to come, though..

Screen rotation
The intel driver supports rotation through xrandr. Getting the pen to automatically rotate with the screen requires a little more work:

Input Devices

TrackPoint
Wacom Pen
The tablet pen works perfectly on install. Woohoo!

Setting up the pen button
The button on the side of the pen acts as a middle mouse click by default. You can change this to be a left click if you wish, but I personally found that I use left and middle clicks about equally so I needed a different solution. I decided to make use of the tiny little ctrl-alt-delete button below the screen by having it run a script which switches the pen button between middle and right clicking, and flashes the power LED to indicate which is currently selected.
Touchscreen (multitouch) I do not have a multitouch screen to test, but there is some information about getting the x61 multitouch screen working on this site: https://help.ubuntu.com/community/X61T

Special Keys

Quick fix for volume keys: Install an older version of hotkey-setup from http://archive.ubuntu.com/ubuntu/pool/main/h/hotkey-setup/hotkey-setup_0.1-23ubuntu7_i386.deb. Download the file and run the command
dpkg -i hotkey-setup_0.1-23ubuntu7_i386.deb


Many of the special function keys just work, while some must be configured in various ways. The first thing you want to do is make X configure your extra keys when you log in (note: this bit is kde specific): Run the script immediately or just log out and back in again and you will have a few more keys available to be mapped to commands using khotkeys.

Configuring keyboard shortcuts

Special/mappable keys:

Fingerprint Reader
Instructions on getting your fingerprint reader to work: http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader_with_ThinkFinger. Also note that ubuntu has thinkfinger packages available through apt. I haven't tested any of this in Karmic yet (and might never).

Networking

External Connections

Power Management

  • Suspend and Hibernate
  • Suspend works most of the time in Lucid, although it occasionally fails to resume from suspend. I haven't tested hibernate yet..
  • Battery
  • The tablet detects the battery/AC state and battery charge properly. The battery (I have a 4-cell battery, not 8) lasts 2-3 hours (Edit: my battery is now showing its age and lasts 1 hour at most :(). There are a number of things you can do to improve power consumption. See my rc.local for the full list. I recommend playing with powertop to get a sense for what things are using power in your system.
  • CPU frequency scaling
  • Works, no problems. By default both CPU cores are scaled back to 1GHz, and increase speed under heavy load.
  • Hard drive spindown
  • Hard drive spins down on its own when the tablet is unplugged.
  • Fans
  • Fans work, no problems. They turn on automatically and maintain the core at about 55C. I wasn't sure if they were working at first because they are so quiet :)

    The tablet does get fairly hot for my liking, particularly under my right palm, but this seems to be a general feature of recent thinkpad models, so I'm not sure if there's anything to be done here. The (very quiet) fan is usually running, and seems to maintain the CPU around 50C. Typically the area under my right hand is about 40C, and the same area underneath the tablet is about 50C. You can knock off a few degrees by turning off the wireless power.

    Extra Features

    Software

    Some software I have been using related to the tablet:

    Custom Scripts

    Rotate script - download here

    This script can be used both for manually rotating the screen and for automatically rotating when the screen is swiveled. You can easily edit the script to set the modes that are chosen on manual or automatic rotation. See the display section for instructions on automatic rotation. The script will use hdaps to rotate the screen when in tablet mode, please read the section on setting up and calibrating hdaps. If you wish to disable this, just change the value of "tabletMode" in the rotate script to your preferred tablet-mode orientation (something besides monitor).
    The script also handles remapping the arrow keys on the front panel to match the rotation, but you will need to add a line to your /etc/sudoers file to enable this:
    %admin ALL=NOPASSWD: /usr/bin/setkeycodes

    Pen button switch - download here

    This script just switches the behavior of the second button on the pen between being a right click and a middle click. It also flashes the power button to indicate whether right or middle is currently selected (note this requires write access to /proc/acpi/ibm/led. You can set this by adding "chmod a+w /proc/acpi/ibm/led" to /etc/rc.local)

    Contacting me

    If you have questions or would like to contribute information, contact me at
    lcampagn[you shouldn't see this]@ email. unc. edu