3 ms·
Dumb question ... If an OS already supported ARM64, which Elite X is, why would any more work need to be done to support it?
by tiffanyh 2y ago
Dumb question ...
If an OS already supported ARM64, which Elite X is, why would any more work need to be done to support it?
- ComputerGuru 2y agoARM isn’t like x86 and generally doesn’t self-describe its hardware via some specification or interface. 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).
- gjsman-1000 2y agoThis is also because ACPI is a very heavy and painful specification that even regular computer manufacturers don’t get right. 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.
- ComputerGuru 2y agoTrue. But that’s really just another way of saying “at worst, ACPI can still require a small amount of the work that is always required for ARM hardware” if you squint and look at it from a glass-half-full perspective!
- gjsman-1000 2y agoI still like ACPI, don’t get me wrong, for what it does. At the same time though, there is argument to be had for “we wrote a device tree, therefore it works” versus “it 95% works, good enough, so nobody’s going to fix the rest anytime soon.” 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.
- talldayo 2y ago> Windows XP won’t install on a 12700K There are very obvious architectural reasons why this doesn't work, methinks.
- gjsman-1000 2y agoYes, but don’t downvote me, as Windows XP is still x86. This only shows my point - that if it was only about architecture, this would be OK.
- talldayo 2y agoWindows XP was designed in an era where heterogeneous system configuration means hard-fail at boot. I don't even think modern Linux was able to boot Alder Lake unless you had the E/P core kernel update or disabled one set of cores entirely.
- yjftsjthsd-h 2y agoAre there? I would easily accept that it might struggle with drivers, but what architectural reasons would stop XP working on brand new x86 hardware? The CPU should be backwards compatible, boot will be a little funky if you're on a pure UEFI system but some web searching seems to show people booting XP on UEFI with only a bit of awful hacks, ... and I'm blanking on what else would be a problem, honestly. 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.
- adrian_b 2y agoThe initialization of the CPU, the control of its supply voltage and clock frequencies, the memory controllers and all the peripheral controllers, like PCIe, USB, display, GPU, video codecs, sound, video camera and so on. 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.
- gjsman-1000 2y agoUseful information on this specific chip: https://www.qualcomm.com/developer/blog/2024/05/upstreaming-linux-kernel-support-for-the-snapdragon-x-elite https://www.qualcomm.com/developer/blog/2024/05/upstreaming-...
- adrian_b 2y agoThe roadmap for the next 6 months is very nice. 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).