From Fedora Project Wiki

(Updated instructions to boot with Fedora 41)
(More updates for booting Fedora 41; general page cleanups)
Line 5: Line 5:
==== Bootable images ====
==== Bootable images ====
Fedora 41 GA works relatively well OOTB. The Workstation raw image can be used with the following additions:
Fedora 41 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`
* The kernel must be booted with the kernel parameters `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.
* A recent firmware must be on the machine:
** Recommend minimum version:
** Minimum: Version: N3HET84W (1.56)
*** Minimum: Version: N3HET84W (1.56 )
** Latest: Version: N3HET91W (1.63)
*** Latest: Version: N3HET88W (1.60 )
** Instructions for how to update the firmware without Windows [https://gitlab.com/TheOneWithTheBraid/x13s-firmware-update are on this GitHub repository.]
* 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
* There are two ways to load the correct device tree:
** ex: /boot/efi/sc8280xp-lenovo-thinkpad-x13s.dtb
** Enable the Linux Support boot option in the firmware boot menus, and copy the `/boot/dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb` file to the root of the ESP partition.
** As a workaround, add a `devicetree=/dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb` 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]
** [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]
*** After major kernel updates, you should run <pre>sudo cp /boot/dtb-`uname -r`/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb /boot/efi</pre>
* To boot from USB on Fedora 40 with a 6.8 kernel or older, `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. Note that this is not needed with 6.11 kernel in Fedora 41.
** Alternatively you can tell grub about the correct DTB so that you don't have to manually copy the DTB to the ESP. This approach will let you install newer kernels via `dnf`.
 
*** Add a the following line to the /boot/loader/entries/* file(s): <pre>devicetree /dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb</pre>
*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:
*** Edit `/etc/default/grub`, and add the kernel parameters listed above to `GRUB_CMDLINE_LINUX`. Add a new line: `    <pre>GRUB_DEFAULT_DTB=/dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb</pre>
** <pre>dnf copr enable jlinton/x13s; dnf install x13s</pre>
*** Edit `/etc/kernel/cmdline`, and add the kernel parameters listed above.
*** Reboot
* 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:
 
<pre>sudo dnf copr enable jlinton/x13s; dnf install x13s
* After major kernel updates, it is probably wise for the time being to run
sudo reboot</pre>
** <pre>cp /boot/dtb-`uname -r`/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb /boot/efi </pre>


==== Known Problems ====
==== Known Problems ====
* Audio works but is quiet
* TPM support is missing
* TPM support is missing
* 5G Modem  
* 5G Modem  
Line 31: Line 29:
** There has been some work done to unlock it with https://github.com/TravMurav/slbounce. YMMV
** There has been some work done to unlock it with https://github.com/TravMurav/slbounce. YMMV
* The system does not suspend correctly so you need to poweroff if leaving unused
* 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
* Camera is not working. There are patches going upstream. You need to add `cma=128M`
* Bluetooth doesn't always work
* Bluetooth doesn't always work



Revision as of 01:42, 28 November 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 41 GA works relatively well OOTB. The Workstation raw image can be used with the following additions:

  • The kernel must be booted with the kernel parameters arm64.nopauth clk_ignore_unused pd_ignore_unused
  • A recent firmware must be on the machine:
    • Minimum: Version: N3HET84W (1.56)
    • Latest: Version: N3HET91W (1.63)
    • Instructions for how to update the firmware without Windows are on this GitHub repository.
  • There are two ways to load the correct device tree:
    • Enable the Linux Support boot option in the firmware boot menus, and copy the /boot/dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb file to the root of the ESP partition.
    • Alternatively you can tell grub about the correct DTB so that you don't have to manually copy the DTB to the ESP. This approach will let you install newer kernels via dnf.
      • Add a the following line to the /boot/loader/entries/* file(s):
        devicetree /dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb
      • Edit /etc/default/grub, and add the kernel parameters listed above to GRUB_CMDLINE_LINUX. Add a new line: `
        GRUB_DEFAULT_DTB=/dtb/qcom/sc8280xp-lenovo-thinkpad-x13s.dtb
      • Edit /etc/kernel/cmdline, and add the kernel parameters listed above.
  • Once the system is running, installing the x13s copr, will pull in the remaining dependencies and correct a few configuration items:
sudo dnf copr enable jlinton/x13s; dnf install x13s
sudo reboot

Known Problems

  • 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