Lenovo ThinkPad X1 Carbon (Gen 7)
Hardware | PCI/USB ID | Working? |
---|---|---|
Video | 8086:3ea0 |
Yes |
Wireless | 8086:9df0 |
Yes |
Ethernet | 8086:15be |
Yes |
Mobile broadband | Yes | |
Audio | 8086:9dc8 |
Yes |
Touchpad | 06cb:cd8b |
Yes |
TrackPoint | 06cb:cd8b |
Yes |
Camera | 13d3:56ba |
Yes |
Fingerprint reader | 06cb:00bd |
Yes |
Bluetooth | 8087:0aaa |
Yes |
NFC | No |
BIOS
The most convenient way to install Arch Linux is by disabling "Secure Boot" Security -> Secure Boot - Set to "Disabled"
. However it is possible to self-sign your kernel and boot with it enabled. For further information have a look at the Secure Boot article.
In case your efivars
are not properly set it is most likely due to you not being booted into UEFI. Should the problem persist be sure to consult the UEFI#UEFI variables section.
Updates
Automatic (Linux Vendor Firmware Service)
In August of 2018 Lenovo has joined the Linux Vendor Firmware Service (LVFS) project, which enables firmware updates from within the OS. BIOS updates (and possibly other firmware such as the Thunderbolt controller) can be queried for and installed through fwupd.
If your thunderbolt port is unstable after upgrading with fwupd, you can visit the Lenovo ThinkPad X1 Carbon (Gen 7) driver website and upgrade the thunderbolt firmware manually.
Manual (fwupdmgr)
Lenovo may in the future provide cabinet files that can be directly installed with fwupdmgr.
Check for Linux .cab
files from the Lenovo ThinkPad X1 Carbon (Gen 7) driver website.
- Make sure the AC adapter is firmly connected to the target computer.
- Launch Terminal.
- Move to the directory where the cabinet file was placed.
- Run
fwupdmgr install xxxxxxxx.cab
to schedule firmware update. - Restart the system.
- The computer will be restarted and the UEFI BIOS will be updated.
Sleep/Suspend
The BIOS has two "Sleep State" options, Windows and Linux, which you can find in at Config -> Power -> Sleep State
. The Linux option is the traditional S3 power state where all hardware components are turned off except for the RAM, and it should work normally. The Windows option is a newer software-based "modern standby" which works on Linux (despite the name). One possible benefit to the Windows sleep state is faster wake up time, and one possible drawback is increased power usage.
Mark Pearson, a Lenovo employee, recommends using the "Windows" sleep state option as it is better supported on modern Intel processors. The same is true for other modern Thinkpads except for AMD models (as of November 2020).
S3 Suspend Bug with Bluetooth Devices
Occasionally your Thinkpad will wake up immediately after suspending with certain bluetooth devices added. To prevent this, remove the devices or disable bluetooth before suspending.
BIOS configurations
-
Config -> Thunderbolt BIOS Assist Mode - Set to "Enabled"
. When disabled, on Linux, power usage appears to be significantly higher because of a substantial number of CPU wakeups during s2idle.
Security -> Virtualization -> Kernel DMA Protection - Set to "Disabled"
Firmware issues
The following issues can all be resolved by upgrading the firmware with fwupdmgr (see #BIOS Updates), but there may be alternative manual/temporary fixes.
Touchpad issues
Due to a bug in a touchpad firmware, the touchpad might not work with following logs in dmesg:
[ 4.499490] i2c_designware i2c_designware.1: i2c_dw_handle_tx_abort: lost arbitration [...] [ 12.668795] i2c_hid i2c-SYNA8005:00: failed to set a report to device. [ 13.678765] i2c_designware i2c_designware.1: controller timed out
Freeze when suspending
There are reports of the system freezing after initiating a suspend or hibernate. A temporary fix is to add snd_hda_intel.dmic_detect=0
to your kernel parameters. see [1]. This temporary fix is somehow disable the microphone, use this at your own risk
Power management/Throttling issues
A bug causes the CPU to consume less power than under Windows and throttle at 80°C instead of 97°.
Lenovo has confirmed the issue, explained the cause and published updates for the embedded controller and the BIOS to LVFS .
The alternative fix is to install throttled, then run
sudo systemctl enable --now lenovo_fix.service
Audio
This laptop requires firmware in order for the soundcard to work. See Advanced Linux Sound Architecture#ALSA firmware.
Clicking/cracking noise when using headphones
If you are hearing clicking/cracking noises when using headphones, this command helped me. I have to run it after each restart.
# hda-verb /dev/snd/hwC0D0 0x1d SET_PIN_WIDGET_CONTROL 0x0
Clicking/cracking noise when using speakers
The newest alsa-ucm-conf is missing the speakers configuration. Downgrade it to 1.2.3-2.
# sudo downgrade alsa-ucm-conf
Microphone
On version 5.3 and newer the SOF firmware can be enabled, see Talk#Microphone.
Function Keys
In the firmware configuration it is possible to swap the Ctrl and Fn keys.
Key | Visible?1 | Marked?2 | Effect |
---|---|---|---|
Fn+Esc |
No | Yes | Toggles Fn lock |
Fn+F1 |
Yes | Yes |
XF86AudioMute
|
Fn+F2 |
Yes | Yes |
XF86AudioLowerVolume
|
Fn+F3 |
Yes | Yes |
XF86AudioRaiseVolume
|
Fn+F4 |
Yes | Yes |
XF86AudioMicMute
|
Fn+F5 |
Yes | Yes |
XF86MonBrightnessDown
|
Fn+F6 |
Yes | Yes |
XF86MonBrightnessUp
|
Fn+F7 |
Yes | Yes |
XF86Display
|
Fn+F8 |
Yes | Yes |
XF86WLAN
|
Fn+F9 |
Yes | Yes |
XF86Tools
|
Fn+F10 |
Yes | Yes |
XF86Bluetooth
|
Fn+F11 |
No | Yes | No Effect |
Fn+F12 |
Yes | Yes |
XF86Favorites
|
- The key is visible to
xev
and similar tools. - The physical key has a symbol on it, which describes its function.
Fingerprint sensor
An official Lenovo firmware with Linux support is available from fwupd. After installing fwupd, you can update the Synaptics Prometheus driver for the fingerprint sensor:
# fwupdmgr refresh # fwupdmgr get-updates Prometheus Fingerprint Reader Device Update: New version: 10.01.3158804 New features and enhancements: Support Linux system # fwupdmgr update
To use the fingerprint sensor, follow the instructions from Fprint.
If you had previously installed the testing version of this driver from lvfs-testing, there should be no issues updating to this driver version from the main repository.
Ethernet
The internal NIC combined with the Thinkpad Ethernet Extension Adapter Gen 2 that comes with the Gen 7 works just fine. Although some users seems to be having problems: The built-in ethernet adapter no longer works, approximately since kernel 5.0.
Mobile broadband
The Fibocom LTE module has Linux support once switched to USB mode; see [2] and [3]
Disabling red LED in ThinkPad logo
You can temporarily disable the red LED in the ThinkPad logo on the cover:
1. Enable writing to the embedded controller registers by adding the kernel parameter ec_sys.write_support=1
.
If you use UEFI boot, you can add this parameter in /boot/efi/loader/entries/arch.conf
under "options".
2. Disable the LED with this command:
# echo -n -e "\x0a" | sudo dd of="/sys/kernel/debug/ec/ec0/io" bs=1 seek=12 count=1 conv=notrunc 2> /dev/null
This would need to be run after each suspend/reboot to be permanent.
See also
- https://www.thinkwiki.org/wiki/ThinkWiki
- Dell XPS 13 9370 quirks: Some pointers on getting Watt usage down to ~2W, Intel video powersaving features might be interesting, see also the Intel graphics page for interesting power-saving options.
- Intel Blog: Best practice to debug Linux* suspend/hibernate issues, including the pm-graph tool to analyze power usage during suspend
- How to fix volume control (ALSA problem) This is where the volume fix came from originally.
- Windows System Power States
- System Sleep States at kernel.org