Qualcomm goes where Apple won't, readies official Linux support for Snapdragon X Elite | Tom's Hardware

Hanrahan@slrpnk.net to Linux@lemmy.ml – 489 points –
Qualcomm goes where Apple won't, readies official Linux support for Snapdragon X Elite
tomshardware.com

Most of the functionality is present but many important bits are still being developed.

69

One of the real downsides of ARM is, it seems, the relative lack of standardization. An x64 kernel? It'll run on most anything from the last ten years at least. And as for boot process, it's probably one of two options (and in many cases one computer can boot either legacy or EFI).

ARM, on the other hand...my raspberry pi collection does one thing, my Orange Pi does something else, and God help you if you want to try swapping the Orange kernel for the Raspberry (or vice versa)!

Arm:

Somehow, the kernel has been loaded and we have transferred control into it.

But we still need a hundred blobs and if the kernel needs to do something it has to make a call to the firmware.

This is what we get when you use Broadcom

If the system is SystemReady then the EFI boot chain is fairly straightforward now. My current workstation just booted off the Debian usb installer like any other pc.

A standard called SystemReady exists. For the systems that actually follow its standards, you can have a single ARM OS installation image that you copy to a USB drive and can then boot through UEFI and run with no problems on an Ampere server, an NXP device, an Nvidia Jetson system, and more.

Unfortunately it's a pretty new standard, only since 2020, and Qualcomm in particular is a major holdout who hasn't been using it.

Just like x86, you still need the OS to have drivers for the particular device you're installing on, but this standard at least lets you have a unified image, and many ARM vendors have been getting better about upstreaming open-source drivers in the Linux kernel.

I'm hoping RISC-V will start showing up in consumer products soon. Hopefully the first ones will be Linux laptops. Windows doesn't have RISC-V support yet, does it? This might be the opportunity for Linux to become the default for RISC-V.

Anti Commercial-AI license

Sad android already dropped RISC-V support

Woah. Got a source for that?

Anti Commercial-AI license

Thanks for the link.

a potential reason might be the very fragmentary nature of the RISC-V ISA, which makes a standard RISC-V kernel very complicated if you want to support more than a (barebones) profile. This is also supported by a RISC-V mailing list thread, where ‘expensive maintenance’ is mentioned for why Google doesn’t want to support RISC-V.

That might change. It wouldn't be surprising if Google jumped back onto the train once RISC-V became popular again. But that might take a while.

Anti Commercial-AI license

wouldn't risk-v be worse in terms of standardisation? At least for advanced functionality

I think a lot of the problem is how proprietary some of the hardware is. For instance, the Raspberry pi only runs the raspberry pi kernel which has a lot of proprietary blobs.

Meanwhile boards from Pine64 don't need proprietary software to boot. The achieve this by being selective with the hardware and hardware vendors.

I don’t think this is as much of a problem, proprietary hardware is a thing on x86 too. The two big problems are a lack of boot standardization, and vendors not upstreaming their device drivers. A lack of standardization means it is difficult or impossible to use a single image to boot across different devices, and the lack of upstream drivers means even if you solved the boot process, you won’t be able to interface with peripherals without using a very custom kernel.

True, one of the issues of Android is also cost and development time. Manufacturers want to develop a product as cheap and fast as possible to keep up with demand.

That’s true for all commercial development. No company wants to invest more than they have to. Upstreaming does save time in the long run, but not in the short term.

Technically Google could of made upstreaming easier or even the default but they instead modified the kernel a bunch and then encouraged bad practices in development.

There are of course trade offs to everything though. For instance, Qualcomm could do better.

I mean, you can get the Pi to use EFI and just boot generic images.

It needs proprietary software to boot

Most x86 EFIs are, so the comparison is not really fair.

That is only sort of true. You don't need proprietary software on a live USB to boot x86. That's not the case with the Raspberry Pi as it boots from its GPU

“So far, Qualcomm has most of the critical functions working inside Linux, specifically version Linux 6.9 that was released not too long ago. These critical functions include UEFI-based boot support along with all the standard bootloaders like Grub and system-d.”

The actual downside is, that you can't have generalized drivers.

2 more...

Why is this surprising? Qualcomm releases Linux BSPs for all their mobile SoCs.

That's Android not mainline. You can't easily upstream the changes and you are stuck with a single kernel version.

They regularly uplevel the kernel, and not all Android Linux code is inherently incompatible with mainline.

Tell that to my phone. Its possible some are worse than others but for Android devices the track level isn't good. Just check out the mainline status of PostmarketOS devices.

the age of the linux phone is approaching. People keeping saying it isn't they're wrong, i don't know why they think otherwise.

? the age of the Linux phone has been here for years with Android

android is not the linux phone.

The chromebook would the desktop linux workstation if that were true.

Go install blender on a chromebook, i'll wait.

cons:

  • has to enable linux containers
  • can't use native filesystem for emulated applications because it's a completely different environment
  • potential for performance issues given that it's literally a non standard environment
  • wastes a bunch of disk space
  • requires an entire secondary system to be maintained and updated

pros:

  • can technically run linux applications
2 more...

Bad example because you can. With the linux container you can install any linux app and it works on a Chromebook. Appears in the app search too. But I definitely get what you mean, Chrome OS and Android may use the Linux kernel but they'll never be Linux

you say bad example, yet you literally have to jump through hoops to do it. I think it's a bad fucking distro of linux, if it requires you to setup and configure and entire fucking container system in order to run non google approved applications, specifically those that debian hosts, because i'm not sure it lets you run other containers.

Chrome OS and Android may use the Linux kernel but they’ll never be Linux

yes, my point here is that android is linux in the same way that you can install blender on chromeos using an entire secondary system, and bullshit containerization, while i can just tell my package manager to install it, and it fucking installs it. And then i can just fucking open it.

By this logic windows is also a fucking linux system because you can use WSL on it.

By this logic windows is also a fucking linux system because you can use WSL on it.

Okay I never thought of it this way and I actually completely understand your point now.

exactly! It's such a loose definition, even though it fits none of the standard modes of operation for linux. If something that broadly not linux counts as linux, we might as well count BSD as a subset of linux, even though it's completely different.

WSL runs Linux in a VM. They have made it easier but it is by no means native.

By contrast, while the other poster thinks Blender is too hard to install on ChromeOS, it is nevertheless running right on the Linux kernel. The only reason you have to jump through hoops is because Google wants to make it hard.

The same is true when you run Android apps on Linux. They run natively on the kernel. There is really not much difference between running. Android on Linux and running actual Linux apps via Docker or Podman. Running Blender on ChromeOS is the same.

yeah and technically containers aren't native either? They do run natively on the kernel of the existing machine, but the environment around them is entirely manufactured.

ChromeOS itself isn't even clear about whether it's a VM or a container, it says it's both.

My problem here isn't that you can run android apps on linux, or vice versa, my problem here is that android and linux are two fundamentally different systems, this is like putting a 13inch tire on a car that normally uses 21s. It'll "technically" work, but good luck getting around at any effective pace.

2 more...
3 more...
3 more...