Lenovo ThinkPad X220 - ArchWiki

Jump to content
From ArchWiki

Hardware | PCI/USB ID | Working?
--- | --- | ---
Touchpad |  | Yes
TrackPoint |  | Yes
Keyboard |  | Yes
Video | `8086:0126` | Yes
Webcam | `04f2:b217` | Yes
Ethernet | `8086:1502` | Yes
Bluetooth |  | Yes
SD-card reader | `1180:e823` | Yes
Audio | `8086:1c20` | Yes
Wireless | `8086:0085` | Yes
Fingerprint Reader | `147e:2016` | Yes

## Installation

The X220 can not boot from a GPT disk in `Legacy BIOS` mode, it is necessary to either switch to `UEFI` booting or create a MBR Partition Table.

## Firmware

fwupd does not support this device yet.

To update the firmware on the device, get the latest bootable CD and follow the steps in Flashing BIOS from Linux#Bootable optical disk emulation.

## Power management

After waking up the device from suspend, the device might get stuck in a reboot loop. This can be caused by the EFI storage getting too full. To free up some space, clear the pstore:

    # mkdir -p /dev/pstore
    # mount -t pstore pstore /dev/pstore

Nothing important should be here, but check first anyway:

    # ls /dev/pstore

Then empty the directory:

    # rm /dev/pstore/*

Next some EFI variables. These are used/created by pstore, but everyone should have had them even though the pstore data was deleted using the above commands:

    # rm /sys/firmware/efi/efivars/dump-type0-*

## Microphone

The internal microphone can generate a lot of static or hissing, the workaround is to mute the right mic input channel.

Tip: Noise cancellation is preferred: it also mutes the internal fans. See the pulseaudio documentation for more information.

## Touchpad

If the touchpad is jumpy/imprecise, create the following configuration:

    /etc/udev/hwdb.d/90-libinput-x220-touchpad-fw81.hwdb

    touchpad:i8042:*
     LIBINPUT_MODEL_LENOVO_X220_TOUCHPAD_FW81=1

Then follow the steps at Map scancodes to keycodes#Using udev.

See Fedora bug #1264453 for more details.

## Function keys

Key | Visible?1 | Marked?2 | Effect
--- | --- | --- | ---
`ThinkVantage` | Yes | Yes | `KEY_PROG1`
`Audio mute` | Yes | Yes | `KEY_MUTE`
`Mic mute` | Yes | Yes | `KEY_F20`
`Volume down` | Yes | Yes | `KEY_VOLUMEDOWN`
`Volume up` | Yes | Yes | `KEY_VOLUMEUP`
`Fn+F1` | Yes | No | `KEY_FN_F1`
`Fn+F2` | Yes | Yes | `KEY_COFFEE`
`Fn+F3` | Yes | Yes | `KEY_BATTERY`
`Fn+F4` | Yes | Yes | `KEY_SLEEP`
`Fn+F5` | Yes | Yes | `KEY_WLAN`
`Fn+F6` | Yes | Yes | `KEY_CAMERA`
`Fn+F7` | Yes | Yes | `KEY_SWITCHVIDEOMODE`
`Fn+F8` | Yes | Yes | `KEY_F21`
`Fn+F12` | Yes | Yes | `KEY_SUSPEND`
`Fn+Home` | Yes | Yes | `KEY_BRIGHTNESSUP`
`Fn+End` | Yes | Yes | `KEY_BRIGHTNESSDOWN`
`Fn+Space` | Yes | Yes | `KEY_FULL_SCREEN`
`Fn+Left` | Yes | Yes | `KEY_PREVIOUSSONG`
`Fn+Right` | Yes | Yes | `KEY_NEXTSONG`
`Fn+Up` | Yes | Yes | `KEY_STOPCD`
`Fn+Down` | Yes | Yes | `KEY_PLAYPAUSE`

1. The key is visible to `xev` and similar tools
2. The physical key has a symbol on it, which describes its function

## See also

- Arch user blogs about the X220
  - Thinkpad X220 model 4287CTO using a msata SSD for 64 bit Arch Linux
  - X220 i5
- Thinkwiki X220 reference
- Power saving options for the X220 - Notebook Review Forum
- thinkpad-scriptsAUR for ThinkPad X220 Tablet rotation, docking, etc scripts

Category:

- Lenovo