Hacker News new | ask | show | jobs
by sidkshatriya 769 days ago
I am excited about the prospect of Linux on another powerful aarch64 platform like Snapdragon Elite.

But, as far as I can tell from the diagram on the link shared, you will boot into EL1 and not EL2. This means that you cannot run a hardware accelerated VM on KVM (via something like qemu).

This makes a Snapdragon Linux laptop not as useful. BTW Asahi Linux on Apple Silicon enters on EL2 which allows qemu+KVM.

Entering on EL1 instead of EL2 seems to be be an outstanding issue with current Snapdragon based Linux laptops too. Can anybody correct me here if I'm wrong ?

> In short, our roadmap for the next six months includes work in these areas:

> End-to-end hardware video decoding, on Firefox and Chrome

> Implementation of the libcamera-SoftISP camera solution

> GPU and CPU performance optimizations

> Power optimizations (Suspend/DCVS)

> Making our firmware openly available (in Linux-firmware)

> Access to easy installers (Ubuntu and Debian)

"Making our firmware openly available (in Linux-firmware)" is a big one. How are firmware updates currently distributed ? People using Linux Laptops probably don't want to be signing into some Qualcomm website to get latest firmware updates. Also downloading firmware updates from some random link either would not instill a lot of confidence either.

I feel these 2 big items need to be addressed before Linux on Snapdragon can be a truly attractive option.

6 comments

The ARM vendors are annoyingly stingy about providing access to this. You’ll probably have to use Qualcomm’s proprietary hypervisor and even then it’s not clear whether they’ll give you enough access to run a VM.
> You’ll probably have to use Qualcomm’s proprietary hypervisor

This one?

https://github.com/quic/gunyah-hypervisor

Yes
You'll have EL2 on Snapdragon X Elite.

If it's using the design that I prototyped while at Qualcomm, it's jumping to EL2 at ExitBootServices when the boot to Linux at EL2 option is enabled.

Didn't look at a release firmware yet to see what was the final impl, but was told that it did ship :)

The boot flow diagram on the article indicates the user gets dropped off into EL1 and not EL2, sadly though. The article is from Qualcomm so I would assume this the current official situation.
Out of the box that's true.

The system firmware will ship with 3 boot modes selectable via the setup interface:

- Windows (this one has the Windows tcblauncher escalated to EL2 through Secure Launch)

- Linux (this one stays at EL1)

- Linux w/ KVM (which jumps to EL2 before kernel handover)

This would be wonderful. However one would need to verify when these laptops actually start shipping. Let’s hope for the best !
Is this a "arm system ready " uefi firmware? Curious if you tested ESXi for aarch64 edition.
Arm SystemReady SR/ES assumes sane ACPI tables. That's something that Snapdragon X (1st-gen) very much doesn't have. The ACPI tables present there are pretty much only usable for Windows if you want full functionality.

Yeah ESXi-Arm is bootable, but a number of patches were required.

> "Making our firmware openly available (in Linux-firmware)" is a big one. How are firmware updates currently distributed ?

The "linux-firmware" repo is the standard place to put it, my reading is that Qualcomm are doing this in the right way.

> The "linux-firmware" repo is the standard place to put it, my reading is that Qualcomm are doing this in the right way.

Indeed, Linux-firmware is the correct way to distribute. Qualcomm is currently _not_ doing this for all their Snapdragon Elite firmware (please read the linked article).

The last time I checked, audio and video firmware wasn't there.
Pointer for those not familiar with Arm exception levels: https://developer.arm.com/documentation/102412/0103/Privileg...
«linux-firmware» is the goto place to dump firmware that goes to all linux distributions
Yes, "linux-firmware" is the way to do it -- however Qualcomm is currently NOT doing it for all their Snapdragon Elite firmware (as per the linked article). This is on their TODO list.
Tangentially related but I wish we had something similar to LVFS but for IoT devices.

That way, you would only need to have one hub (Homey, Home Assistant, IKEA, Apple TV, etc.) and it would be able to keep all your stuff up to date and control everything via Matter. Right now, we are slowly moving towards a future where any hub can control any device, but you still need to run the vendor hub if you want firmware updates.

I think that for many use-cases containers already replaced VMs even for developers. And you obviously can't run accelerated x86 VMs either way. So probably won't be a big issue.
> And you obviously can't run accelerated x86 VMs either way.

But Qualcomm should allow users to run accelerated aarch64 VMs on a Snapdragon Elite (just like users can on Asahi Linux).

> I think that for many use-cases containers already replaced VMs even for developers.

If you're happy with running containers then you'll be fine. However, many developers like VMs for the extra isolation they bring and other features like running a full Linux distribution. Example: You may want to run Ubuntu on your Snapdragon Elite system but also want to run a full aarch64 NixOS within a VM.

Worst case there's always UserModeLinux.