Lenovo ThinkPad X1 Extreme (Gen 2)

From ArchWiki

This article or section does not follow the Laptop page guidelines.

Reason: Needs a function keys and Accessibility section. (Discuss in Talk:Lenovo ThinkPad X1 Extreme (Gen 2))
Hardware PCI/USB ID Working?
Touchpad PS/2 Yes
GPU (Intel) 8086:3e9b Yes
GPU (NVIDIA) 10de:1f91 Yes
10de:1fb8 Yes
Touchscreen 056a:51a0 Yes
Webcam 04f2:b67c Yes
Ethernet 8086:15bc Yes
8086:15bb Yes
Bluetooth 8087:0029 Yes
SD-card reader 10ec:525a Yes
17a0:9755 Untested
Smart-card reader 058f:9540 Untested
Audio 8086:a348 Yes
Wireless 8086:2723 Yes
Fingerprint reader 06cb:00bd Yes
Thunderbolt 8086:15ea Untested

This page covers the ThinkPad P1 (Gen 2) and the ThinkPad X1 Extreme (Gen 2), as their hardware is extremely similar.

Thunderbolt

Warning: Ensure you are on the latest BIOS firmware as doing the following steps on older BIOSes may brick your device

To use Thunderbolt 3, go into BIOS and enable BIOS Assist mode (Thunderbolt 3 -> Enable BIOS assist mode)

Power management

As of writing, a bug exists where the battery data can appear corrupt, wildly incorrect, or seem to change drastically from boot to boot. To workaround this bug you should add battery to the /etc/mkinitcpio.conf.

MODULES=(battery)

Remember to regenerate the initramfs for these changes to take effect.

Note: You can also build the battery module into your kernel.

Video

As of Linux 5.2.9, the Nouveau driver can cause quite a lot of kernel panics when using the webcamera.

Brightness control

OLED Display

OLED screens have no backlight, brightness cannot be controlled by changing backlight power in the traditional way. Instead, it can be controlled using PWM by enabling following option:

/etc/modprobe.d/i915.conf
options i915 enable_dpcd_backlight=1

Alternatively, you can add it as a kernel parameter:

i915.enable_dpcd_backlight=1

Brightness control is not yet supported by standard tools. You can try oled-backlightAUR.

LCD Display

Hybrid Graphics

Hybrid Graphics (also known as Nvidia Optimus) Allows the system to use the integrated Intel graphics and the Nvidia GPU interchangeably without rebooting.

Brightness control under Hybrid Graphics should work "out of the box" with no kernel command line options necessary. If you notice brightness controls cease working, check that your BIOS settings are still for "Hybrid Graphics" and not "Discrete Graphics".

Discrete Graphics

Discrete graphics means only the Nvidia GPU is available to the system (i.e. "Discrete Graphics" selected in BIOS).

Brightness control can be controlled with xbacklight. Keys might need to be bound using a tool like xbindkeys.

Keyboard

There is an issue with keystrokes being skipped at times (see the Lenovo forums). This is resolved with system firmware version 1.30. See Firmware to check your current version and upgrade.

Touchpad

If you are having issues with trackpad functionality not working after a sleep and resume, like non-smooth tracking or tap clicking not registering, you can switch back to the older communication protocol:

/etc/modprobe.d/trackpad.conf
options psmouse synaptics_intertouch=0

More details on what this does at BBS#229349.

Wireless

If your WiFi card is occasionally not detected after reboots, this may be related to a known bug that is related to windows fastboot. Workarounds are to completely shutdown the machine (no suspend or reboot), on next boot it works for me. Alternatives suggested are to first boot into windows, and/or disable windows fastboot in the bios.

References: [1] [2] [3]

Ethernet

If you have issues with a gigabit connection being capped at 100 MB/s and you are using the e1000e driver, try adding pcie_aspm=off to the kernel boot parameters.

Additionally, run the following to get a more slight network performance improvement:

 ethtool -s <INTERFACE> autoneg on speed 1000 duplex full

References: [4]

Firmware

BIOS and firmware updates are available via fwupd, the Lenovo Vantage application on Windows, or from Lenovo's website.

The latest BIOS version is highly recommended. All information on this page should assume the latest BIOS unless explicitly stated otherwise.

Note: To install Arch Linux you need to disable Secure Boot. If you cannot do so (e.g. because of error: failed to save storage - write protected), it may help to reset the BIOS to factory defaults (F9) and/or upgrade your BIOS.

Check BIOS version

From Lenovo's firmware readme, to check the system's installed BIOS version:

DETERMINING WHICH VERSION IS INSTALLED

 [Checking on ThinkPad Setup]

  1. Turn on the computer.
  2. While the "To interrupt normal startup, press Enter" message is displayed
     at the lower-left area or lower-center of the screen, press the F1 key.
     The ThinkPad Setup menu will be displayed. If a password prompt appears,
     type the correct password.
  3. Locate the UEFI BIOS Version line.
     "UEFI BIOS version (BIOS ID)" will be shown on the UEFI BIOS Version line.
  4. Turn off the computer.

Alternatively, use fwupdmgr from fwupd without rebooting:

$ fwupdmgr get-devices
...
├─System Firmware:
│     Current version:     0.1.30
...

Disabling Absolute Persistence

Warning: Switching to and flashing the Non-Absolute Persistence BIOS (Versions ending in P) is permanent and irreversible.

Lenovo offers two BIOS versions with their releases; Absolute Persistence and Non-absolute Persistence. Absolute Home & Office (originally known as CompuTrace, and LoJack for Laptops) is a proprietary laptop theft recovery software (laptop tracking software) with features including the abilities to remotely lock, delete files from, and locate the stolen laptop on a map. More information about its functionality and vulnerabilities can be read here

If you do not subscribe to this service and have no use for it, you can flash an alternate BIOS provided by Lenovo listed as "Non-Absolute Persistence". The BIOS versions are identified by their letter at the end of the .cab file. Versions ending in W include Absolute's features and versions ending in P remove it. The Non-Absolute version is included in the zip file containing BIOS updates from Lenovo's website or you can directly download it from fwupd.org.

To install the Non-Absolute Persistence BIOS, you must first permanently disable Computrace in the BIOS. Once done, you can flash the Non-Absolute Persistence (P version) with the same instructions.

Flashing BIOS

Updating

Download the zip file labelled "BIOS Update Utility (Linux)" from Lenovo's support website or fwupd.org directly. Extract the zip file, then use fwupd to update the firmware:

# fwupdmgr install filename.cab

Then reboot immediately to finish the upgrade.

Reverting to previous versions

To downgrade your bios, you can use the --allow-older flag with fwupd.

Note: Be sure to read the release notes for the BIOS updates as many updates do not offer the ability to revert back to prior versions