OpenBSD added initial support for Qualcomm Snapdragon Elite X after 1 day
undeadly.org
undeadly.org
Having a standard platform with support/documentation from the vendor could mean that Snapdragon Elite X could be a solid choice that is easy to support from an OS maintainer point of view.
https://www.openbsd.org/arm64.html
To be fair, that never really mattered.
If an OS already supported ARM64, which Elite X is, why would any more work need to be done to support it?
Admittedly it’s not a crazy amount of work at a baseline, but device-specific information needs to be added for the kernel to understand address maps, available peripherals, linker shenanigans, and more. This is (partiallly) what device tree overlay blobs are for on Linux (and why you can’t just run Windows/AARCH64 on any hardware of your choosing).
For example, just recently, I bought a HP Victus 15 with an RTX 3050. Tried installing Linux, turns out there’s a BIOS bug with the ACPI implementation, with no currently documented fix, that completely breaks wake from sleep.
Even though Windows runs on basically anything without a Device Tree; it’s something of an illusion. Old Windows builds might not run on modern processors despite the same instruction set (Windows XP won’t install on a 12700K), and Windows automatically downloading drivers covers up many things before you notice.
There are very obvious architectural reasons why this doesn't work, methinks.
Edit: Oh, just now noticing your comment about P/E cores being a problem. Maybe? I'm surprised that that would break it, but maybe if it's explicitly checking that the CPU cores all match or something? Still seems like a minor, self-inflicted, and easily-patchable problem? Not that it would handle P/E cores well, just that I'd expect it to run on them.
ARM is attempting to fix this with a certification program called SystemReady SR; but it’s optional and hasn’t caught on outside of servers.
There is a huge amount of work needed to support any kind of computer, beyond the ISA of its CPU. All the device drivers required by a modern computer may total millions of LoC.
Unlike for the Intel-AMD computers, for Arm systems few computers observe any standards, though Elite X implements ACPI, which made its initial support much easier than for the older Arm computers.
With the help of ACPI, OpenBSD has succeeded to use NVMe (i.e. a SSD), USB (any peripherals) and the display as a simple frame buffer.
This would be enough to use such a laptop as a server, but to use it as a personal computer a lot more would be needed. ACPI shows a ton of undocumented peripherals. Using those will have to wait the Linux support promised by Qualcomm. After open-source device drivers would be available, they could also be ported to any other operating system.
https://www.qualcomm.com/developer/blog/2024/05/upstreaming-...
If it were really accomplished, then the computers with this family of Qualcomm CPUs would become a viable alternative to the computers with Intel or AMD CPUs, for the people who want to own a computer (as opposed to those who are content to rent a computer from Apple, Microsoft or the like).