Lenovo ThinkPad X1

From ArchWiki
Revision as of 14:52, 2 September 2013 by Silverhammermba (talk | contribs) (UEFI: remove vague instructions. remove outdated gotchas)
Jump to: navigation, search

Model description

Lenovo ThinkPad X1, Sandy Bridge (Core i5, 2,5 GHz), NWG2MRT This model has SSD 80/HDD 320 pair. Comes without optical drive. Has UEFI BIOS with BIOS-legacy fallback mode. Has Windows 7 Pro pre-installed, with tons of bloatware (bing toolbar, big Lenovo superbar button et all) pre-installed, too.

Drive space customization

By default:

- SSD: two WinRE partitions and one Windows system partition
- HDD: blank

I've chosen to:

- leave WinRE untouched (there are two such partitions)
- use SSD for my root partition
- use HDD for swap, /home, /var (~30 Gb, pacman cache goes here), /tmp

Installation method

Note: If you'd like to create Windows recovery flash drive, do it before Arch installation with the help of autorun located at recovery partition, from your installed Windows system.

Due to the fact that there is no optical drive, you need to install Arch from USB stick.


This procedure is far less involved then UEFI and works perfectly.

In order to turn off UEFI booting you will need to boot into your BIOS and change the boot mode to Legacy. Afterward, follow the Beginner's Guide for standard installation instructions.


Installation from UEFI bootable USB works with the default bootloader, so rEFInd is unnecessary. In the BIOS under Startup, set "UEFI/Legacy Boot" to UEFI only. The default partition table (and Windows installation) uses MBR. For UEFI, reformat the disk as GPT.

Booting using an efibootmgr entry works well. The warnings about incompatibility and embedding arguments to do not apply.


Almost everything works out of the box. Install synaptics and video-intel drivers.

Fingerprint Reader

fingerprint-gui from the AUR is already patched to work with the X1's newer fingerprint reader. To get the gui's dropdown to recognize your device, you'll have to add your user to the plugdev group:

# gpasswd -a <username> plugdev

It has been seen that the relevant udev rules do not get set properly. To do this, open /usr/lib/udev/rules.d/40-libbsapi.rules with your favorite text editor to add (or create with) the following lines:

ATTRS{idVendor}==”147e”, ATTRS{idProduct}==”2020″,   SYMLINK+=”input/touchchip-%k”, MODE=”0664″, GROUP=”plugdev”
ATTRS{idVendor}==”147e”, ATTRS{idProduct}==”2020″,   ATTR{power/control}==”*”, ATTR{power/control}=”auto”

Restart your computer for the group and udev changes to take effect.

Adjusting Backlight Brightness

Add acpi_osi="!Windows 2012" to GRUB_CMDLINE_LINUX in /etc/default/grub. (See https://bbs.archlinux.org/viewtopic.php?id=158775).

Power management

Just consult Laptop page to read about tp_smapi, pm-utils, uswsusp and acpid.

Tp_smapi does not seem to work at all.

Suspend works fine, even with status indicator.


The only special keys that work out of the box are the sleep, wifi, brightness, and keyboard backlight keys. All of the others (volume, media, etc.) need to be mapped using something like acpid. Here are the relevant ACPI events

ac_adapter ACPI0003:00 00000080 00000000 # adapter unplugged
ac_adapter ACPI0003:00 00000080 00000001 # adapter plugged-in
battery PNP0C0A:00 00000080 00000001 # battery present
button/mute MUTE 00000080 00000000 K
button/volumedown VOLDN 00000080 00000000 K
button/volumeup VOLUP 00000080 00000000 K
video/switchmode VMOD 00000080 00000000 K
button/prog1 PROG1 00000080 00000000 K # the thin button above F6
cd/prev CDPREV 00000080 00000000 K
cd/play CDPLAY 00000080 00000000 K
cd/next CDNEXT 00000080 00000000 K

The microphone mute button does not register an ACPI event.

As an alternative to ACPI, you can use xbindkeys to catch keypress events. For instance, you can catch the XF86AudioMicMute keypress and then run an appropriate amixer command to toggle microphone muting.