From Fedora Project Wiki

 
(29 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Page to keep track of Linux support development for Thinkpad X13s (SoC codename sc8280xp), the first Thinkpad with ARM CPU.
Page to keep track of Linux support development for Thinkpad X13s (SoC codename sc8280xp), the first Thinkpad with an Arm CPU.


Most of following informations come from #aarch64-laptops on OFTC, #fedora-arm on Libera.chat and arm[AT]lists.fedoraproject.org. Upstream infos change on daily basis, so this page may be outdated, therefore read it with pinch of salt / cum grano salis.
Most of the following information comes from #aarch64-laptops on OFTC, #fedora-arm on Libera.chat and arm[AT]lists.fedoraproject.org. Upstream information changes daily, so this page may be outdated.


==== Bootable images ====
==== Bootable images ====
Fedora developers are aiming for it being supportable/usable in time for Fedora 38, at some point before that, some consumable images will be released for testing.
Fedora 40 GA works relatively well OOTB. The Workstation raw image can be used with the following additions:
 
* The kernel must be booted with `arm64.nopauth clk_ignore_unused pd_ignore_unused rd.driver.blacklist=msm`
A Linaro's Debian image is available at [https://forums.lenovo.com/t5/Other-Linux-Discussions/Does-anybody-know-if-there-is-work-being-done-to-integrate-X13s-ARM-processor-with-linux/m-p/5175315?page=1#5771660 this link]. It provides a decent user experience, despite missing audio and suspension capabilities.
* A recent firmware must be on the machine, and the linux/DT mode must be selected in the FW menus.
Power usage not yet optimized, so expect high battery drain
** Recommend minimum version:
*** Minimum: Version: N3HET84W (1.56 )
*** Latest: Version: N3HET88W (1.60 )
* A 6.5 or newer device tree must be placed on the ESP of the internal NVMe disk and named sc8280xp-lenovo-thinkpad-x13s.dtb
** ex: /boot/efi/sc8280xp-lenovo-thinkpad-x13s.dtb
** As a workaround, add a devicetree line in grub to load the DTB until it can be put in place on the ESP
** [https://wiki.debian.org/InstallingDebianOn/Thinkpad/X13s#Install_Device_Tree_Blob_on_the_EFI_System_Partition Debian has instructions on how to do this from windows]
* To boot from USB, `modprobe.blacklist=qcom_q6v5_pas` must be added to the boot arguments. This keeps the USB from being reset and the storage device from being renamed mid-boot.


==== Kernel development ====
*Once the system is running, installing the [https://copr.fedorainfracloud.org/coprs/jlinton/x13s/ x13s copr], will pull in the remaining dependencies and correct a few configuration items:
Some of work on the kernel can be seen in https://github.com/jhovold/linux repository, branches wip/sc8280xp
** <pre>dnf copr enable jlinton/x13s; dnf install x13s</pre>
*** Reboot


==== GPU ====
* After major kernel updates, it is probably wise for the time being to run
GPU hardware acceleration not yet available
** <pre>cp /boot/dtb-`uname -r`/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb /boot/efi </pre>


==== Sound ====
==== Known Problems ====
Kernel side implementation at [https://lore.kernel.org/lkml/20221121130403.161817-3-srinivas.kandagatla@linaro.org/T/ this link]
* Audio works but is quiet
Userland code still to be implemented
* TPM support is missing
 
* 5G Modem
==== Virtualization ====
** Need to follow the [https://modemmanager.org/docs/modemmanager/fcc-unlock/ documented] steps to unlock the modem
Virtualization is not yet available. The UEFI is not yet exposing [https://developer.arm.com/documentation/102412/0102/Privilege-and-Exception-levels the EL2 (exception level)] which is required to run VMs
* Virtualization is not available. The UEFI is not yet exposing [https://developer.arm.com/documentation/102412/0102/Privilege-and-Exception-levels the EL2 (exception level)], which is required to run VMs
 
** There has been some work done to unlock it with https://github.com/TravMurav/slbounce. YMMV
==== Webcam ====
* The system does not suspend correctly so you need to poweroff if leaving unused
Not working
* Camera is not working. There are patches going upstream. You need to add cma=128M
 
* Bluetooth doesn't always work
==== Wi-Fi ====
Working


==== Similar pages ====
==== Similar pages ====
https://github.com/ironrobin/archiso-x13s/wiki/Feature-Support
* https://github.com/jhovold/linux/wiki/X13s
 
* https://github.com/ironrobin/archiso-x13s/wiki/Feature-Support
==== Rawhide hacking ====
* https://wiki.debian.org/InstallingDebianOn/Thinkpad/X13s
As of the 6.5RC series, official rawhide will boot given the following changes:
* https://en.opensuse.org/HCL:ThinkpadX13s
* Grub2 must have this patch applied https://src.fedoraproject.org/rpms/grub2/pull-request/27
* The kernel must be booted with 'arm64.nopauth clk_ignore_unused pd_ignore_unused`
* A recent firmware must be on the machine, and the linux/DT mode must be selected in the FW menus.
** Acquire from: https://github.com/ironrobin/x13s-alarm/tree/trunk/x13s-firmware
** Recommend minimum version:
*** Version: N3HET84W (1.56 )
*** Release Date: 06/26/2023
* A 6.5 device tree must be placed on the ESP of the internal NVMe disk and named sc8280xp-lenovo-thinkpad-x13s.dtb
** ex: /boot/efi/sc8280xp-lenovo-thinkpad-x13s.dtb
* USB boot is possible if qcom/sc8280xp/LENOVO/21BX/qcadsp8280.mbn is removed from the USB boot image
** And `add_drivers+=" qrtr.ko"` is added during initrd build
** Otherwise leave it alone if booting from NVMe
* Appropriate GPU firmware is placed in /lib/firmware/qcom/a660_sqe.fw, and /lib/firmware/qcom/a690_gmu.bin
* Due to the mainline nature of this kernel the following things may not work correctly:
** Battery monitor in gnome
** Proper USB-C charging negotiation, will result in slow charging, or battery drain while plugged in.
*** Charging may not work at all though any number of USB-C hubs
** Keyboard rollover
** Bluetooth
** CPU cache size reporting
** Keyboard LEDs (depends on HW revision?, fn-f1 may enable the mute + capslock at which point both leds will be toggled by caps lock)
** Audio
** External Displays
** efi variables
** USB device may drop offline following: arm-smmu 15000000.iommu: Unhandled context fault: fsr=0x402, iova=0xffffd081, fsynr=0x350013, cbfrsynra=0x563, cb=1
** Screen may blank for a few seconds during boot
** TPM support is missing
** USB may not run at superspeed+ rates.
* All the above subject to change as patches are merged, this list is approximately correct as of the middle of August 2023

Latest revision as of 10:34, 20 June 2024

Page to keep track of Linux support development for Thinkpad X13s (SoC codename sc8280xp), the first Thinkpad with an Arm CPU.

Most of the following information comes from #aarch64-laptops on OFTC, #fedora-arm on Libera.chat and arm[AT]lists.fedoraproject.org. Upstream information changes daily, so this page may be outdated.

Bootable images

Fedora 40 GA works relatively well OOTB. The Workstation raw image can be used with the following additions:

  • The kernel must be booted with arm64.nopauth clk_ignore_unused pd_ignore_unused rd.driver.blacklist=msm
  • A recent firmware must be on the machine, and the linux/DT mode must be selected in the FW menus.
    • Recommend minimum version:
      • Minimum: Version: N3HET84W (1.56 )
      • Latest: Version: N3HET88W (1.60 )
  • A 6.5 or newer device tree must be placed on the ESP of the internal NVMe disk and named sc8280xp-lenovo-thinkpad-x13s.dtb
  • To boot from USB, modprobe.blacklist=qcom_q6v5_pas must be added to the boot arguments. This keeps the USB from being reset and the storage device from being renamed mid-boot.
  • Once the system is running, installing the x13s copr, will pull in the remaining dependencies and correct a few configuration items:
    • dnf copr enable jlinton/x13s; dnf install x13s
      • Reboot
  • After major kernel updates, it is probably wise for the time being to run
    • cp /boot/dtb-`uname -r`/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb /boot/efi 

Known Problems

  • Audio works but is quiet
  • TPM support is missing
  • 5G Modem
    • Need to follow the documented steps to unlock the modem
  • Virtualization is not available. The UEFI is not yet exposing the EL2 (exception level), which is required to run VMs
  • The system does not suspend correctly so you need to poweroff if leaving unused
  • Camera is not working. There are patches going upstream. You need to add cma=128M
  • Bluetooth doesn't always work

Similar pages