FAQ: Ubuntu 25.04 on Snapdragon X Elite

Does Ubuntu 25.04 work on Snapdragon X Elite laptops?

Most devices that have only worked with the Ubuntu Concept 24.10 ISO up to this point can now also be installed with the new generic Ubuntu 25.04 arm64 ISO.
A non comprehensive list of devices that we have seen successful installations on are:

  • Acer Swift 14 AI SF14-11
  • ASUS Vivobook S 15
  • Dell XPS 13 9345
  • HP Omnibook X 14
  • Lenovo Thinkpad T14s Gen 6
  • Lenovo Yoga Slim 7x
  • Microsoft Surface Laptop 7

:warning: Hardware support for Snapdragon X Elite is work-in-progress and lots of features are not yet supported (built-in speakers, webcam, ).

We recommend installing all firmware updates before installing Ubuntu. For now it is best to install Ubuntu in a dual-boot setup to preserve your Windows installation for future firmware and BIOS updates. Make sure to tick the “include additional drivers” box in the Ubuntu installer and connect to the network during installation to receive the latest updates and bug fixes.

Most machines rely on additional device-specific firmware files that are not available under a compatible license yet (at the moment this affects all devices except the Lenovo Thinkpad T14s which should work out of the box).
You can extract the firmware files from a local Windows installation using the qcom-firmware-extract tool from the Ubuntu package with the same name.

sudo apt install qcom-firmware-extract
sudo qcom-firmware-extract

Known issues

Devices with more than 32 GB of memory are affected by a firmware bug that is worked around in the Concept ISO but not in the official Ubuntu 25.04 installer. If you would like to run Ubuntu on an affected device, we recommend installing the Ubuntu Concept image and upgrading to 25.04 from there.

On the Asus Vivobook S15 there is a bug where the installer does not install the meta package correctly resulting in broken installations, see Bug #2107692 “[SRU] Asus Vivobook S15 hwe-qcom-x1e-meta modsign...” : Plucky (25.04) : Bugs : ubuntu-x1e-settings package : Ubuntu.

What’s the difference between the Ubuntu Concept 24.10 ISO and the official Ubuntu 25.04 arm64 installer ISO?

The biggest differences between Ubuntu Concept and official 25.04 installations are the ubuntu-concept PPA which is enabled by default when installing via the Ubuntu Concept installer and overrides some packages with patched versions as well as the linux-qcom-x1e kernel that is our WIP kernel with more Qualcomm specific changes added that are not suitable or too experimental for the generic arm64 kernel.

Ubuntu Concept installations also default to bleeding edge snap channels for the mesa provider snaps gnome-42-2204 and mesa-2404. To get working hardware acceleration in snaps on a fresh 25.04 installation we recommend switching the channels manually using:

snap refresh --channel adreno/stable gnome-42-2204
snap install --channel beta/kisak mesa-2404

Over the lifetime of 25.04 the concept PPA will continue receiving regular feature updates while the official 25.04 packages stick to the Ubuntu policy and will only receive bug fixes.

How can I go from Ubuntu Concept 24.10 to Ubuntu 25.04?

An existing Ubuntu Concept 24.10 installation can be updated to 25.04 without reinstalling. Release upgrades from 24.10 to 25.04 are currently disabled because of a critical upgrade bug. As soon as that is fixed the system should automatically offer to upgrade.

If you manually want to force the upgrade despite this bug you can run:

update-manager -d

or

do-release-upgrade -d

If you want to continue receiving package updates from the Ubuntu Concept PPA, make sure to reenable the ppa after the upgrade with:

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

Will there be a Ubuntu Concept ISO based on 25.04?

Yes! We plan to continue our more experimental development in the ubuntu-concept PPA and regularly release new ISOs including the latest changes to enable more devices.

We have some work to do on our build pipeline before we can start publishing 25.04 ISOs, until then it is possible to install 24.10 and upgrade to 25.04 if needed as explained above

My machine doesn’t work, what can I do?

Please check bugs.ubuntu.com/ubuntu-concept and see if a tracking bug exists for your device. The comments should give you a good idea what works and what doesn’t.

Many devices are now available in X Elite or X Plus configurations, the latter are currently not as well supported since they were released recently and upstream Linux support hasn’t caught up yet.

How can I help?

We appreciate test feedback and bug reports on Launchpad. Keeping all the info up to date and relevant is hard so feel free to let us know if you think anything needs to be updated.

If you own a device that doesn’t work yet, please help us by opening a tracking bug at Bugs : Ubuntu and share your smbios information if possible. For an example see the T14s tracking bug. X Elite and X Plus configurations for similarly named machines should be tracked in separate bug reports.

If you are working on more experimental changes such as a new device tree or kernel patches the easiest way to get them into our tree is submitting them upstream for the Linux kernel.
We are generally happy to backport fixes to our Ubuntu Concept qcom-x1e tree as long as they also get upstreamed.

You can create merge requests against our Ubuntu Concept packages at Git : Code : “Ubuntu Concept” team

2 Likes

Maybe clarify this is because firmware for the Thinkpad T14s Gen 6 is merged in linux-firmware: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/log/?qt=grep&q=t14s

(not because the T14s is less supported which could also be deducted).

Maybe clarify this is because firmware for the Thinkpad T14s Gen 6 is merged in linux-firmware: https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/log/?qt=grep&q=t14s

(not because the T14s is less supported which could also be deducted).

Indeed, the intention was to say the exact opposite. The T14s is better supported out of the box. Let me see how I can rephrase that.

1 Like

Great! And the next concept image could probably include the Lenovo Yoga Slim 7x firmware files, since they are available in Linux git now too.

https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/qcom/x1e80100/LENOVO/83ED

1 Like

Firstly, hats off to all the people who contributed to this effort; my experience with the X1E Lenovo Slim 7x on Ubuntu 25.04 has been amazing so far, given how fresh this platform is. Welcome to the new era of computing!

Just a note that the steps above should be updated; on a fresh Ubuntu 25.04 install:

# snap refresh --channel adreno/stable --no-wait gnome-42-2204
7
# snap refresh --channel beta/kisak --no-wait mesa-2404
error: cannot refresh "mesa-2404": snap "mesa-2404" is not installed```

// Daniel J Blueman

Thanks for the feedback, glad to hear it works that well for you!

I believe what would best in this case is

snap install --channel beta/kisak mesa-2404

which installs the dependency in the right channel if it isn’t installed yet. This will make sure that if you pull in a snap consuming the mesa content snap in the future it should just work.

1 Like

Great work!

I’m wondering since the Surface Laptop 7 should be similar to Surface Pro 11, if we could expect anything for the latter anytime soon.

I’m looking for a tablet convetable device that can run Linux and its hard to find anything else.

Someone has tried porting it to Arch and has had some success. GitHub - dwhinham/linux-surface-pro-11: Arch Linux ARM for Surface Pro 11.

Just placed an order for Lenovo Slim 7x. Cant wait for Linux on ARM

Tried installing 25.04 ARM ISO on Lenovo Yoga Slim 7X with ZFS w/ encryption alongside Windows and it failed with following error:

May 31 21:33:03 ubuntu subiquity_log.4039[5385]: Err:27 http://ports.ubuntu.com/ubuntu-ports plucky/universe Icons (64x64)
May 31 21:33:03 ubuntu subiquity_log.4039[5385]:   Connection timed out [IP: 2620:2d:4000:1::19 80]
May 31 21:33:03 ubuntu subiquity_log.4039[5385]:   Connection timed out [IP: 91.189.91.103 80]
May 31 21:33:03 ubuntu subiquity_log.4039[5385]:   404  Not Found [IP: 2620:2d:4000:1::19 80]
May 31 21:33:04 ubuntu subiquity_log.4039[5385]: Fetched 32.9 MB in 13min 47s (39.8 kB/s)
May 31 21:33:04 ubuntu subiquity_log.4039[5385]: Reading package lists...
May 31 21:33:04 ubuntu subiquity_log.4039[5385]: E: Failed to fetch http://ports.ubuntu.com/ubuntu-ports/dists/plucky/universe/dep11/icons-64x64.tar  404  Not Found [IP: 2620:2d:4000:1::19 80]
May 31 21:33:04 ubuntu subiquity_log.4039[5385]: E: Some index files failed to download. They have been ignored, or old ones used instead.
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['udevadm', 'settle'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: TIMED subp(['udevadm', 'settle']): 0.007
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['mount', '--make-private', '/tmp/tmpc0houwl6/mount/usr/bin/ischroot'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['umount', '/tmp/tmpc0houwl6/mount/usr/bin/ischroot'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['mount', '--make-private', '/tmp/tmpc0houwl6/mount/sys/firmware/efi/efivars'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['umount', '/tmp/tmpc0houwl6/mount/sys/firmware/efi/efivars'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['mount', '--make-private', '/tmp/tmpc0houwl6/mount/sys'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['umount', '/tmp/tmpc0houwl6/mount/sys'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['mount', '--make-private', '/tmp/tmpc0houwl6/mount/run'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['umount', '/tmp/tmpc0houwl6/mount/run'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['mount', '--make-private', '/tmp/tmpc0houwl6/mount/proc'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['umount', '/tmp/tmpc0houwl6/mount/proc'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['mount', '--make-private', '/tmp/tmpc0houwl6/mount/dev'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: Running command ['umount', '/tmp/tmpc0houwl6/mount/dev'] with allowed return codes [0] (capture=False)
May 31 21:33:04 ubuntu subiquity_log.4039[5361]: finish: cmd-in-target: FAIL: curtin command in-target
May 31 21:33:04 ubuntu subiquity_event.4039[4039]: configuring apt
May 31 21:33:04 ubuntu subiquity_event.4039[4039]: 
May 31 21:33:04 ubuntu subiquity_event.4039[4039]:  curtin command in-target

Sorry, I am confused by these description. Where should I run these sudo commands? They are Linux commands. Aren’t these firmware files needed for successful Linux installation? It looks a chicken-n-egg problem.

What are the files for?

Where should I run the sudo commands?

Where should I copy the extracted firmware files to?

How are they related with installing Ubuntu on a Windows Arm64 laptop?

I am not entirely sure I understand your questions @blue3too . But if I try to take you at your words I would say that the files are binary blobs (files) that make some hardware in your laptop function better (or even at all). You open a terminal after installing Ubuntu 25.05. Then you run those 2 commands in the terminal. The qcom-firmware-extract command will copy the files to the correct place for you. Those blobs/files are part of the windows distribution that are borrowed to the Ubuntu install to make some hardware work when running Ubuntu on your windows arm64 laptop.

As @jokkeholmberg wrote, you run these commands in a terminal, after you have installed (and rebooted into) Ubuntu.

You do not need the firmware for the initial install.

The firmware enables or improves support for your laptop.

In a terminal on your laptop. Any location will do.

You don’t. With sudo apt install qcom-firmware-extract you install the tool that can extract the firmware from the Microsoft Windows partition.

With sudo qcom-firmware-extract you execute the tool you just installed. The tool mounts the Microsoft Windows partition, finds the firmware, creates a Debian (.deb) package, and installs that Debian package onto your laptop.

Not with the installation per se. As long as not all firmware is available for Linux, scraping the firmware from Windows is a temporary solutions for better hardware support.

1 Like

25.04 on arm blackscreens if you try to install with LUKS encryption. The blackscreen occurs when attempting to reboot after install.

I think that this only occurs on certain brands of oled screens - I have a Lenovo Yoga Slim 7x that have this problem but others with the same computer reports that it works for them.

However, there is fix coming - I have tried it and seen that it works.

But since it involves replacing update-initramfs with dracut (version 107) its complicated and breaks other things that is currently working.

So, it will probably take some time before that change takes place - it might be in Ubuntu 25.10

Meanwhile - it works to write the password “blind” on the black screen.

1 Like

Thank you for the reply! Yeah ive since noticed i can enter it blind and it works. I also think it works when you completely wipe the drive and have just one ubuntu install.

Been testing out 25.10, the installer has its bugs but will report back.

Hi!
I’m a new user of Lenovo t14s with snapdragon
I have tried to setup ubuntu 25.04 without success
after grub option Try or install ubuntu selection I see a black screen with following message for a moment
mount: mounting efivarfs on /sys/firmware/efi/efivars failed: operation not supported

And after system goes to reboot.

I have also tried custom arm ubuntu 24.04 build – same result, but I can’t see any messege, it just goes to reboot.

In bios I have only disabled secured boot.

Any ideas?

Hello. Have you tried the custom 24.10 ISO? Worked great for me on my T14s 64GB RAM, non-OLED. As far as I recall, I followed the step on the thread:
https://discourse.ubuntu.com/t/ubuntu-24-10-concept-snapdragon-x-elite/48800

You could then upgrade to 25.04 afterwards (I have not tried this myself yet).

I tried the current daily build of 25.10:

For the first time on the Lenovo Yoga Slim 7x the battery symbol (energy options) worked in the installer and I chose an encryped install. After reboot I did not get the Ubuntu splash screen for the encryped password but I got a console dialog where I could write the password :slight_smile: