After couple of unsuccessful attempts, I finally have Ubuntu installed with dual boot working on Windows on Lenovo Yoga Slim 7x. Windows install is decrypted, while Ubuntu is encrypted ext4 on LUKS. I tried ZFS w/ LUKS but that did not work. 25.04 non-concept image install did not work for me.(Error posted here: FAQ: Ubuntu 25.04 on Snapdragon X Elite - #9 by varunpriolkar)
However I had a major issue with qcom-firmware-extract failing to find the Windows install to install the firmware.
varun@varun-yoga:~$ sudo qcom-firmware-extract
error: Failed to find windows partition
This is what my disk setup looks like:
nvme0n1 259:0 0 953.9G 0 disk
├─nvme0n1p1 259:1 0 260M 0 part /boot/efi
├─nvme0n1p2 259:2 0 128M 0 part
├─nvme0n1p3 259:3 0 206.5G 0 part <--------Windows partition
├─nvme0n1p4 259:4 0 2G 0 part
├─nvme0n1p5 259:5 0 2G 0 part /boot
└─nvme0n1p6 259:6 0 743.1G 0 part
└─dm_crypt-0 252:0 0 743G 0 crypt
└─ubuntu--vg-ubuntu--lv 252:1 0 743G 0 lvm /
Fix:
Download the script from: https://git.launchpad.net/~ubuntu-concept/ubuntu/+source/qcom-firmware-extract/plain/qcom-firmware-extract?h=main
Set the part and nobitlocker variable correctly and run the script. That managed to get the firmware files for me.
varun@varun-yoga:~$ sudo bash qcom2
Mounting Windows partition nvme0n1p3...
Extracting firmware
adsp_dtbs.elf
adspr.jsn
adsps.jsn
adspua.jsn
battmgr.jsn
cdsp_dtbs.elf
cdspr.jsn
qcadsp8380.mbn
qccdsp8380.mbn
qcdxkmsuc8380.mbn
Building package qcom-x1e-firmware-extracted_20250601_arm64...
Installing qcom-x1e-firmware-extracted_20250601_arm64...
update-initramfs: Generating /boot/initrd.img-6.14.0-35-qcom-x1e
find: ‘/lib/firmware/updates/qcom/x1e80100’: No such file or directory
find: ‘/lib/firmware/qcom/x1p42100’: No such file or directory
find: ‘/lib/firmware/updates/qcom/x1p42100’: No such file or directory
Using DTB: qcom/x1e80100-lenovo-yoga-slim7x.dtb
Installing /lib/firmware/6.14.0-35-qcom-x1e/device-tree/qcom/x1e80100-lenovo-yoga-slim7x.dtb into /boot/dtbs/6.14.0-35-qcom-x1e/qcom/x1e80100-lenovo-yoga-slim7x.dtb
Taking backup of x1e80100-lenovo-yoga-slim7x.dtb.
Installing new x1e80100-lenovo-yoga-slim7x.dtb.
System running in EFI mode, skipping.
Done! Reboot to load the added firmware files.
umount: /tmp/fwfetch.fvus4vH7/dislocker: not mounted