Ubuntu Concept ♥️ Snapdragon X Elite

It seems it is actually loading but it is extremely slow so after about 10 mins it started showing more lines of text over about 5 mins more and it has got this far where it has been stuck a further 5 mins:

So it’s about 20 mins in total so far so not sure if it will eventually boot but will leave it and see what happens.

The missing dependency is dislocker:


My challenge here may be that I have not yet internet-acccess up-and-running…

Hmm I have an USB Ethernet adapter for these cases.

1 Like

Over 4 hours later and it has got this far now:

It’s been like this for about the last 3 hours since it last changed.

So not looking very promising.

Looks like a kernel panic to me so that isn’t going to change
Sadly I can’t tell you why though :frowning:

Was sceptical that this works. Interesting that it got this far, also interesting that it was sooo slooww. It might be an issue with Hyper-V, though. For the fun of it I’ve created a 24.10 vm on lxd, works and boots.

jglathe@sdbox2:~$ lxc list
+-------------+---------+------------------------+-------------------------------------------------+-----------------+-----------+
|    NAME     |  STATE  |          IPV4          |                      IPV6                       |      TYPE       | SNAPSHOTS |
+-------------+---------+------------------------+-------------------------------------------------+-----------------+-----------+
| oracular-vm | RUNNING | 10.225.42.202 (enp5s0) | fd42:d39b:8c86:b2f1:216:3eff:fe32:bcba (enp5s0) | VIRTUAL-MACHINE | 0         |
+-------------+---------+------------------------+-------------------------------------------------+-----------------+-----------+
| sdbox2vm01  | RUNNING | 10.225.42.70 (enp5s0)  | fd42:d39b:8c86:b2f1:216:3eff:fe1c:c940 (enp5s0) | VIRTUAL-MACHINE | 1         |
+-------------+---------+------------------------+-------------------------------------------------+-----------------+-----------+

root@oracular-vm:~# uname -a
Linux oracular-vm 6.11.0-9-generic #9-Ubuntu SMP PREEMPT_DYNAMIC Mon Oct 14 13:46:10 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux

Host is a Windows Dev Kit 2023.
Linux sdbox2 6.12.0-061200rc5-el2-x1e-generic #20241027125202 SMP PREEMPT Sat Nov 2 12:13:56 CET 2024 aarch64 aarch64 aarch64 GNU/Linux

To try out the Ubuntu-x1e iso though, I’m afraid you need to boot it directly.

Oh that’s cool! Maybe I’ll try something like that on my T14s too, good to know that using Linux as a basic Hypervisor works.

Hyper-V is kinda weird on WoA anyway, it doesn’t have anything in their gallery - Microsoft says that it’s supposed to work but I didn’t really have luck using it and for some reason enabling it knocked the performance of my machine down, idek why

Erm… sorry, that’s another goal. Although the x1e SoC can do this (and even nested virt), it’s not that easy. QCom reserves EL2 for its own hypervisor firmware, on x1e this will be Gunyah. There is only experimental integration of Gunyah to qemu at best as of now. There are ways to claim EL2 and boot Linux into it (and have /dev/kvm), although this comes with drawbacks. Like, as of now, no adsp and cdsp support, resulting in no sound, no type-c orientation switching, no dp altmode, usually no gpu acceleration, maybe(?) no battery loading. On Windows Dev Kit this is all tolerable, but on a laptop… I’d be cautious. Let’s see what will happen. A year ago booting new QCOM SoCs to EL2 looked impossible.

2 Likes

Thanks for trying to explain it a little bit, I don’t have a lot of knowledge about the Arm architecture though. I only actually used a VM a lot when I had my Apple Silicon Mac and virtualized Windows for some games. I understand that that’s not really comparable but I just wanted to say that if I used VMs it would only be “for fun”. Oh and… I think Docker containers are a different story right?

Docker containers are available and just work. They don’t use full-featured VM isolation, mostly cgroups afaik. Containers usually run directly on the host kernel (in their own resource space).

1 Like

Thanks for letting me know this works.
I was hoping to make the host Windows so I could also experiment with some Windows Server 2025 VMs too which actually install normally and performance is really good and perhaps better than on an Intel chip.
I may try to make a host Linux then virtualise that way if this works as I am getting a second device soon.

Thanks for explaining the current progress and limitations. It’s interesting to know and seems there is some way to go before this will work seamlessly on Hyper-V as it does on x86/x64. I wouldn’t mind those limitations in fact as was planning to run it as a web server if there is a way to get it to install and I don’t actually even need an X environment as a terminal will do although I do like to have the option.
I would be interested to test a build if anyone is able to put one together and whilst I am a developer myself, I wouldn’t know where to start with compiling my own kernels as I am more PHP/.NET/SQL.

Hi, I was wondering if there was a 22.04 concept for Snapdragon X Elite?

I figured out the super slow booting issue on HyperV, there are some missing kernel patches. I made a prototype NixOS boot image with them. All I did was use Microsoft’s fork of the linux kernel and built it in a NixOS boot image. I never bisected the exact relevant commits, however looking at Microsoft’s commit history, one can make an educated guess.

If someone knows how to build an Ubuntu installer image with a customer kernel, I think it should work. Here is my experiment: GitHub - starside/Nix-On-Hyper-V-Gen-2-X-Elite: Nix derivation to build iso installer that will run on Windows 11 Hyper V. Uses the Microsoft Linxus WSL2 kernel 6.6.

If you try this, I noticed the installer image works fine, but the installed image does not. It is possible to get a fully functioning install by using the installer to install Nix, then manually install the custom kernel.

I’d rather install Ubuntu, but I used nix because its so easy to make a custom installer.

3 Likes

Hello. First of all, thank you to everyone for all of your work on this project. I am trying to dual boot a Lenovo ThinkPad T14s G6 (X1E) that was running Windows 11 Pro. However, after following the “alongside Windows Boot Manager” option, kind of following defaults, the Grub bootloader either froze or did not launch into Ubuntu. Booting to Windows continued to work however. Any help with this or things to try would be appreciated. I wasn’t sure if this rose to the level of a reproducible bug report.

1 Like

Using a T14s only had one issue, the Grub hang a number of people noted above. For me it would mostly work if I had a USB-A device inserted. When I saw the package update for grub-common download today I reran sudo update-grub without any USB devices installed. It’s worked without issue since. No idea if this is related something to try if you are having issues. It makes we wonder if there is something weird with the EFI variables going on.

Thanks for your works, got my Acer Swift 14 AI boot up and installed, you just need to edit the grub.cfg and set “cmd” and “dtb” same as the Thinkpad T14s. After installation, copy firmware manually by checking the qcom-firmware-extract script.

Not sure if anyone else is having the same problem, but the App Center (snap-store) is still broken for me. Crashes on startup:

$ snap-store
Gtk-Message: 14:16:53.182: Not loading module “atk-bridge”: The functionality is provided by GTK natively. Please try to not load it.
Segmentation fault (core dumped)

Not a showstopper though, the command line snap command still works.

Hi, could you specify exactly what your grub.cfg looks like? It looks like your Acer Swift 14 is running on X Elite, the one available in Europe is X Plus (X1P64100) I will keep playing around to try it to boot


Update: I got it to work on my snapdragon plus Acer Swift 14 AI, I will update my bug with current status. Everything basically working except brightness adjustment and touchpad and audio.

Update2: Added more info here: Bug #2086235 “[X1P] Request: Add support for Acer Swift 14 AI SF...” : Bugs : ubuntu-concept
Cool to see it works on X Plus :slight_smile:

1 Like

Nice one. Yes, mine are shipped with X1 Elite. So, basically X1 Plus can use the same drivers as X1 Elite.