
The X Elite experience
I got a new X Elite laptop recently, specifically the Lenovo Yoga Slim 7x. This is the obligatory blog post about running Linux on it.
Setting it up took a bit. Here are my tips:
- From the UEFI, remember to turn off Secure Boot and set the boot priority. It'll give you a weird error if you don't.
- Don't remove the Windows partition - you'll need it for firmware. Instead, turn off BitLocker so you can resize it.
- Don't use Fedora 42 - while GRUB will load, it'll black out and reboot once you pick any option.
I eventually got Ubuntu 25.04 running! But there were still some problems:
- Audio input/output doesn't work.
- Video input/output to external displays doesn't work.
- HDR and Night Light don't work.
- Some things aren't fully accelerated.
Right now, this is actually less feature support than my janky Surface Pro 7. Things are rapidly getting implemented though - follow along at bug 2084191.
Apr 20 2025 update
I built Jens Glathe's device tree, and external displays now work. The steps I took were something like
- Clone
https://github.com/jglathe/linux_ms_dev_kit
and switch tojg/ubuntu-qcom-x1e-6.15rc
- Make sure all necessary packages are installed
- Run
cpp -nostdinc -I. -Iinclude -undef -x assembler-with-cpp arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts > usable.dts
- Run
dtc -I dts -O dtb -o compiled.dtb usable.dts
- Back up your current device tree with
sudo cp /boot/dtbs/6.14.0-15-generic/qcom/x1e80100-lenovo-yoga-slim7x.dtb /boot/dtbs/6.14.0-15-generic/qcom/x1e80100-lenovo-yoga-slim7x.dtb.bak
, and copy in the new one withsudo cp ./compiled.dtb /boot/dtbs/6.14.0-15-generic/qcom/x1e80100-lenovo-yoga-slim7x.dtb
- Reboot and there you go
Oddly, I can't turn off the internal display without it crashing on me yet.