Linux on Snapdragon X2: what changes for AI in your code
Qualcomm confirmed at Snapdragon Summit that Linux support is coming to the Snapdragon X2 series. If you ever tried to install a distro on a laptop with last generation's X Elite, you know why this made the news. Linux on Snapdragon X2 could be the first time an ARM laptop with a real NPU works for the dev who lives in the terminal, runs Docker all day, and wants to test local AI models without paying for an API.
The official announcement is on the Qualcomm blog. It comes wrapped in the "agentic AI PCs" pitch, but I want to talk about what matters to people who write code.
What Qualcomm announced, minus the marketing
In short: the X2 line, the one with third-gen Oryon cores and a Hexagon NPU around 80 TOPS, will have Linux as a supported target. It's no longer "the community will figure it out." At least that's what the company promises.
The context matters. With the X1 generation, Linux arrived late and in pieces. Each laptop model needed its own device tree. Some machines booted and others didn't. Basic things like audio, webcam, and suspend worked on one model and broke on the next. Experimental Ubuntu images came out, Linaro pushed a lot of code into the kernel, and still the honest advice for devs was: buy it if you want to tinker, not if you want to work.
With the X2, the promise is to start with support planned at launch, not a year later. If that holds, the math changes.
Why Linux on Snapdragon X2 matters if you use AI in your code
Today, if you want local AI on a laptop, you basically have two paths:
- A Mac with Apple Silicon. It runs models well thanks to unified memory, but it locks you into macOS.
- An x86 laptop with a dedicated GPU. It runs well, gets hot, makes noise, and lasts three hours on battery.
An ARM machine with an NPU running native Linux is a third path that didn't exist in any decent form. ARM battery life, a server-like environment, and a dedicated accelerator for inference.
There's also a detail few people mention. A good chunk of your production stack already runs on ARM. Graviton on AWS, Ampere on Oracle and Hetzner, arm64 images everywhere. Developing on the same instruction set as your server removes a whole class of "works on my machine" bugs.
An NPU without an open driver is just a pretty number on the spec sheet.
The deciding factor: the NPU on Linux
This is where my strongest opinion lives. An ARM CPU running Linux has been a solved problem for years. The real test for the X2 is different: can you use the NPU on Linux without hacks?
On Windows, Qualcomm exposes the NPU through ONNX Runtime with the QNN Execution Provider and through its own Qualcomm AI Stack. On Linux, the story has always been murkier. There is an SDK with a Linux build, but integration with the tools you use every day (llama.cpp, Ollama, PyTorch) is another story.
If the NPU stays locked in a proprietary SDK, with closed binaries and a specific kernel version, it will be ignored. Devs will run everything on the CPU and GPU and move on. I've seen this movie with plenty of "AI" chips over the last few years.
If the driver lands in the mainline kernel (the accel subsystem exists for exactly this) and popular runtimes get a backend, then we're talking. Then the X2 becomes a real AI dev machine.
So my advice is simple: don't buy on the NPU promise. If you buy, buy for what already runs on the CPU and GPU. The NPU is a bonus until proven otherwise.
What you can already do today, even without the NPU
The good news is you can do a lot with just the ARM cores. llama.cpp has had ARM optimizations for a while, including dot product and matrix instructions that speed up quantized models quite a bit. A 7B or 8B model in Q4 runs at a usable speed on a modern ARM CPU.
The workflow is the same as on any Linux box:
# check the architecture
uname -m
# aarch64
# Ollama has an official linux arm64 build
curl -fsSL https://ollama.com/install.sh | sh
ollama run qwen2.5-coder:7b
From there you hook it into your editor, into Continue, into whatever agent you like, pointing at localhost:11434. Nothing changes in your code. Only the machine underneath.
If you use Bun and Node, life is easy too. Both ship an official linux-arm64 binary. Trouble usually shows up with old native dependencies, the kind of package that downloads a prebuilt .node only for x86. It's worth running this before you switch:
# list packages with native binaries in the project
find node_modules -name "*.node" -type f | head -20
If something exotic shows up, check whether the package publishes an arm64 build or compiles in postinstall. In my experience, sharp, bcrypt, and esbuild already handle it on their own. The headache comes from abandoned libs.
What about Docker, PostgreSQL, and the rest of the stack?
Everyone asks this. Short answer: in 2026 it's the least of your worries.
The official PostgreSQL image has arm64. So does Redis. Most popular images on Docker Hub are multi-arch. The risk is your company's internal image, the one someone built in 2021 for amd64 only.
Running x86 images on ARM works through QEMU emulation, but it's slow. For a service you start and forget, that's fine. For the database that runs your integration tests 40 times a day, it's not.
The right move is to build multi-arch once and for all:
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t my-api:latest \
--push .
This fixes it for you and for whoever deploys to Graviton later. It's the kind of tweak you make once and forget.
What still makes me hesitant
I don't want to sound like a launch brochure, so here are the caveats.
First, support per laptop model. Last generation, "the chip supports Linux" didn't mean your laptop did. Laptop makers rarely care about Linux. Before you buy, look up the exact model and see if someone has already booted it, suspended it, and woken it up without drama.
Second, firmware. A lot of things on these chips depend on proprietary firmware that the distro has to extract from Windows or download from somewhere. If Qualcomm doesn't make it easy to distribute, installation will still be a 14-step forum tutorial.
Third, the GPU. Adreno has an open driver in Mesa (Freedreno, with Turnip for Vulkan), and it's good. But support for a new generation always lags a bit. If your plan is to use the GPU via Vulkan in llama.cpp, expect a few months of maturing.
And finally, the funny part: Qualcomm announced Linux in a presentation about "agentic AI." In other words, the first agent likely to run well on these machines is you, compiling a kernel at two in the morning.
Is it worth it for devs?
My take: it's the most interesting ARM laptop news since the M1, but for a different reason. The M1 proved ARM works for real work. The X2 with Linux could prove you can have that without switching operating systems or philosophies.
If you run local AI every day, I'd wait for the first reviews with Linux already installed. Ideally with someone testing inference on the NPU, not just CPU benchmarks. If you just want a light machine with long battery life to write TypeScript and spin up a few containers, the risk is lower and the payoff comes faster.
Either way, it's already worth getting your projects ready for arm64 today. It costs little and leaves you free to pick the machine later. That's what I've been doing in my projects.
LinkedIn summary
Qualcomm promised Linux on Snapdragon X2. But for developers, what really matters is whether the NPU will work. With the X1 generation, Linux arrived late and in pieces. Every laptop had a different problem. Now the promise is support from day one. That would mean an ARM laptop with long battery life, the same environment as your server, and local AI without paying for an API. But an NPU without an open driver is just a pretty number on the spec sheet. If it stays locked inside a closed SDK, everyone will run on the CPU and forget it exists. My advice: don't buy on the promise. In the meantime, get your projects ready for arm64. It costs little and leaves you free to pick the machine later. I wrote the full step-by-step on the blog, with Ollama, multi-arch Docker, and the caveats that still make me hesitant. #Linux #ARM #ArtificialIntelligence #SoftwareDevelopment #Docker