FAQ: Ubuntu 25.04/25.10 on Snapdragon X Elite

Thanks for confirmation. I will be submitting few zenbook patches including this wifi one upstream early next week.

Would you be interested in testing camera as well? I have a WIP Ubuntu branch here which is mostly based on Linaro’s work towards camera support on x1e, namely v7 of CAMSS series from Bryan. Its not the final state yet, but is confirmed working on XPS, Latitude and Zenbook. You could test by:

  • Compile and install from the branch
  • Get qcam via sudo apt install libcamera-tools
  • Run via sudo qcam

Its expected that:

  • You will get video with that distinct green tint (software ISP)
  • Video is upside down (qcam won’t take rotation into account, but other apps once they work will)
  • Video won’t work in browser/other apps, as it requires pipewire wireplumber integration which isn’t there yet on Ubuntu

On x1p4200 Zenbook (UX3407QA) im getting ISP crashes in dmesg, despite camera working. As you have UX3407RA I would be curious to see your dmesg, to determine if its Zenbook or x1p42100 specific issue.

EDIT: This branch should also bring up the camera on Lenovo Yoga Slim7x, Lenovo t14s, but was not yet tested.

1 Like

Hi Antonio,
here’s my cheatsheet for getting an Asus Vivobook S15 X1P42100 running with Ubuntu. Hopefully not too far out of date.

Asus Vivobook S 15 15.6" 3K OLED Laptop (Copilot+ PC) [512GB] - 
Model# S5507QA-MA012W, P/N# 90NB14Q2-M005K0, 
Processor - Qualcomm Snapdragon X Plus X1P42100 8 Core Processor
Graphics processor: Qualcomm Adreno GPU X1-45 280MHz, 1.7 TFLOPS
Neural Processor - Qualcomm Hexagon NPU up to 45 TOPS

Before you start, boot into Windows and run Windows Update to ensure you have the latest firmware. (Later we are going to copy it off the Windows partition to Ubuntu).

N.B. when shutting down, wait for keyboard lights to go from blue to white and then off.

To boot to UEFI Firmware Settings (aka BIOS) - 4 alternatives:

  1. hold F2 and press power on.
  2. hold ESC and press power on > Please select boot device: Enter Setup
  3. if in Windows 11: right click on Start, hold down the Shift key and click on Restart. This will take you to the Advanced Boot Menu. From there, navigate with tabs to Troubleshoot > Advanced options > UEFI Firmware Settings and click Restart.
  4. if in Windows 11, from an elevated CMD: shutdown -s -t 0 /fw

In BIOS:
Disable Wndows Bitlocker
Disable Secure Boot and quickboot

We first install Ubuntu 24.10 Concept using Jens Glathe’s 28 Feb 2025 image
Ubuntu_Desktop_24.10_VivobookS15_x1p42_6.14rc.img.xz at

https://drive.google.com/drive/folders/1sc_CpqOMTJNljfvRyLG-xdwB0yduje_O

Burn onto a USB-A drive - this is going to be your system disk, so a minimum 32GB size.
I have found the Vivobook S15 boots a USB 3.0 (5Gbps) drive but doesn’t see a USB 3.2 Gen 2 (10Gbps) drive as bootable

I used another Ubuntu system to burn this image onto your USB drive at /dev/sdX (where X is a, b, c etc. Use lsblk to check, but be careful, don’t get this wrong and overwrite your old disk!)

unxz <Ubuntu_Desktop_24.10_VivobookS15_x1p42_6.14rc.img.xz | sudo dd of=/dev/sdX bs=4M status=progress && sync

Note after you’ve burned the image on the USB drive, you have to mount it and edit the usb’s /etc/fstab as the labels’ final “t/T” are the wrong way around (not root241T and not BOOT241t). It should look like:

LABEL=root241t / ext4 discard 0 1
LABEL=BOOT241T /boot/efi vfat defaults 0 1

glathe’s images have a run-once copy_firmware.service that runs a script /usr/local/bin/fetch_vivobook_s15_fw.sh
I edit this to change 3 instances of "cp " to "cp -p " so dates of firmware it fetches from Windows 11 C: drive are preserved which helps you keep track of fw versions.
[In the weeks ahead, after Windows installs any firmware updates, boot into Ubuntu and re-run this script by hand to re-copy the firmware.]

Dismount and eject USB from old system, plug into Vivobook S15 USB-A port (can’t use USB-C).

To select a boot device, you generally can’t use UEFI Firmware Settings (aka BIOS), instead have to
press and hold ESC at reboot/power-on > Please select boot device: ubuntu (USB SanDisk 3.2Gen1)
[Of course due to brilliance of USB nomenclature, USB 3.2Gen1 is just plain old USB 3.0 and is thus bootable]

Originally at the grub menu, I would type e for edit and edit out the “quiet” in the grub command and ctrl-x to exit editing and start the boot. But I don’t think you have to do that any more.

This first boot up should run that once-off copy_firmware service and then reboot a second time.

From post-installation info at glath’s github linux_ms_dev_kit/wiki Bringing-up-the-SnapDragon-Dev-Kit-for-Windows-with-Linux-%E2%80%90-with-working-display#post-installation-tasks

sudo snap install gnome-42-2204 --channel adreno/stable
sudo snap install mesa-2404 --channel beta/kisak
sudo snap refresh
sudo apt update
sudo apt install --reinstall ubuntu-x1e-settings

I also do

cd /usr/lib/firmware/updates/qcom
ln -s x1e80100 x1p42100

so that these firmware files can be found when an upgrade does

update-initramfs -u -k all

Then upgrade from Ubuntu oracular 24.10 to Ubuntu plucky 25.04:

sudo apt update
sudo apt upgrade
sudo do-release-upgrade

This release upgrade installs the snap mesa-2404 to enable the GPU.

After the do-release-upgrade, need to re-add the Ubuntu Concept (arm64) repo:

sudo add-apt-repository ppa:ubuntu-concept/x1e
sudo apt update
sudo apt upgrade

This upgrades the mesa-2404 snap to the beta/kisak channel from 24.2.8-snap183 latest/stable to 25.1.6-snap186 latest/beta/kisak

After rebooting and on a weekly basis, check for @glathe’s latest kernel packages from
https://drive.google.com/drive/folders/1Lps5o3FXroAJFDiKj18vutJbC1uld49s

put them in e.g. ~/Downloads/6.16.0-jg-1 and

cd ~/Downloads/6.16.0-jg-1
sudo dpkg -i *.deb

And reboot


At this stage,

  1. If I attach a mouse via bluetooth or USB RF dongle, I can point and click in Firefox, but as soon as I scroll, it crashes. The touchpad scrolls just fine, and I can scroll in Chromium or Terminal without problems. Presumably a Firefox problem.
  2. As noted above, can’t boot with a USB 3.2 Gen 2 (10Gbps) drive, presumably a Vivobook BIOS problem.
  3. I haven’t worked out how to boot into el2 to get /dev/kvm virtual machines running efficiently (VMs run but use qemu to emulate arm64 on arm64 - not v efficient).
  4. Nor have I found out how to use X1-45 GPU, or indeed, to find out if it is being used (lshw shows graphics > product: msmdrmfb)
  5. Nor the Hexagon NPU
  6. No audio yet. Also battery indicator only works intermittently. Sometimes I have to reboot twice to get Wifi or just to get the boot to complete.

But it is a LOT more stable than a couple of months ago, a major advance. I had to compile Libreoffice the other day (to get a fix for a 5GB memory leak!). First attempt overheated and shutdown, second attempt (with the old “matchbox under notebook hinge” trick to allow better airflow) finished in 58 minutes with all 8 CPUs powering away.

Thanks, as always to the fantastic work of the team, especially @glathe and @tobhe .

Please let me know if you have any comments, criticisms or suggestions.

2 Likes

Well, I have ASUS Vivobook S15 too, and I just installed Ubuntu 25.04 latest image (LiveCD) from here - Download Ubuntu Desktop | Ubuntu. After installing OS I install qcom-x1e-settings and qcom-firmware-extract.

Here is my few comments:

  1. There are floating problem with WiFi. So, when you start from Flash, there can be WiFi not found. But after several reboots it finds WiFi. So, I don’t think it’s a problem.
  2. Power Indicator works fine after installing qcom-firmware-extract (as Video Driver - Adreno)

And here are remaining problems:

  1. No audio - agree, but, I connected AirPods to Asus Vivobook and listened to music. I also connected wired pods - and it worked too.
  2. No camera - agree.
  3. No Hexagon NPU - agree.

Only two first reasons why my laptop not everyday-use with Ubuntu. When two first reasons gonna be solved - after that Laptop Asus S15 could be used for everyday-use. Hexagon NPU can be fixed later.

Any hope for the Samsung Book 4 Edge with the x1e80100 CPU?

Last time I checked it didn’t boot but OpenBSD boots using ACPI.

I have the machine so I can do tests.

1 Like

Thanks for the feedback @psarapkin. I’m guessing you don’t have the X1P42100 processor in your Vivobook S15 (hence that big prolog describing my model). What do you see when you run

sudo dmidecode -s processor_version

Can you kindly expand on

installing qcom-firmware-extract (as Video Driver - Adreno)

I’ve installed qcom-firmware-extract in the past, I believe it does the same as glathe’s
copy_firmware.service /usr/local/bin/fetch_vivobook_s15_fw.sh
but I’m afraid I’m puzzled about your “Video Driver - Adreno” bit. Where/how is this done/displayed? All I’m seeing is this message in journalctl

kernel: msm_dpu ae01000.display-controller: [drm:adreno_request_fw [msm]] *ERROR* failed to load gen71500_sqe.fw 

but that file gen71500_sqe.fw is not on my system anywhere.

Also not working is the HDMI port - but I’m assuming that’s tied to getting a driver for the Adreno GPU fully working.

Yeah, I have X1E78100.

Ohh, I’m flown away from home, will be back in one month, and as soon as internal audio and camera is not working, the Asus Vivobook on Snapdragon is not my everyday machine, it stayed at home, and I took MacBook :joy:.

Well, HDMI is working, but you need to do the following steps:

  1. Turn off Vivobook
  2. Connect HDMI
  3. Turn on Vivobook

Hot plug works with Type-C. I tried Type-C (Vivobook) → Type-C (monitor) - it works.

1 Like

LENOVO Yoga Slim 7 has been successfully installed. When switching from Gnome to KDE, there are many problems with Wayland: screenshots don’t work, battery information is missing, and there’s no sound these are the main issues I was able to identify. Overall, there’s already significant progress!

1 Like

Still nothing at all happening for the X1P-42-100 Samsung Galaxy Book 4. Just an error message in red flashes too quick and reboot. I’m not very knowlegable but I am patient. Windows won’t install either, lol.

LENOVO Yoga Slim 7 has been successfully installed. When switching from Gnome to KDE, there are many problems with Wayland: screenshots don’t work, battery information is missing, and there’s no sound these are the main issues I was able to identify. Overall, there’s already significant progress!

Did you run qcom-firmware-extract? If not that would explain the missing battery info.

1 Like

Still nothing at all happening for the X1P-42-100 Samsung Galaxy Book 4. Just an error message in red flashes too quick and reboot. I’m not very knowlegable but I am patient. Windows won’t install either, lol.

Unfortunately the Galaxy Book is a bit of a problem child right now. I am not aware of any successful Linux installations so far. I am following the upstream developments though and try to add support as soon as I see it being added to Linux itself.

1 Like

Hi all, small update on our stubble progress!

We now have a fully stubble enabled ISO that should work on all machines we had working with our old solution. The ISO is available in the usual place.

:warning: Don’t forget to tick the “install additional drivers” option in the installer, that is still needed. If this works for everyone the last thing missing is removing the flash-kernel dependency from ubuntu-x1e-settings.

Currently the dtbs do still get installed to /boot but they aren’t actually used. It should be safe to rm -rf /boot/dtb* && update-grub and apt remove flash-kernel since the dtbs are now loaded by stubble from the kernel bundle. If I get enough feedback saying that worked I will reupload the package with the dependency removed.

If you want to load a custom device tree you have to add it to grub.cfg manually AND pass stubble.dtb_override=true on the kernel command-line. Adding debug to the kernel command line make stubble print which device-tree was used.

I am not aware of any machines being broken by stubble right now. There was a problem with a few specific versions of the Lenovo T14s that we fixed since. Please reach out and let us know if the latest ISO/kernel don’t work (and previously did) on your machine so we can get it fixed before 25.10!
There has been one report of missing initramfs modules that cause the screen to stay dark for the disk encryption prompt, we are working on getting that fixed.

We also added a few new goodies in our latest kernel such as HDMI support on the T14s and initial webcam support.

2 Likes

Hi, I’m struggling to get plucky-desktop-arm64 to work on a Lenovo IdeaPad Slim 5 14Q8X9 that has a snapdragon X1P42100 processor.
I get the following error when I use the latest iso (plucky-desktop-arm64+x1e-20250827.iso).

error in red “pe.c:3720pe_HWID matching failed, no DT blob”<<<

I realize that Snapdragon XPlus is not Snapdragon XElite, but I thought I’d try.

thanks,
Chuck

2 Likes

I get the following error when I use the latest iso (plucky-desktop-arm64+x1e-20250827.iso).

That is expected at the moment since we don’t have a device tree for this machine yet. if you put one into /boot manually you can load it with the grub devicetree command.

I think @glathe has worked on one in his tree at GitHub - jglathe/linux_ms_dev_kit at sg/ubuntu-x1e80100-6.16-el2

2 Likes

@chuckesta yeah. Or -4. Would be interested to know if backlight adjustment works on your machine. There is also a discussion thread for this model on my repo.

Sounds great. Are these goodies available on Asus Vivobook S15 (X1E78100)?

And what is with audio?

Vivobook should be in audioreach, and iirc also in alsa-ucm-conf. And the patch for T14s HDMI should also be applicable on the Vivobook. I don’t have one to test, though.

1 Like

Hello @tobhe , any tricks to get the T14s webcam working in a browser (for “organization-mandated” teams)? Similar as for the X13s? Using apt-version of Firefox etc?
btw, I installed cheese, and the webcam works there.

any tricks to get the T14s webcam working in a browser

I think you might need the apt version because of a sandboxing limitation I am currently trying to get fixed and enable the media.webrtc.camera.allow-pipewire option in about:config

1 Like

how would i go about starting to write a device tree for a device?
I highly doubt anyone trying to get x1p42100 to work owns an Asus Proart PZ13 (I know it wasnt the best choice to buy) so my only option is to probably write my own device tree
Should i just copy another Asus device tree for an x1p42100 device and modify it until it works?
Anything specific i should remove to get booted into linux to begin with?

1 Like

@tobhe Im sorry to ping you, but i dont know who else could help guide me in the right direction
Do you know of anyone using an asus proart pz13 that got linux running on it?
Is there a device tree i couldnt find somewhere out there?
And if not, how could i go about making my own?