Nvidia DGX Spark as a daily driver
DGX Spark as a daily driver
2026-07-15
I bought an NVIDIA DGX Spark! Itās actually quite a competent general purpose computer while being super tiny and power efficient. It basically just has an ARM CPU, a decent NVIDIA GPU (with the same number of CUDA cores as the RTX 5070), 128 GB of unified memory, and a 4 TB SSD.
DISCLAIMER: I work at NVIDIA but I bought this with my own money and the opinions are my own. I didnāt get anything for writing this review.
When I bought my DGX Spark, it only cost me $4000, but its price has since increased to $4700.
The DGX Spark runs āDGX OSā but it is in fact just plain old Ubuntu 24.04 with some additions. If you want, you can just install another Linux distribution easily (Fedora works well), although there may be a couple of weird bugs with the Realtek Ethernet driver so the NVIDIA version of the Linux kernel has a couple of patches. Unlike some other ARM devices, the DGX Spark is all ACPI rather than device tree based, so regular Linux builds for arm64 work just fine.
Generally, it is a power-efficient and quiet box (it gets slightly audible under load, but no annoying whine, and is silent when idle). Itās really nice how it doesnāt heat up the room or make noise. Stuff like web browsing and general programming work are super fast.
The CPU has a Geekbench 6 score roughly on par with an M3 Pro 14 core and an AMD Ryzen 9 7950X: 2983 single core and 18183 multi core. Weirdly enough, my results were slightly worse than Geerlingguyās Dell Pro Max with the same GB10. Perhaps itās just thermals or random fluctuations. At any rate, itās better than my SFFPC with its AMD Ryzen 9 7945HX, which scored 2869 and 16973.
Can it run Crysis?
It turns out, it can totally run Crysis. The DGX Spark is quite decent at gaming in fact. This is Crysis Remastered running at 3200 Ć 1800 resolution with everything set to High and DLSS set to Performance. The game has a platinum rating on ProtonDB, but like other people running NVIDIA graphics, I had to set the Proton version to Experimental for it to work.
The Steam Snap for arm64 is maintained by Canonical and specifically targets gaming on DGX Spark. Itās probably the best avenue to play most games. It uses FEX to translate x86_64 to arm64, fulfilling a similar role as Rosetta 2 on Apple devices. It also bundles DLSS, RTX, and stuff so you can expect to play modern AAA titles with ray tracing turned on.
Obviously, the ābang for the buckā isnāt great compared to dedicated gaming machines. After all, the DGX Spark is quite expensive. You probably wouldnāt want to buy the DGX Spark just for gaming. My small form factor PC with a dedicated NVIDIA graphics card is better at gaming at a lower price. The GPU of the DGX Spark is somewhat comparable to the RTX 5070 but with much slower memory bandwidth and much lower power, and thereās some overhead from FEX (whereas the performance penalty of Proton is usually rather tiny, or sometimes games are even faster in Proton than on Windows), so you can expect maybe two-thirds of the performance.
Many modern Steam games with great graphics work just fine out of the box, including:
- Cyberpunk 2077
- Portal RTX
- Indiana Jones and the Great Circle
- Running Train
and many more!
Generally, modern games on common game engines like Unreal, Unity, and Godot have a very high chance of just working, with bells and whistles like RTX and DLSS working too.
The main categories of games that donāt work are:
- Games with aggressive anticheat that donāt work on Linux, such as League of Legends
- Some older games that need tinkering to get working (see the software that needed tinkering section)
- Non-Steam games have a lower chance of working
Local LLM inference
The main reason for most people to buy the DGX Spark is probably to dabble with local LLM inference. I am happy to report that the DGX Spark has aged like fine wine in this regard. It just keeps getting better! Whereas early reviews lambasted it for apparently mediocre performance (bottlenecked by the memory bandwidth), a litany of novel tricks have enabled it to be literally several times faster now than when it first came out!
- NVFP4 gave a huge boost. It wasnāt originally supported on DGX Spark when it first came out, to much chagrin, but it became available soon afterwards.
- NVFP4 KV-cache quantization brought a big time-to-first-token speedup.
- Multi-token prediction gives a free speedup of up to 2x on many models.
- NVIDIA Model Optimizer gave another big boost to quantized models, resulting in a release on 2026-06-30 of a version of Qwen 3.6 27B that was way faster and better performing than earlier quantizations.
- DFlash uses a diffusion-based drafter to predict an entire block of future tokens at once, further improving upon speculative decoding.
Thereās a Spark Arena leaderboard with recipes and benchmarks thatās pretty useful.
Anyway, right now, you can expect around 30-40 tokens per second (single concurrency, single Spark) with an NVFP4 quantization of Qwen 3.6 27B dense model, which is highly capable for everyday programming. Itās quite useful for general coding and agentic automation. At concurrency level 4 (four agents running in parallel, for example) you can expect a total token output rate of around 100 per second. For the Qwen 3.6 35B mixture-of-experts model, you can expect much faster performance, up to around 170 tok/s decode, so thatās incredibly useful for quick chatting and automation, although perhaps slightly worse at coding.
Software that needed tinkering
Darktable
Darktableās arm64 build works out of the box, but is extremely sluggish. It seems thereās some issue with the NVIDIA driver (at least on version 580, as tested) where transferring data from the GPU to CPU is very slow in Darktableās OpenCL pipeline. This affects both in-app interactivity as well as export speed. I created the pull request āprefault OpenCL readback destinationsā which fixes the issue. The pull request āpreheat host memory for OpenCLā also fixes it, in a perhaps slightly nicer way (this PR got reverted, so the fix still isnāt available in mainline Darktable).
Rhinoceros 3D
Rhinoceros 3D is a 3D modeling application for Windows x86_64 and for macOS (on Apple Silicon). I bought a license, and used this for my other projects such as my line scan camera case. Unfortunately, the latest version is well-known for not working on Linux, with a salty thread on the Rhino forums about it. Getting the Windows version to work is generally considered more straightforward than the macOS version. Anyway, I asked Codex to get it working, and it actually did! Here are the AI-generated instructions:
Please note: Wine does not accept AI-generated code, and Iām not knowledgeable enough about the fixes here, so I canāt really upstream my patched fork.
Need for Speed Porsche Unleashed
Need for Speed Porsche Unleashed is one of my favourite video games of all time. I used to play it a ton in elementary school and have great nostalgia when I play it again. There is something special about just driving through a scenic European street without any distractions like āinfluencer voicesā, experience confetti, billboards and ramps, and so on. At the same time, the pretty atmosphere is chill compared to super hardcore racing sims on laser-scanned tracks surrounded by nothing but tires, chain link fences, and ads.
It turns out it just works well with mainline Wine for arm64 with FEX as the ARM64EC compatibility backend. I installed Verokās patch and used the OpenGL3 renderer which works great! Now the graphics are even better than the original game (which ran only at really low resolutions of like 1024Ć768).
One weird quirk: GB10 has 10 fast Cortex-X925 cores and 10 slow Cortex-A725 cores. I had to explicitly pin it to the 10 fast cores rather than the 10 slow cores, otherwise the framerates would be really low. I guess perhaps the game from 1999 uses so few resources that the scheduler doesnāt realize it needs to be running in real time.
On Windows 11, I had an incredibly hard time getting Verokās patch to work, because Windows kept flagging it as malware. I had to jump through an insane amount of hoops. Every time I was about to right click to add it as an exception, the OS silently deleted it. It was super frustrating. Getting it working on the DGX Spark was quite painless in comparison. I donāt actually know if it contains any real malware, so please proceed at your own risk (I personally think itās safe).
StarCraft II
Like Rhino 3D, I asked Codex to help me get it working. SC2 works great on regular x86_64 machines in Proton or Wine, but on arm64, it crashed upon startup. Anyway, here are the AI-generated instructions to get it working:
As with Rhino, Wine does not accept AI-generated code, and Iām not knowledgeable enough about the fixes here, so I canāt upstream my patched fork.
A custom shelf
The DGX Spark comes with four USB-C ports (of which one is the power supply). I wanted to augment my DGX Spark with:
- more USB ports for my keyboard, mouse, microphone, and stuff
- a spare NVMe M.2 2280 SSD I have lying around
- an SD card reader
so I bought a Mac Mini M4 dock by Hagibis which has all of the above with a fast USB4 connection with a fairly reputable ASMedia ASM2464PD chip and a decent-looking heatsink. That is in turn daisy-chained to a four-port USB 3.0 switchable dock connected to my mouse, keyboard, audio, and microphone, which can also be easily switched to my MacBook (for work).
The four USB-C ports of the DGX Spark ended up being occupied by:
- power
- my four hard drive USB 3.2 ZFS raidz2 array with four 24 TB drives
- Hagibis dock (SSD connection)
- Hagibis dock (everything else)
To set up my DGX Spark nicely with the dock and to give it a floating appearance, I designed a custom mini shelf. I got it made by SendCutSend and it cost me about $65. The bottom of the DGX Spark is a silicone foot that is pretty grippy. The Hagibis Mac Mini dock is stuck on via a thermal pad. I also stuck an adhesive rubber sheet at the bottom of the whole thing to prevent it from sliding around. This way, I can easily plug and unplug stuff, insert the SD card, and so on, without worrying about things sliding.
Theoretically, the shelf also slightly improves cooling, although probably to a minimal degree. Many USB4 SSD enclosures get quite hot, so the thermal pad mated to a big aluminum thingy probably helps. I also set the Hagibis dock to be upside-down with the fins on top (the fins are whatās directly mated to the SSD, and would otherwise be at the bottom of the Mac Mini with very little airflow). Aesthetically, in the end, it still doesnāt look super clean. I guess the Mac Mini dock just doesnāt match the look of the DGX Spark perfectly after all, and my other USB switcher is very ugly. Oh well!
Incidentally, my speaker stands for my KEF Q150 were also custom made by SendCutSend. Those cost me over $110. They are just a rounded rectangle with two bends.
Conclusion
So anyway the whole thing is great (price tag notwithstanding):
- it handles my āmain PCā use cases, such as light occasional gaming, CAD needs (Rhino 3D), and photography workflow
- generates LLM tokens decently for simple coding tasks and automation
- power-efficient and quiet
- looks nice
- whatever doesnāt run out of the box, I can just get AI agents to get it working
I wrote this blog post because a lot of people have the impression that the DGX Spark is a one-trick pony that canāt do anything else besides LLM inference. I often see people saying that one of the pros of the AMD Strix Halo platform is its ability to play games. Iāll admit that not all games work, and it is perhaps not the āyear of the Linux desktopā for many people yet, not to mention Linux on ARM. But we are getting much closer than many realize.
Incidentally, this is my second Linux ARM machine, the other one being my Macbook Air M2 running Asahi Linux. Nowadays, getting an SFFPC built with 128 GB of RAM and a 4 TB SSD is going to cost a lot anyway, not to mention having the 128 GB of memory being fully accessible by the GPU.
To be honest, I havenāt even trained any models on it yet. I have a list of great project ideas that could use training. Iāll do that eventuallyā¦
Comments
No comments yet. Start the discussion.