Lenovo ThinkPad X1 Carbon (Gen 9)

From ArchWiki

Tango-edit-clear.pngThis article or section does not follow the Laptop page guidelines.Tango-edit-clear.png

Reason: Missing IDs in the hardware table, an Accessibility, Firmware and Function keys section. (Discuss in Talk:Lenovo ThinkPad X1 Carbon (Gen 9))
Hardware PCI/USB ID Working?
Video Yes
Wireless Yes
Ethernet Yes
Mobile broadband Yes
Audio Yes
TouchPad Yes
TrackPoint Yes
Webcam Yes
Fingerprint reader Yes
Bluetooth Yes
NFC Untested

Wireless

For 802.11n connections, maximum speeds are limited to about 25Mbps for downloads and 50Mbps for uploads.

Audio

This laptop requires ALSA firmware in order for the sound card to work (i.e. install sof-firmware).

The audio from the built-in speakers may still sound very quiet and "tinny" in comparison to Windows. This laptop requires audio post-processing to achieve an enjoyable audio experience. If you use PipeWire or Wireplumber, install EasyEffects and the EasyEffects presets bundle. Apply the "Laptop" preset (recommended) or "Advanced Auto Gain" preset as per your preferences.

For further improvement to audio quality, apply the Dolby ATMOS convolver effect. The easyeffects Flatpak will have this bundled by default, however it can also be downloaded on GitHub. Enable it by adding the convolver plugin to your active preset in EasyEffects.

Note: If using EasyEffects results in popping or stutter at the start of audio playback, disable node suspension in PipeWire / Wireplumber. See PipeWire#Noticeable audio delay or audible pop/crack when starting playback.

Video

If you are getting laggy/stuttering UI and mouse movements in your desktop environment add i915.enable_psr=0 to your kernel parameters. However, this can be expensive in terms of power consumption (around 2-3 W), and may be not needed with recent kernels (e.g., 5.14).

Using intel-media-driver provides good graphics performance.

Fingerprint reader

The fingerprint reader works out of the box using fprintd. See Fprint.

IR Camera

See Howdy for logging in with the IR camera. The IR emitters can be enabled with linux-enable-ir-emitterAUR if they do not already work.

Mobile broadband

The laptop allows several different WWAN modules, including: Fibocom L860 (Intel based), Quectel EM120 (Qualcomm based) and Foxconn SDX55 (Qualcomm based). All these modules use a direct PCI connection instead of USB, and they are all integrated through the new "wwan" subsystem: the Qualcomm based ones are supported in the kernel since 5.13, and the Intel based ones since 5.14.

The SDX55 model is fully operational with:

  • kernel 5.13, see [1]
  • ModemManager 1.16.6, which includes the FCC unlock operation, see [2] and [3]
  • Intel VT-D enabled in the laptop bios, see [4].

The EM120 model is fully operation with 5.13 and works after installing and selecting the FCC unlock procedure needed as detailed in Mobile broadband modem#FCC locking.

The L860 model should be usable since 5.14, it is possible that L860 model can be unlocked similarly as EM120 model with correct FCC unlock operation. Please open a new issue in ModemManager if that is the case, see [5].

The FCC unlock operations are required in all these WWAN modules because Lenovo wants to make sure that these modules are exclusively used in the certified Lenovo platforms. Without the FCC unlock, the module would be detected by ModemManager, but it would be impossible to put the modem in "online" mode (RF on). At some point Lenovo will publish a proprietary tool to perform this platform check and run the FCC unlock via the tool; but until that tool is published, there is no known way to FCC unlock the L860; so even if the kernel supports them, they would be unusable.

Since release 1.18.4, the ModemManager daemon no longer automatically performs the FCC unlock procedure by default. [6]

# ln -sft /etc/ModemManager/fcc-unlock.d /usr/share/ModemManager/fcc-unlock.available.d/<vid>:<pid>

Replace <vid>:<pid> with a proper value for the device, that is value in the brackets at the end of the line for the modem:

# lspci -nn

For SDX55 that would be:

# ln -sft /etc/ModemManager/fcc-unlock.d /usr/share/ModemManager/fcc-unlock.available.d/105b:e0ab

Performance modes

Lenovo supports 'platform-profiles' on newer kernels which can either greatly improve performance and throttling, or battery life and thermals. The default mode is "balanced" however users can switch between these modes using the following keyboard shortcuts.

  • Fn+l - Low-power mode
  • Fn+m - Balanced mode
  • Fn+h - Performance mode

The currently active mode can be checked with the following command:

# cat /sys/firmware/acpi/platform-profile

TrackPoint

Some users may find that the default TrackPoint sensitivity is too low or too high for accurate and comfortable use on Linux. Changing mouse speed from your DE's built-in settings may not fix this problem, as the TrackPoint will still be inaccurate and jumpy. This can be remedied by editing TrackPoint config files.

TrackPoint configuration files are usually located in:

/sys/devices/platform/i8042/serio1/

Some users may find the config files are in a sub-directory named serio2 or serio3. You need to look for a file named 'sensitivity' and change the value to suit your preferences (the value must be between 0 to 255). A recommended starting value is 90 if the user finds the TrackPoint is too sensitive by default.

The setting should take effect immediately after saving changes to the file. For further tweaking, see also the files named 'speed', 'resolution', 'rate' and 'inertia' (these files may not necessarily be present).

Use sysfsutils to make these changes persistent on boot.

Troubleshooting

TrackPoint/Keyboard/Trackpad does not work after booting into the desktop

Note: This issue has been fixed in BIOS 1.52

A workaround is to turn off all pre-desktop authorization options in the UEFI settings. This is located under Security > Fingerprint.

Furthermore, sleep state should be set to "Windows and Linux" (modern/S0ix suspend) in UEFI, as the "Linux S3" sleep state was broken before BIOS 1.52. This is located under Config > Power.

Waking up immediately from suspend

Note: This issue has been fixed in linux-5.19.3

This is a problem with the latest Linux kernel. A workaround is to disable both Bluetooth and "Always on USB" from BIOS or to switch to linux-lts. See FS#74387 and the related forum thread for more information.

WWAN module randomly disappears

Note: This issue has been fixed in linux-5.17

Any significant network load causes a disconnect of the module. See [7] and [8]