Skip to content
Johan Hovold edited this page Feb 10, 2025 · 37 revisions

Lenovo ThinkPad T14s Gen6 (X1E)

This page aims to provide an overview of the current status of Linux support for the T14s laptop and Qualcomm Snapdragon X Elite laptops in general.

Work-in-progress branches

Important fixes and support for new features (once stable enough) can be found in my x1e80100 wip branches, for example:

https://github.com/jhovold/linux/tree/wip/x1e80100-6.14-rc2

These branches also include a minimal (but functional) johan_defconfig that serves as documentation for the configuration options that need to be enabled for the T14s.

Mainline feature support

Feature Status
Audio wip branch
Backlight started
Battery 6.12
Bluetooth wip branch
Camera started
CPUfreq wip branch
Display (OLED) 6.12 (-)
EFI variables 6.12
Fingerprint reader wip branch
GPU 6.12
HDMI -
Hibernation -
Keyboard 6.12
Keyboard special keys -
Modem -
NVMe SSD 6.12
PCIe x4 6.12
Remoteproc 6.12
RTC wip branch
Suspend 6.12
Thermal sensors started
Touchpad (alternate) 6.12 (6.13)
Touchscreen (alternate) 6.12 (-)
TPM -
USB-A wip branch
USB-C 6.12
USB-C DisplayPort Alt Mode wip branch
USB-PD 6.12
Video acceleration started
Virtualisation -
Watchdog wip branch
Wi-Fi 6.12

Kernel command line

To boot Linux the following kernel parameters need to be provided:

clk_ignore_unused pd_ignore_unused

due to a generic resource handover issue.

Userspace dependencies

  • linux-firmware-20241017
  • Mesa 24.2
  • Windows firmware (in /lib/firmware/qcom/x1e80100/LENOVO/21N1/)
    • adsp_dtbs.elf
    • cdsp_dtbs.elf
    • qcadsp8380.mbn
    • qccdsp8380.mbn
    • qcdxkmsuc8380.mbn

Known issues

Most of these issues are shared with other Qualcomm Snapdragon based machines (e.g. other X Elite laptops and the X13s).

Audio

  • Active speaker protection not enabled, make sure to keep volume low
  • DisplayPort output not enabled
  • Pipewire playback and capture issues (switch to Pulseaudio as workaround)
  • Pops and clicks

Keyboard special keys

  • Support for some functions like mic mute is missing

Remoteproc

  • aDSP fails to register its services (e.g. sound, battery, USB-C orientation) (very infrequent)
  • Audio service fails to register with in-kernel pd-mapper (infrequent) (fixed in wip branch)
  • QRTR/MHI race can break boot with in-kernel pd-mapper (infrequent) (fixed in wip branch)

Suspend

  • Active audio streams blocks suspend
  • Crash on resume if disconnecting external display while suspended
  • Displays fail to resume (switch VT as workaround) (fixed in 6.14-rc1)
  • Not yet hitting deepest low-power state during suspend
  • USB disconnect triggers wakeup (disconnect before suspending as workaround)

Thermal

  • CPU thermal throttling not implemented
  • GPU thermal throttling not implemented

UEFI firmware

  • Boot issues with 64 GB version (disable upper 32 GB as workaround)
    • cutmem 0x8800000000 0x8fffffffff
  • GRUB fails to start on 64 GB version (patch GRUB as workaround)
  • Firmware bugs can prevent GRUB and systemd-boot from starting kernel (start and exit UEFI shell as workaround)

USB

  • Display driver does not yet support 4-lane DisplayPort Alt Mode
  • Repeater PHY implementation breaks lockdep with false positive deadlock warning
  • USB-C coldplug orientation detection not working (flip cable as workaround) (fixed in wip branch)

Wi-Fi

  • iwd fails to connect (can be worked around in /etc/iwd/main.conf)
     [General]
     ControlPortOverNL80211=false
    

Clone this wiki locally