Lenovo ThinkPad X1 Extreme

From Gentoo Wiki
Jump to:navigation Jump to:search

Device Status Modules
Intel UHD 630 Graphics Working i965
Nvidia GTX 1050 Ti (Max-Q) Working nvidia
Intel I219-V Ethernet Working e1000e
Intel 9560 wireless Working iwlwifi
Realtek ALC285 audio Working snd_hda_intel
Synaptics touchpad Working synaptics + libinput
SunplusIT camera Working uvcvideo
Card reader Working xhci_hcd
Intel 9560 Bluetooth Working btusb
Intel JHL7540 Thunderbolt Working thunderbolt
Synaptics fingerprint reader Not working

The ThinkPad X1 Extreme is a thin-and-light 15.6" workstation/multimedia laptop from Lenovo's 2018 ThinkPad X lineup.

This page was copied from ArchWiki, 'cause those fellows have some anal rules for contribution. See Laptop ArchWiki for generic laptop-related information, or Category:Laptops for other ThinkPad laptops. The Ubuntu certification page may also be useful.

The Lenovo ThinkPad P1 is a workstation version of the same laptop which uses extremely similar hardware. Most of the information on this page should be applicable to P1 models as well.

Hardware compatibility

BIOS update

Despite not being strictly required for an Arch Linux install, a BIOS update is strongly recommended for general use of the laptop - the initial 1.13 version devices seem to ship with contains multiple bugs that can result in bricking the laptop: Reddit thread discussing the issue; another Reddit thread discussing a different bricking issue.

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

The latest version, v1.24, is highly recommended. All information on this page generally assumes the latest BIOS unless explicitly stated.

Hybrid graphics

Hybrid mode works via Bumblebee, nvidia-xrun or optimus-manager. Both the HDMI port and DisplayPort outputs created when using either a USB-C adapter or Thunderbolt dock are wired to the Nvidia dGPU.


After installing Bumblebee, the HDMI port works after modifying the following files, rebooting, and executing intel-virtual-output -f from an X server running on the iGPU. See Bumblebee#Output wired to the NVIDIA chip for details.

FILE /etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
FILE /etc/bumblebee/xorg.conf.nvidia
Section "ServerLayout"
    Identifier  "Layout0"
    Option      "AutoAddDevices" "true"
    Option      "AutoAddGPU" "false"

Section "Device"
    Identifier  "DiscreteNvidia"
    Driver      "nvidia"
    VendorName  "NVIDIA Corporation"
    Option "ProbeAllGpus" "false"
    Option "AllowEmptyInitialConfiguration"

Section "Screen"
    Identifier "Screen0"
    Device "DiscreteNVidia"


While optimus-manager requires logging out to switch graphics, it provides better performance and more stable external display support. The following configuration has been found to work well:

FILE /etc/optimus-manager/optimus-manager.conf




Thunderbolt works out of the box (tested with ThinkPad Thunderbolt 3 Dock); see Thunderbolt for details on security.

Fan control

The fan on the right side of the laptop can be controlled by thinkpad_acpi. It seems that the fan on the left side can't be controlled yet; see this Nvidia forum post. If noise is an issue, the fan can be turned off manually by unplugging it from the motherboard, or the dust mesh can be removed.


The touchpad experience can be greatly improved by enabling "intertouch" as hinted by kernel messages:

user $dmesg | grep intertouch
[    4.074260] psmouse serio1: synaptics: Your touchpad (PNP: LEN0099 PNP0f13) says it can support a different bus. If i2c-hid and hid-rmi are not used, you might want to try setting psmouse.synaptics_intertouch to 1 and report this to linux-input@vger.kernel.org.
-> Device Drivers
  -> Input device support
    -> Generic input layer (needed for keyboard, mouse, ...)
      --- Synaptics RMI4 bus support
      < >   RMI4 I2C Support
      <*>   RMI4 SMB Support
      [*]   RMI4 Function 03 (PS2 Guest)
      [*]   RMI4 Function 11 (2D pointing)
      [*]   RMI4 Function 12 (2D pointing)
      [*]   RMI4 Function 30 (GPIO LED)
      [*]   RMI4 Function 34 (Device reflash)
      [*]   RMI4 Function 54 (Analog diagnostics)
      -*-   RMI4 Function 55 (Sensor tuning)

This can be done by either adding psmouse.synaptics_intertouch=1 to the kernel command line or by creating a modprobe entry like:

FILE /etc/modprobe.d/psmouse.conf
options psmouse synaptics_intertouch=1
Experience could also deteriorate, see this ArchWiki talk for additional info.

Other hardware

The webcam works out of the box, though it reports a completely black image instead of the "disconnected" placeholder when the protective slider is closed.

KERNEL Webcam Kernel configuration
Device Drivers  --->
 <M> Multimedia support  --->
  [*]   Cameras/video grabbers support
  [*]   Media USB Adapters  --->
   <M>   USB Video Class (UVC)  
   [*]     UVC input events device support (NEW)

The fingerprint scanner is currently not supported in libfprint - a reverse engineering effort was ongoing here, but seems to have stalled. Upstream libfprint bug is tracked here.

Everything else works correctly out of the box.

Software tweaks


You may require snd-hda-intel.probe_mask=1 Kernel parameter if you're unable to make a sound with pure ALSA setup and have:

user $dmesg | grep azx_get_response
azx_get_response timeout, switching to single_cmd mode

Dolby Atmos Effect on Linux

In order to get the same speaker sound quality/effect as on Dolby Atmos with Windows install & configure PulseAudio and media-sound/pulseeffects. You can then download the Dolby Atmos preset from JackHack96's Github and enable it in the "Convolver" tab of the PulseEffects GUI.

Battery charge thresholds

Battery charging thresholds can be configured via sysfs nodes /sys/class/power_supply/BAT0/charge_start_threshold and /sys/class/power_supply/BAT0/charge_stop_threshold, or using TLP.

CPU throttling workaround

As of BIOS v1.24, overriding thermal limits will result in your laptop running out of spec under certain conditions. A proper firmware level solution is being worked on by Lenovo, and should be available eventually.

A stress test using app-benchmarks/s-tui indicates that the CPU is limited to 38W/80C, resulting in maximum sustained frequency of around 2850 MHz on i7-8750H under heavy loads.

This can be worked around by using sys-power/throttled or sys-power/intel-undervolt (see below). It raises the power limit to 44W, which, combined with the performance CPU frequency scaling governor, allows the CPU to run at 3100 MHz with the temperature of 95C.

CPU undervolting

While generally not directly dangerous to the hardware, undervolting is not supported by Lenovo or Intel. If you experience any issues whatsoever while your hardware is undervolted, reset to stock voltages and verify the issue is still present.

Undervolting the CPU/Intel GPU works well with sys-power/intel-undervolt. Generally -150mV seems to be a safe choice on the i7-8750H and i7-8850H CPUs, but your mileage may vary.

The effects of undervolting on system stability will vary depending on individual hardware (a.k.a. "the silicon lottery").


All information on this page has been tested on laptop part number 20MF000BUS and 20MFCTO1WW, with the following specifications:

  • CPU: Intel Core i7-8750H / i7-8850H
  • Graphics: Hybrid Intel UHD 630 + Nvidia GTX 1050 Ti Max-Q
  • Display: Innolux N156HCE-EN1 1920x1080/60Hz IPS (other vendors may be used)
  • RAM: 16GB / 32GB
  • SSD: Intel 7600p series 512GB NVMe / Samsung 970 Pro 1TB NVMe