Lenovo ThinkPad X1 Extreme
|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|
|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 specifically concerns the specifics of running Arch Linux on this laptop. See Laptop for generic laptop-related information, or ThinkPad for other ThinkPad laptops. The Ubuntu certification page may also be useful.
- 1 Hardware compatibility
- 2 Software tweaks
- 3 Specifications
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.
The latest version, v1.25, is highly recommended. All information on this page generally assumes the latest BIOS unless explicitly stated.
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.
Section "Device" Identifier "intelgpu0" Driver "intel" EndSection
Section "ServerLayout" Identifier "Layout0" Option "AutoAddDevices" "true" Option "AutoAddGPU" "false" EndSection Section "Device" Identifier "DiscreteNvidia" Driver "nvidia" VendorName "NVIDIA Corporation" Option "ProbeAllGpus" "false" Option "AllowEmptyInitialConfiguration" EndSection Section "Screen" Identifier "Screen0" Device "DiscreteNVidia" EndSection
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:
[intel] DRI=3 driver=modesetting modeset=yes [nvidia] PAT=yes ignore_abi=no modeset=yes [optimus] pci_power_control=no pci_remove=no pci_reset=function_level switching=bbswitch
The above configuration needs Bbswitch installed.
Using external graphics exclusively
Works fine with the default configuration produced by
nvidia-xconfig, including HDMI output.
Thunderbolt works out of the box (tested with ThinkPad Thunderbolt 3 Dock); see Thunderbolt for details on security.
The fan on the right side of the laptop can be controlled by thinkpad_acpi. 2nd fan can be controlled after patching thinkpad_acpi module; see . 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. This can be done by either adding
psmouse.synaptics_intertouch=1 to the kernel command line or by creating a modprobe entry like:
options psmouse synaptics_intertouch=1
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.
Everything else works correctly out of the box.
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 . You can then download the Dolby Atmos preset from JackHack96's Github and enable it in the "Convolver" tab of the PulseEffects GUI.
Microphone noise reduction
PulseAudio's Echo/Noise-Cancellation can be used to reduce the amount of microphone noise by adding the following to
### Enable Echo/Noise-Cancellation load-module module-echo-cancel use_master_format=1 aec_method=webrtc aec_args="analog_gain_control=0\ digital_gain_control=1 extended_filter=1 beamforming=1 mic_geometry=-0.0257,0,0,0.0257,0,0" source_name=echoCancel_source sink_name=echoCancel_sink set-default-source echoCancel_source set-default-sink echoCancel_sink
The above mic_geometry is specific to the X1 Extreme.
Battery charge thresholds
Battery charging thresholds can be configured via sysfs nodes
/sys/class/power_supply/BAT0/charge_stop_threshold, or using TLP.
CPU throttling workaround
A stress test usingindicates that the CPU is limited to 38W/80C, resulting in maximum sustained frequency of around 2850 MHz on i7-8750H under heavy loads. The limits set by Windows in "performance" mode are considerably higher, at 44W/95C. It's possible to configure the power limits in one of the following ways:
Starting with version 5.4, the Linux kernel exposes an interface to configure the thermal limits of the CPU. The value is accessible at
/sys/devices/pci0000:00/0000:00:04.0/tcc_offset_degree_celsius, and represents the lowest allowed offset from "critical" temperature (100C). The default value as set at bootup is 20; it can be set to 5 to match Windows. Note that this does not adjust the package power limits.
via third party tools
intel-undervolt (see below) can be used to override both thermal and power limits. However, the approach used by those tools is less reliable.
Undervolting the CPU/Intel GPU works well with 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