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||Experimental||Requires experimental python-validity driver|
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.
Despite not being strictly required for an Arch Linux install, a UEFI firmware 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.33, is highly recommended. All information on this page assumes the latest firmware.
Hybrid graphics can be configured in multiple ways, as described below.
Both the HDMI port and DisplayPort outputs created when using either a USB-C adapter or Thunderbolt dock are wired to the Nvidia dGPU.
A BIOS setting can be used to disable the integrated GPU, and run everything on the dedicated Nvidia card. The dedicated GPU cannot be disabled through firmware, so enabling runtime power management in some form is highly recommended when using the iGPU.
Thepackage works out of the box, with no additional configuration required.
AUR provides a way to easily switch the active GPU for the entire system, and supports runtime power management for disabling the dedicated GPU when not in use.
optimus-managerdoes not enable runtime power management. To enable it explicitly, install and adjust the configuration to:
The following configuration has been found to work well:
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
External displays can be used via
intel-virtual-output. See Bumblebee#Output wired to the NVIDIA chip for details.
Using the dedicated GPU exclusively
The default configuration produced by
nvidia-xconfig is fully functional, including HDMI output.
Thunderbolt works out of the box (tested with ThinkPad Thunderbolt 3 Dock); see Thunderbolt for details on security.
The laptop uses an older Synaptics (a.k.a. Validity Technologies) sensor, USB ID 06cb:009a.
A reverse engineering effort is ongoing here, and an experimental driver is available on the AUR as AUR.
Upstream libfprint bug is tracked here.
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 PulseAudio#Microphone 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="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.
The module-filter-heuristics and module-filter-apply modules can sometimes result in adding additional noise, so it may also help to comment out the lines that enable them:
#load-module module-filter-heuristics #load-module module-filter-apply
Bad sound quality may also result from audio clipping, which can occur if "Internal Mic Boost" is larger than zero in alsamixer.
Battery charge thresholds
Battery charging thresholds can be configured via sysfs nodes
/sys/class/power_supply/BAT0/charge_stop_threshold, or using TLP.
CPU thermal limits
A stress test using
thermald, which will dynamically adjust power limits based on load.
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").
Enabling runtime power management for PCI(e) bus devices can save about 6W (by turning the Nvidia GPU off(?)).
TLP enables this by default on battery, but not on AC.
To enable on AC while using TLP, modify
Restart TLP with
sudo systemctl restart tlp.service for changes to take effect.
This change can make the laptop significantly cooler while on AC.
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