Ubuntu Concept 26.10 Snapdragon Edition

Our last update on our Ubuntu Concept Snapdragon enablement work has been a while ago and a lot has happened since. An entirely new generation of Snapdragon X2 consumer hardware has been released and at the Snapdragon Summit earlier this month Qualcomm has announced they are working on official Linux support for the new laptops and Canonical has announced a strategic partnership with Qualcomm to provide an official, certified and fully optimized Snapdragon X2 Ubuntu image targeted for 2027.

For those who can’t wait to test Ubuntu on their new Snapdragon machine and who don’t mind a less polished early preview experience, we are happy to announce the latest iteration of our experimental Ubuntu Concept ISO including initial enablement for Snapdragon X2 machines as well as many other nice improvements and fixes that landed in Linux 7.3.

Since we are only weeks from the Ubuntu 26.10 release, we are going to do things a little differently this time. In close coordination with the Ubuntu release management team we decided to jump straight to the Ubuntu 26.10 Beta for our new concept ISO. Hopefully this will help us catch bugs in the upcoming release early and get some additional user feedback on all the latest improvements in Stonking Stingray. If everything goes well, we expect most of our work to also land it in the official 26.10 release next month.

A (non-comprehensive) list of additions since our last ISO:

  • Landed initial enablement for the following X2 laptops:
    • ASUS Zenbook A14/A16
    • Lenovo Yoga Slim 7
    • HP EliteBook X G2q
  • New X1 machines
    • Lenovo IdeaPad Slim 3
    • Lenovo Ideacentre Mini 01q8x10
    • HONOR MagicBook Art 14

Getting Started

The new concept ISO is available for download at people.canonical.com/~platform/images/ubuntu-concept.

Some features require additional firmware files that we can not distribute in Ubuntu until they are available under a suitable license. As a workaround they can be extracted from an existing Windows installation, either manually or with the packaged qcom-firmware-extract tool. After rebooting into your newly installed system, run sudo apt install qcom-firmware-extract and sudo qcom-firmware-extract and reboot again to load the new firmware.

Contributing

All our source code is publicly available on Launchpad in our ~ubuntu-concept/x1e PPA and as git repositories under the ~ubuntu-concept launchpad team.

An easy way to help us enable more hardware is supplying us with more information on machines we don’t currently have physical access to by opening a bug on Launchpad against the ubuntu-concept project and tagging it with your hardware. For examples you can have a look at our open bugs.

Advanced users can use livefs-editor to modify the image and change device trees, grub config, kernel etc to get it working on more hardware.

A guide for building our concept kernel the Ubuntu way is available here on discourse.
We are planning to publish a more detailed guide on how to build your own images and porting to new hardware in the future.

Thanks

We would like to thank the open source community and everyone involved in the Linux upstream kernel development that enables this project, as well as Lenovo, HP, Qualcomm and Dell who supported us with valuable feedback and test hardware.

13 Likes

How is the Microsoft Surface Laptop 7 with this?

Surface Laptop 7 bug is LP: #2084951

1 Like

Awesome. Waiting to see Kalambo (the 6 core x2p) to come online :slight_smile:

Can’t wait until my Asus Vivobook X1607QA is fully supported :slight_smile:

So what’s the status of the Asus zenbook A16? what works/does not? Thinking about getting one and pushing Linux on it.

previous threads for reference:

ubuntu-concept-snapdragon-x-elite

ubuntu-25-10-snapdragon-based-desktops

faq-ubuntu-25-04-25-10-on-snapdragon-x-elite

2 Likes

Tried it out on A16. The system booted up, at least wifi was missing. Installation failed to hdd partitioning. It got confused by the gazillion of Windows partitions and was trying to use `sfdisk` in a wrong way. The hard disk was detected, which is an improvement.

Filed https://bugs.launchpad.net/subiquity/+bug/2168963 .

1 Like

Yeah, my take so far: wifi is still not working out of the box, and the partition is weirdo, the installer just choked on it trying to touch the Windows partitions. Fedora didn’t work at all for me either, just sat on a blank screen. I ended up getting Arch/Manjaro to actually work by rolling with the custom 7.3-rc3 kernel and DTB, but I had to do the disk partitioning manually with cfdisk and copy the rootfs over by hand. Even after that, the ASUS firmware was dropping custom NVRAM boot entries on reboot (had to hijack the \EFI\ubuntu\grubaa64.efi path with systemd-boot to keep it permanent). So you can definitely get Arch/Manjaro running if you don’t mind a bunch of manual hackery, but wifi is still down and expect to use USB tethering for now.

2 Likes

Thanks for testing and submitting a bug report!

The missing WiFi is most likely because the upstream modem firmware doesn’t support the laptop. We had the same problem on some X1 machines. It is probably possible to tweak it manually via qca-swiss-army-knife as described in Ubuntu Concept ā™„ļø Snapdragon X Elite - #216 by hyh19962008
I’ll see what we can do about including it in upstream linux-firmware.

UPDATE: There’s already a upstream issue https://bugzilla.kernel.org/show_bug.cgi?id=221984

2 Likes

I have Ubuntu mostly working on my A16. I have Wi-Fi, all the ports, battery display, keyboard/trackpad, Bluetooth etc. I (Agent) has documented all the steps and changes made to get this working as I went along. I used a nightly 26.10 from September, custom built, and eventually got it all working. I don’t know if anything I have is useful, but happy to share. I’m not using it full time, but I’ve used it multiple days without major issues, as long as I don’t let the laptop sleep. If the laptop sleeps, Wi-Fi is gone. I am often plugged into Ethernet, so it wasn’t an issue. Unfortunately, I had to get some other stuff done and abandoned it for a few weeks but was going to get back to it until I saw this recent post. Here is the list of things I have working:

  1. Keyboard/Trackpad

  2. Touchscreen

  3. Wifi

  4. Bluetooth (using for Audio)

  5. All USB ports (no video out or HDMI yet)

  6. Battery status

  7. Some of the FN keys are at least showing up on the screen when pressed.

  8. Display Brightness controls and 60/120Hz

Things not working yet,

Speakers

Standby/Resume. This is sketchy at best. There are issues with Wifi resuming, USB resuming etc.

Battery is worse than Windows, but useable for hours at a time.

Let me try these new ISOs. Maybe now Ubuntu cen be installed, and can be used daily on my Surface pro 11. May after that, I can run many native arm64 open source softwares on this device(On windows, many open source softwares have no arm64 edition.). And I can use my favourite desktop: Gnome.

Hi @tobhe thanks for all your hard work. I have a dell latitude 5455 (x1p64100 variant) currently using @glathe 7.2.0-jg-0-qcom-x1e I have a few questions:

  • is this preview mainly for X2 machines or are X1 machines also targeted? Therefore do you think I should stick to @glathe releases or switch ?
  • If X1 are targetted would it be possible to add my device’s device tree? I have made some tweaks to @glathe ā€˜s one
  • could my device be added to qcom-firmware-extract ? (it’s pretty much the same as the dell latitude 7455)
  • Do you plan to publish pre-built package sets for updating kernel’s of existing systems or should i just build/install it from the git repo?
1 Like

IMO you could open a PR on my repo for the latitude 5455. After integration it should be ready(-ish) for upstreaming it.

1 Like

Still no Galaxy Book4 Edge support?

UPDATE: Ok, so, I have spent some absurd amount of time playing with UX3607OA and this were my horrific discoveries (this said, congrats for getting anything out of the door):

  • HDMI port is cursed: apparently nothing was working whatsoever (except somehow manjaro with its miserable 3yo rootfs booting in llvmpipe) because I had a cable inserted
  • the installer crashes before partitioning (as @mtvx reported and I will further report later), but it worked for me by pre-updating with an external ethernet adapter
  • qcom-firmware-extract is useless on X2 laptops: I can respect the sentiment behind, but there is no way it can help here when it hasn’t been updated since June
  • first time I copied board-2.bin I mixed it up with the vanilla file, and it seems like that was taking precedence even over the good zst compressed that I later got from misyltoad
  • even then (the wifi finally comes up, and lists networks!) I found that with my router it constantly rejects the password, while the same with my phone hotspot is fine

There is no audio and no Bluetooth, but at least it’s stable and I’d argue you could already start to use it if you seriously wanted

1 Like

This new image seems to finally fix the Grub reset by using gfxterm, though in turn, the text is microscopic. I’d suggest using a somewhat larger font size.

Seems like stubble still doesn’t have my hwids.

hwids for X1P+LCD+5G

Computer Information

BiosVendor: Microsoft Corporation

BiosVersion: 175.222.235
BiosMajorRelease: ff
BiosMinorRelease: ff
FirmwareMajorRelease: ff
FirmwareMinorRelease: ff
Manufacturer: Microsoft Corporation
Family: Surface
ProductName: Microsoft Surface Pro with 5G, 11th Edition
ProductSku: Surface_Pro_with_5G_11th_Edition_2077
EnclosureKind: 9
BaseboardManufacturer: Microsoft Corporation
BaseboardProduct: Microsoft Surface Pro with 5G, 11th Edition
Hardware IDs

{72026156-cbc0-580b-a38d-4d6ea43900b6} ← Manufacturer + Family + ProductName + ProductSku + BiosVendor + BiosVersion + BiosMajorRelease + BiosMinorRelease
{b2291938-cb6c-5e2a-8fdf-11f96bf8e8e5} ← Manufacturer + Family + ProductName + BiosVendor + BiosVersion + BiosMajorRelease + BiosMinorRelease
{84ebec26-0eeb-5141-adb5-7cf151cea34c} ← Manufacturer + ProductName + BiosVendor + BiosVersion + BiosMajorRelease + BiosMinorRelease
{3347040e-e50e-5507-8dbf-37ce08075624} ← Manufacturer + Family + ProductName + ProductSku + BaseboardManufacturer + BaseboardProduct
{3c0cdf6b-5c95-5f62-8dac-49a7f920ef8b} ← Manufacturer + Family + ProductName + ProductSku
{b4a7ee53-da84-5be4-82b2-0085557645fd} ← Manufacturer + Family + ProductName
{cffb5663-ee35-5530-9947-c0c5acc3fa4c} ← Manufacturer + ProductSku + BaseboardManufacturer + BaseboardProduct
{b66e46e8-55bc-50f5-9edf-506880eef090} ← Manufacturer + ProductSku
{4cd9b0b4-cce3-58e5-acf4-c28c6584fe6e} ← Manufacturer + ProductName + BaseboardManufacturer + BaseboardProduct
{10b0d934-d716-5716-a5ee-1908347fd053} ← Manufacturer + ProductName
{3da454e8-be5a-5f1a-bab9-b64f7f3d9c57} ← Manufacturer + Family + BaseboardManufacturer + BaseboardProduct
{ca2e5189-1d32-509f-88a0-d4ebcc721899} ← Manufacturer + Family
{aca387a9-183e-5da9-8f9d-f460c3f50f54} ← Manufacturer + EnclosureKind
{01597b1f-a5b0-5e2c-8659-935928dbc2cc} ← Manufacturer + BaseboardManufacturer + BaseboardProduct
{cc0aea32-ad2c-5013-8bed-cede6be8c9f4} ← Manufacturer
{e1f21aca-caf6-57c4-81e5-3238fe6258b5} ← Manufacturer + Family + ProductName + ProductSku + BiosVendor
{8e48c46e-084c-53e9-ba5d-60c4cc0e2f92} ← Manufacturer + Family + ProductName + BiosVendor
{9914cecc-aab7-570e-8fce-e86009ea6bbb} ← Manufacturer + BiosVendor

If I make a PR, do I only commit the .txt file and let Canonical update the JSON?

@sxafqmth Curious to hear about this. What did you update? `apt get upgrade`? What did that pull, that helps with the partitioning issue?

Update: Okay, I tried running with a wifi dongle. That allowed me to connect to a network, and that helped the installer get past the partitioning. I didn’t run any commands manually, just clicked through the wizard the same as before. It’s installing now… :popcorn:

It installed successfully but I get black screen after restart.

Turns out the black screen is waiting for encrypted disk passphrase. It fails to render anything at that point, but if I type the correct passphrase blind, it loads up the OS.

Tried running `qcom-firmware-extract` but that gives ā€œDevice is currently not supportedā€ :sad_but_relieved_face: