This is to document my ordeal #EmbraceTheSuck journey and work-in-progress of daily driving a Lenovo ThinkPad X13s Gen 1.
Actually, it's more a loose, semi-structured link collection w/ pointers to all the various efforts that I'm aware of or stumbled upon to make Linux a thing on the ThinkPad X13s.
Windows 11
- Install BIOS Updates (via Windows App Lenovo Commercial Vantage)
- Install Windows 11 Updates, incl. Windows 11, version 22H2
- Activated Windows Feature Hyper-V, installed WSL2 and distros Debian and Ubuntu.
- Installed Visual Studio Code along w/ some other native-arm Windows Apps, just to see…
Linux
The state of Linux on the X13s is still pretty much WIP (work-in-progress), but NO it has not stopped a few month ago.
The community is eagerly awaiting the latest kernel works to arrive in distros.
Camera
Maybe, just maybe we'll get the camera working, to some degree? 🤯
"Switch on CONFIG_SC_CAMCC_8280XP" — on custom 6.5 kernel
Lenovo BIOS/ Firmware
BIOS Update Utility for Windows 11 ARM - ThinkPad X13s Gen 1 (Type 21BX, 21BY)
There is a new BETA Linux option in the ThinkPad X13s BIOS/ firmware version 1.49, which says:
Turn this switch on to boot Linux. Turn this switch off to boot Windows.
Likely linux friendly ACPI tables 🤔
In my testing—though for now only w/ i) Ubuntu 23.04 (Lunar Lobster) Daily Build and ii) Fedora 38 Beta arm64
ISOs—I didn't manage to boot, as of yet…
But promising as hell!! 🤩
Debian—WIP
I installed Debian by following along the instructions for flashing and installing Debian (Installer for Snapdragon 8cx Gen 3 laptops) compiled by Linaro (link posted by Lenovo's Mark Pearson on Lenovo Community Forum Post "Re:Does anybody know if there is work being done to integrate X13s (ARM-processor) with linux?").
Linaro's team also contributes here: aarch64-laptops, e.g. aarch64-laptops/linux/tree/lenovo-x13s.
Debian Testing (a.k.a. Trixie Bookworm)
- Debian Developers' Corner / Debian-Installer
- April 28th, 2023: Debian Installer Bookworm RC 2 release:
flash-kernel: […] Add Lenovo ThinkPad X13s.
Notes:
-
I created the bootable USB driver on Linux via the awesome balenaEtcher application.
-
I shrinked the Windows drive on my 1TB disk by
768000
MB, resulting in 750 GB of "Unallocated" space. -
I would have preferred to install Debian with full-disk encryption and a custom sized swapfile, but this has to wait for another day 🤷♂️
-
Modifying the boot order: `FS15:> bcfg boot add 0 EFI/debian/DtbLoader.efi "Debian"
-
After "updating" to Debian
testing
I had to re-enableos-prober
to create a custom GRUB menu entry for Windows as documented here -
Uninstalled
regolith-desktop
(untilarm64
repositories for Regolith are available) and re-installed GNOME viatasksel
. -
debian.org RescueLive steps to
chroot
into locally installed system from live cd
A loose collection of links to public web resources about various attempts of making Linux on X13s a thing:
- GitHub repo about Everything about running Linux on Thinkpad X13s (powered by Qualcomm SC8280XP)
- Bluetooth
in the works: [PATCH v2 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth —› [PATCH v5 4/4] arm64: dts: qcom: thinkpad-x13s: Add bluetooth - GPU in the works: TEMP: Add GPU support @lenovo-x13s-gpu
- linux/blob/master/arch/arm64/boot/dts/qcom/sc8280xp-lenovo-thinkpad-x13s.dts
- phoronix.com Articles, Reviews and Linux & Open-Source News on ThinkPad X13s
"NVMe, SDX55 (5G) and WiFi enabled on the Lenovo Thinkpad X13s and Compute Reference Device. ADCs and thermal zones are introduced for the same. Lenovo Thinkpad X13s gains LID switch support."
(src ref: cnx-software.com: Linux 6.2 release – Main changes, Arm, RISC-V, and MIPS architectures)
-
9to5linux.com: Linus Torvalds Announces First Linux Kernel 6.3 Release Candidate —› Linus' Linux 6.3-rc1 announcement post
-
Contents of Debian bookworm (testing) package
firmware-qcom-soc
Lenovo X13s battery, audio, …
Fedora—WIP
Results of Matthew Miller's poll What do you think about Fedora Workstation on an ARM-based Lenovo laptop?
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.
src refs: fedoraproject.org/wiki. Fedora Linux ARM mailing list
Kernel and other necessary bits for Fedora on the Lenovo x13s.
You can download Fedora for ARM prerelease builds—as of writing of Fedora 38—from here. Alternatively the ongoing development builds from here.
Arch—WIP
- reddit: Arch Linux ARM ISO on X13s (WIP)
- Arch Linux ARM on Thinkpad X13S (Tutorial)
- Alex's Arch Linux ARM X13s ISO - 2023/05/10 🎉
- Install EndeavourOS on an ARM SBC (seems to work on x13s)
- EndeavourOS Tutorial (WIP)
Ubuntu—WIP
-
GitHub repo to Quickly pack iso for Ubuntu Jammy for Lenovo x13s -
GitHub repo w/ Fix up the bootloader on Lenovo x13s for Ubuntu
Installer for Lenovo X13s
work started (src ref: discourse.ubuntu.com)
As of late February I guess I totally share the assessment of user ravenpi in the Manjaro forum:
"I’m gonna guess the X13s is a viable platform come Ubuntu 23.10 – since they’ve already chosen kernel 6.2 for 23.04, and the bulk of the important changes are in 6.3, I just don’t see it happening by April release. However, if the installer works, perhaps an update to 6.3 would be feasible before 23.10."
(src ref: forum.manjaro.org)
# https://launchpad.net/~ubuntu-concept/+archive/ubuntu/x13s
=== Quick Start Guide ===
* Shrink the Windows partition using Windows Disk Management
* On boot hit Enter, enter BIOS settings to disable SecureBoot
* Boot Windows again, and do BitLocker recovery
* Power off
* Insert Ubuntu Concept X13s USB stick
* Hit Enter, then F12 and select USB stick to boot from
* Complete the side-by-side installation (if you want to keep Windows)
* To recover windows EFI variable & Bitlocker:
boot into windows entry in grub, if bitlocker present it will trigger bitlocker recovery. This also restores Windows EFI boot entry. After this step use Enter then F12 to select OS to boot (windows or ubuntu)
* Install all updates to activate all the latest hardware improvements:
$ sudo apt update
$ sudo apt full-upgrade
$ sudo apt full-upgrade
(Due to preference files shipped, duplicate full-upgrade is required, and a reboot)
-
Ubuntu
23.1024.04 (Mantic MinotaurNoble Numbat) Daily Build w/ dedicatedmantic-desktop-arm64+x13s.iso
noble-desktop-arm64+x13s.iso
. -
[FFe] Build and release ubuntu desktop arm64 x13s image on cdimage.ubuntu.com -
Ubuntu 23.10 (Mantic Minotaur) Release Lenovo X13s Gen 1 desktop image**
New installer requires to have BitLocker turned for side by side installation: https://help.ubuntu.com/wip/bitlocker/
-
Ubuntu Summit 2023: Running Ubuntu Desktop on Arm-based laptops
-
!!! Status of Ubuntu 24.04 (Noble Numbat) support for Lenovo ThinkPad X13s
Pop!_OS
Armbian—WIP
openSUSE—WIP
NixOS—WIP
- NixOS on ThinkPad X13s: minimal configuration (src ref: Tweet)
- LunNova/nixos-configs —› hosts/amayadori/x13s.nix
- Gist by cenunix "X13s nixos configuration"
Gentoo
postmarketOS
- Lenovo ThinkPad X13s (
lenovo-21bx
) —w/ FDE claimed to be working!
BIOS/ Firmware Update
Collection of information meant to help updating the BIOS firmware of aarch64 ThinkPad X13s Gen 1
usermode x86 and x86-64 emulation for arm64/ aarch64
FEX—WIP
FEX allows you to run x86 and x86-64 binaries on an AArch64 host, similar to qemu-user and box86.
The GPU has finally come alive on the Lenovo X13s!
(src ref: Tweet)
FEX: Lenovo X13s Linux (Ubuntu) installation—AWESOME write-down of install process 🤩
Asahi
BSDs
OpenBSD
General Resources on Lenovo, ThinkPad, Microsoft Dev Kit 2023, Qualcomm, Snapdragon… & Linux on ARM
- Lenovo ThinkPad X13s Gen 1 PSREF (Product Specifications Reference)
- blog post disambiguating Arm, Arm ARM, Armv9, ARM9, ARM64, Aarch64, A64, A78, ... —AWESOME read 🤩
- merckhung/linux_on_arm64_laptop — "Everything about running Linux on Thinkpad X13s (powered by Qualcomm SC8280XP)", also Microsoft Dev Kit 2023 and Samsung Galaxy Go
- linaro.org: Search x13s
- YouTube "Linux on Snapdragon X Elite Laptop with Tim Benton at the Linaro booth at Embedded World 2024 #ew24"
- Goodbye EndeavourOS ARM
- Qualcomm joins Canonical’s silicon partner program. (Tweet)