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

Qualcomm Snapdragon X Elite
(Image credit: Qualcomm)

Qualcomm is making good progress on adapting its new Snapdragon X Elite laptop CPU for Linux use. The mobile SoC manufacturer revealed that it has laid a lot of the groundwork already to get the Snapdragon X Elite running the Linux operating systems. However, Qualcomm is far from done, as there's still a lot of development work needed to get the X Elite into a fully operational state in Linux. Upcoming Linux kernels should enable full support for all the chip's features.

Qualcomm prides itself on its Linux enablement work and has prioritized Linux enablement in all of its previous Snapdragon laptop CPUs, typically announcing Linux support one or two days after launch. The Snapdragon X Elite continues that pattern, with Linux enablement being announced the very next day after its original October 23, 2023 debut.

That's in stark contrast to Apple, which so far hasn't provided much in the way of official support for Linux — Asahi Linux continues to work on supporting the M1 and M2 processors, and presumably M3 and Apple M4 silicon going forward, but most of that work appears to be coming from the community rather than from Apple itself.

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. Dual-booting is also possible for users who want to run Windows and Linux installations simultaneously on their X Elite-powered machine.

Other critical functions that have already been implemented include the DWC3 sound driver, reference board support, ADSP/CDSP support, multimedia clocks, PCIe/eDP/USB Phy, and system caching through NVMe SSDs over PCIe.

Functions that are being worked on for future iterations of Linux include additions to battery support, on-board display connectivity, external DisplayPort connectivity, sleep and wake-up functions on the GPU, camera support, video support, better CPU frequency support, and speaker/mic/headset enablement. These functions are expected to arrive in Linux 6.10 and 6.11.

Qualcomm is also working on fixing a problem related to the UEFI boot process pertaining to device trees. There's a problem right now where there's no standard way of selecting a device tree to pass onto the Linux kernel if more than one devicetree blob is packed into the firmware package flashed onto an X Elite laptop.

Further out, Qualcomm provided a six-month roadmap of features it's still working on. These features include end-to-end hardware video decoding within Firefox and Chrome, GPU and CPU performance optimizations, power optimizations (suspend/DCVS), and easy/more accessible installations of Ubuntu and Debian for Qualcomm X Elite users.

For diehard Linux enthusiasts, Qualcomm has provided an experimental raw disk image for a Debian installer that you can use at your own risk. Technically, Linux is functional on Qualcomm X Elite processors right now, but Qualcomm's implementation is far from complete, meaning you can expect to run into bugs and a number of non-working features that will otherwise work just fine in Windows on ARM.

Aaron Klotz
Contributing Writer

Aaron Klotz is a contributing writer for Tom’s Hardware, covering news related to computer hardware such as CPUs, and graphics cards.

Read more
Qualcomm
Qualcomm teases mini desktop PC, announces 8-core Snapdragon X chip to bring Arm-powered Windows CoPilot+ laptops down to ~$600
Qualcomm Snapdragon x Plus 8-core slides
Qualcomm claims it owns 10% of U.S. Windows PC retail market for devices priced $800 and up
Lenovo Snapdragon X mini-PC
Snapdragon X Arm chips are coming to the desktop PC market — Lenovo launches two new mini-PCs powered by Qualcomm
Lenovo Snapdragon X mini-PC
Next-gen Snapdragon X2 chips for PCs to boost core count from 12 to 18, says report
Geekom Mini PC desktop style models from left to right: IT15, QS1, and A9 Max. The Mega Mini G1 tower style Mini PC is also visible in the background.
Geekom introduces new Mini PCs at CES 2025 — Snapdragon X Elite, Ryzen AI 9, and Core Ultra 9 all represented
AMD
AMD launches Ryzen AI 300 and 200 series chips for laptops
Latest in Linux
Noble Numbat wallpaper with clocks
An 'unfortunate incident' hits latest Ubuntu 24.04 point release
Linux kernel timer frequency raised from 250 Hz to 1,000 Hz
Increased Linux kernel timer frequency delivers big boost in AI workloads
LinuxPDF screens, from a project by Ading2210
Minimal Linux OS runs in a 6MB PDF document in Chrome — LinuxPDF leverages RISC-V emulator
DistroWatch socials on the web
Facebook admits that the Linux topic crackdown was 'in error' and has been fixed
Linux topics being banned by Facebook
Facebook flags Linux topics as 'cybersecurity threats' — posts and users being blocked
Linux
Linux kernel source expands beyond 40 million lines – it has doubled in size in a decade
Latest in News
Inspur
US expands China trade blacklist, closes susidiary loopholes
WireView Pro 90 degrees
Thermal Grizzly's WireView Pro GPU power measuring utility gets a 90-degree adapter revision
Qualcomm
Qualcomm launches global antitrust campaign against Arm — accuses Arm of restricting access to technology
Nvidia Ada Lovelace and GeForce RTX 40-Series
Analyst claims Nvidia's gaming GPUs could use Intel Foundry's 18A node in the future
Core Ultra 200S CPU
An Arrow Lake refresh may still be in the cards with only K and KF models, claims leaker
RX 9070 XT Sapphire
Lisa Su says Radeon RX 9070-series GPU sales are 10X higher than its predecessors — for the first week of availability
  • ThomasKinsley
    I'm seeing a pattern jumping out here.

    - SemiAccurate alleges Qualcomm chip runs atrociously on Windows. Qualcomm blames MS for poor early sample performance.
    - User mod sees Windows 11 ported to Nintendo Switch. Can't run basic programs.
    - Qualcomm officially supporting Linux.

    It certainly appears that Qualcomm is hedging their bets by having a backup solution in case Windows doesn't work, but there is another issue here that I'm wondering about. I'm sure other members will be able to express this more accurately than I am able, but one of the unique problems on ARM/Mobile development (Android is the best example) is that it needs a custom ROM per unique hardware. There is no universal OS that fits all. Windows has previously gained its users by being easy to install on a wide variety of PCs regardless of the parts chosen. Is that no longer the case on ARM? Are we seeing that universality come to an end and does the OS need to be optimized per device?
    Reply
  • JamesJones44
    ThomasKinsley said:
    Windows has previously gained its users by being easy to install on a wide variety of PCs regardless of the parts chosen. Is that no longer the case on ARM? Are we seeing that universality come to an end and does the OS need to be optimized per device?
    In my opinion this is very much a Windows problem. Many Linux distros run well on both x86_x64 and ARM 32/64 (also seen in the Switch "hack"). macOS actually still runs on both x86_x64 without issue. I think the WinTel runs deep within Microsoft and for some reason they either can't or are not actually interested in seeing it succeed. Back in the RT days these things were difficult, but today supporting ARM and x86_x64 in a single product is fairly strait forward.
    Reply
  • CParsons
    Seems like everyone wants a piece of Snapdragon X Elite.
    Reply
  • HaninTH
    ThomasKinsley said:
    I'm seeing a pattern jumping out here.

    - SemiAccurate alleges Qualcomm chip runs atrociously on Windows. Qualcomm blames MS for poor early sample performance.
    - User mod sees Windows 11 ported to Nintendo Switch. Can't run basic programs.
    - Qualcomm officially supporting Linux.

    It certainly appears that Qualcomm is hedging their bets by having a backup solution in case Windows doesn't work, but there is another issue here that I'm wondering about. I'm sure other members will be able to express this more accurately than I am able, but one of the unique problems on ARM/Mobile development (Android is the best example) is that it needs a custom ROM per unique hardware. There is no universal OS that fits all. Windows has previously gained its users by being easy to install on a wide variety of PCs regardless of the parts chosen. Is that no longer the case on ARM? Are we seeing that universality come to an end and does the OS need to be optimized per device?
    Possibly, but since most reasonable PC outlays, today, have way more storage than typical mobile devices, packing on several "common hardware setup" ROMs in a master distribution shouldn't be an issue.

    I know, this can be an problem for some purist that prefer a minimalist approach to distributions, but until/unless they can get some universal components working, this might have to be the approach in the near term.

    For me, much like my hatred of CLI when we have vast resources to utilize comprehensive GUIs for every function, having a bigger distro to deal with is not much of a concern, as even a 1TB distro won't make a dent in my data storage systems. Games are pretty close to this range already.
    Reply
  • cknobman
    This is why Snapdragon will be getting my money.
    I'm done with Windows, its ad ridden spyware trash now.
    Apple wants to be a dictator and makes products for people that dont ask questions and do what they are told.

    Linux is the platform I will be moving forward with.
    I only have a windows laptop because my company forces me to do my job on it.

    Have not bought a new laptop, and been waiting on purpose, because Intel and x86 in general is shit.
    The only mobile platform I've bought is a Steam Deck which runs on Linux.
    I love that thing but looking forward to some of that ARM battery life goodness.
    Reply
  • ezst036
    ThomasKinsley said:
    I'm seeing a pattern jumping out here.

    - SemiAccurate alleges Qualcomm chip runs atrociously on Windows. Qualcomm blames MS for poor early sample performance.
    - User mod sees Windows 11 ported to Nintendo Switch. Can't run basic programs.
    - Qualcomm officially supporting Linux.

    It certainly appears that Qualcomm is hedging their bets by having a backup solution in case Windows doesn't work, but there is another issue here that I'm wondering about. I'm sure other members will be able to express this more accurately than I am able, but one of the unique problems on ARM/Mobile development (Android is the best example) is that it needs a custom ROM per unique hardware. There is no universal OS that fits all. Windows has previously gained its users by being easy to install on a wide variety of PCs regardless of the parts chosen. Is that no longer the case on ARM? Are we seeing that universality come to an end and does the OS need to be optimized per device?

    JamesJones44 said:
    In my opinion this is very much a Windows problem. Many Linux distros run well on both x86_x64 and ARM 32/64 (also seen in the Switch "hack"). macOS actually still runs on both x86_x64 without issue. I think the WinTel runs deep within Microsoft and for some reason they either can't or are not actually interested in seeing it succeed. Back in the RT days these things were difficult, but today supporting ARM and x86_x64 in a single product is fairly strait forward.

    To my understanding, you're actually both correct.

    ARM isn't like x86 where there is much more commonality across CPUs and software can have a "give" to it and keep working. To that extent, no, AFAIK there can't be a "universal OS" in the ARM world. Each CPU requires CPU-specific bits to even begin.

    And while this certainly is a Windows problem, it really isn't a Windows problem. What I mean is, only Microsoft has Windows source code. So Qualcomm cannot really "contribute" as Linux users understand contributing. Meaning: every ARM CPU that Windows will ever support will only be supported once it gain's Microsoft's blessing. Qualcomm has to wait for Microsoft. With Linux, Qualcomm can just go in and get it done and then guess what - its done. Microsoft is a gatekeeper, Linux has no equivalent gatekeeper.

    ARM fragmentation will prove to be a big challenge to Windows, but Linux is designed quite well to handle it.

    Hopefully someone with more knowledgeable than me can clear this up.
    Reply
  • JamesJones44
    ezst036 said:
    ARM isn't like x86 where there is much more commonality across CPUs and software can have a "give" to it and keep working. To that extent, no, AFAIK there can't be a "universal OS" in the ARM world. Each CPU requires CPU-specific bits to even begin.
    The ISA for ARM versions is common for all ARM based processors. Almost all of the code for one ARM CPU can be shared and executed on another ARM based processor that runs the same version of the ISA. Now, just like Intel and AMD there can be differences in performance handling based on the CPU architecture (Hybrid e cores from Intel for example) which can require special handling, but this isn't a common thing.

    On the server side there are several different ARM processors that all work out of the box with Alpine Linux or Ubuntu (and other distros) for example, there is no special handling for an Amazon Graviton vs Ampere Altra with Google Cloud/Azure for example. Even in various IoT/DYI board, there are may different ARM based CPUs and Alpine or Ubuntu can still be installed no problem CPU wise. Drivers for the various I/O expansion is where trouble starts, not the CPUs.

    This is the whole reason to have a common ISA. The fragmentation in ARM is a perception, it's not a real issue.

    Also we are talking about support exactly 1 vendor for Windows at the moment, Qualcomm. Even for previous MS attempts they were only supporting 1 vendor.

    I can't buy it's not a Windows problem when you have a common ISA and several other OS's that support just about any ARM CPU ever made and Windows can't support a single vendor.
    Reply
  • mitch074
    JamesJones44 said:
    The ISA for ARM versions is common for all ARM based processors. Almost all of the code for one ARM CPU can be shared and executed on another ARM based processor that runs the same version of the ISA. Now, just like Intel and AMD there can be differences in performance handling based on the CPU architecture (Hybrid e cores from Intel for example) which can require special handling, but this isn't a common thing.
    So it is for the x86 world. However, contrary to when Linux started and there was 5-6 makers of x86 processors (Intel, AMD, Cyrix, TI etc.) and half a dozen generations (386, 486, 586, PPro and some intermediaries), now you have three of them (Intel, AMD, Via) with little changes for the last decade or so.
    You can still build a 486 binary and it will run on all of them, but you will lose a truckload of performance on the way. ARM is more fragmented but each version is less likely to run with a bunch of other hardware connected to it.
    JamesJones44 said:
    On the server side there are several different ARM processors that all work out of the box with Alpine Linux or Ubuntu (and other distros) for example, there is no special handling for an Amazon Graviton vs Ampere Altra with Google Cloud/Azure for example. Even in various IoT/DYI board, there are may different ARM based CPUs and Alpine or Ubuntu can still be installed no problem CPU wise. Drivers for the various I/O expansion is where trouble starts, not the CPUs.
    As said above, you can build a one-size-fits-all binary, and it will run, but you lose performance. Also, the main problem with ARM is the firmware used and the extra hardware plugged into it.
    JamesJones44 said:
    This is the whole reason to have a common ISA. The fragmentation in ARM is a perception, it's not a real issue.
    It is one, but it's neither new nor is it specific to ARM.
    JamesJones44 said:
    Also we are talking about support exactly 1 vendor for Windows at the moment, Qualcomm. Even for previous MS attempts they were only supporting 1 vendor.
    So did they with Alpha, with x86-64 AKA AMD64... But the latter ended up dominant.
    JamesJones44 said:
    I can't buy it's not a Windows problem when you have a common ISA and several other OS's that support just about any ARM CPU ever made and Windows can't support a single vendor.
    Because "other OS'es" is pretty much restricted to Linux (including Android), BSD and Minix - and all of these are open source.
    As a matter of fact, the main problem isn't the CPU, but build-specific driver blobs for stuff like controllers (audio, I/O, graphics etc.) As a matter of fact, as soon as an open source driver comes out for a piece of hardware, a bunch of homebrew OS versions come up. On Windows, nope nope nope.
    Reply
  • Wookey
    This is good news, but I'm surprised that the biggest issue with 'Linux on Qualcomm arm laptops' is not mentioned. That is that the firmware (on the Lenovo X13s, the only laptop so far available) does not allow Linux to boot in EL2 so you can't run a hypervisor, and thus VMs, properly. The Qualcomm firmware boots the OS in EL1 which is fine for running a normal OS, but a hypervisor needs extra privilege. Proper firmware boots in EL2 so the OS can decide. For Windows they implemented a proprietary security mechanism to talk back to the firmware for hypervisor code to get the necessary privilege, but that's not available for Linux (or any other OS) to use.
    So yes Linux works great on the X13s so long as you didn't need a VM. Note that the X13s uses the Snapdragon 8cx Gen 3, not the newer X Elite (X1E-84-100).
    That's not a matter of the Linux support in the kernel, its a matter of the UEFI/firmware/'BIOS' implementation, and some fool at Qualcomm only cared about making Windows work. Lenovo and Linaro have not been able to get this fixed yet. I sincerely hope they (Qualcomm) are not going to put the same dumbness in newer laptops using the Elite X. You can have all the kernel support you like, but if it can't be used because of stupid firmware decisions, it doesn't help you much.
    Reply
  • syadnom
    Why does it always seem like someone has to lash out against apple not supporting an operating system they have nothing to do with? Oh, apple wont contribute to linux running on apple silicon! it ruins the credibility of the article. Apple makes Apple products, they aren't into linux. They don't run linux. Nothing about Apple should suggest that they do anything to make linux run on Apple silicon.

    In other news, Apple not helping microsoft port windows to apple hardware either. obviously.

    Windows on arm is trash. There are very few machines you can even buy and those are barely passable. Almost certainly the best machine is the lenovo x13s and it's pretty meh. Partially from poor software support but also it's just not fast and you spend too much time hitting the CPU if you do anything intensive and that soaks up the battery making it basically no better than an intel model.

    Don't get me wrong, I'm really looking forward to decent performance arm laptops. I would take apple M1 level performance here. I run a macbook pro m2 max 16 as my daily driver primarily because of battery and cpu performance. I have no specific love for macos (though I don't know how I'd live without imessage with a keyboard...), I need to be untethered and not pack a power supply everywhere and apple silicon on M1 and now M2 have been the only chips/systems that have provided that.


    I hope they get linux and wayland to be first-class software on x elite series and they are M1-M2 level performance AND they put it in a nice box.
    Reply