Thinkpad X13s
Return to Home Page
Device status
Audio | DisplayPort | N | |
---|---|---|---|
Mic | 6.5 (*) Some capture issues | Some capture issues | |
Speakers | 6.5
(*) - Active speaker protection not enabled, volume limited for now, - Pops and clicks - Pipewire playback issues (switch to Pulseaudio as workaround) - Reducing quantum size appears to help with playback issues - pw-metadata -n settings 0 clock.max-quantum 1024 |
- Active speaker protection not enabled, volume limited for now, - Pops and clicks - Pipewire playback issues (switch to Pulseaudio as workaround) - Reducing quantum size appears to help with playback issues - pw-metadata -n settings 0 clock.max-quantum 1024 |
|
Camera | 6.12 (*) - libcamera needs acccess to /dev/udmabuf (e.g. user must be in the kvm group) | - libcamera needs acccess to /dev/udmabuf (e.g. user must be in the kvm group) | Connectivity | Bluetooth | 6.4
(*) - Connectivity issues due to missing board-specific firmware (e.g. very limited range) (fixed in wip branch and linux-firmware) - Device address needs to be set manually for now: btmgmt --index 0 public-addr 00:11:22:33:44:55 |
- Connectivity issues due to missing board-specific firmware (e.g. very limited range) (fixed in wip branch and linux-firmware) - Device address needs to be set manually for now: btmgmt --index 0 public-addr 00:11:22:33:44:55 |
Wifi | 6.4
(*) - MAC address not static, can be worked around using udev (e.g. in /etc/udev/rules.d/90-net-address.rules):ACTION=="add", SUBSYSTEM=="net", KERNELS=="0006:01:00.0", RUN+="/usr/bin/ip link set dev $name address xx:xx:xx:xx:xx:xx" - Wi-Fi breaks due to ring-buffer corruption (infrequent) |
- MAC address not static, can be worked around using udev (e.g. in /etc/udev/rules.d/90-net-address.rules):ACTION=="add", SUBSYSTEM=="net", KERNELS=="0006:01:00.0", RUN+="/usr/bin/ip link set dev $name address xx:xx:xx:xx:xx:xx" - Wi-Fi breaks due to ring-buffer corruption (infrequent) |
|
Modem | 6.2 | ||
CPUfreq | 6.0 | ||
EFI variables | 6.7 | HID | Backlight | 6.0 |
Keyboard | 6.0 | ||
Special Keys | N (*) Support for some functions like mic mute is missing | Support for some functions like mic mute is missing | |
Touchpad | 6.0 | ||
Touchscreen | 6.0 | ||
Fingerprint reader | 6.1 | ||
PCIe | 6.2 | Power | Battery | 6.3 |
Hibernation | N | ||
Suspend | 6.1
(*) - All displays fail to resume if suspending after disconnecting external display in X. - Crash on resume if disconnecting external display while suspended. - Not yet hitting deepest low-power state during suspend. - USB disconnect triggers wakeup (disconnect before suspending as workaround) |
- All displays fail to resume if suspending after disconnecting external display in X. - Crash on resume if disconnecting external display while suspended. - Not yet hitting deepest low-power state during suspend. - USB disconnect triggers wakeup (disconnect before suspending as workaround) |
|
Remoteproc | 6.0 (*) aDSP fails to register its services (e.g. sound, battery, USB-C orientation) (very infrequent) | aDSP fails to register its services (e.g. sound, battery, USB-C orientation) (very infrequent) | |
RTC | 6.4 | Storage | NVMe SSD | 6.2 |
UFS | N/A | ||
Thermal sensors | 6.2 | ||
TPM | N | USB | USBA | 6.0 |
USBC | 6.0 | ||
USBC Display Alt Mode | 6.3 (*) Display driver does not yet support 4-lane DisplayPort Alt Mode | Display driver does not yet support 4-lane DisplayPort Alt Mode | |
USBPD | WIP | Video | Display | 6.3 (*) Link training fails during resume (very infrequent) | Link training fails during resume (very infrequent) |
HDMI | N/A | ||
GPU | 6.5 | ||
Video Acceleration | Branch | ||
Virtualisation | N | ||
Watchdog | 6.0 |
Step-by-step install guides
Distro-specific information
Work-in-progress branches
Important fixes and support for new features (once stable enough) can be found in my X13s (sc8280xp) wip branches, for example:
https://github.com/jhovold/linux/tree/wip/sc8280xp-6.13-rc1
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 X13s.
Kernel command line
To boot Linux the following kernel parameters need to be provided:
clk_ignore_unused pd_ignore_unused arm64.nopauth efi=noruntime
due to a generic resource handover issue and a couple of firmware bugs, respectively.
With recent UEFI firmware efi=noruntime
can be left out when the Linux Boot
option is enabled.
Userspace dependencies
- alsa-ucm-conf 1.2.11
- libcamera 0.3.0
- linux-firmware-20230919
- Bluetooth NVM config (hpnv21.b8c and hpnv21g.b8c) from latest linux-firmware
- Video acceleration firmware (qcvss8280.mbn) with wip branch
- Mesa 23.1.4
- ModemManager 1.20 + fcc-unlock symlink
- ~Qualcomm protection-domain mapper daemon (pd-mapper)~ (not needed since 6.11)