Microsoft is falling behind in the ARM race and it's all because of a deal they made in 2016. Now,
2016 was before Apple blew everyone's minds with their third processor
architecture switch on the Mac, from Intel's X86 to their own M1 chips.
But Microsoft and Qualcomm had an exclusivity deal, and lucky for Microsoft and the future
of Windows on ARM, that deal is set to expire sometime soon. Supposedly.
Why do I mention all this?
Well, a few weeks ago Apcsilmic (or, however you pronounce that name)
sent me this, it's called the Dot 1 Mini PC.
And it's a tiny Windows on ARM box, that runs Windows 11 Pro
on a Qualcomm Snapdragon ARM SoC. It's kinda like a Raspberry Pi, but for Windows.
And it's about twice as fast as a Pi—at least in synthetic benchmarks.
It could be so much better, but it's not. I mean,
it's kinda okay if you just need a little Windows PC strapped to a display—it even comes with this
VESA mount bracket for that. Or maybe you just want a tiny low-energy Windows desktop.
But it could be so much more. And I'll get to why. But first, let me run through the specs.
It's barebones and tiny. On the front it just has audio in and out, and three USB ports,
and only the last one is USB 3. On the back there's a 12V power plug, two HDMI ports—but
only the second one supports HDMI audio—a 10/100 Megabit Ethernet jack, and a WiFi antenna.
You can buy a model with 4G built-in, but the one I have can't be upgraded.
I took this thing apart and the 4G expansion is part of the Qualcomm
system-on-module board. It's doesn't use a 4G LTE card you can just drop in.
The one I have here is the mid-range option. It has 6GB of RAM and 128 gigs of flash storage.
It came with a WiFi antenna, HDMI cable, VESA mount, and power plug,
and the put together it's solid little package.
This one cost about $250, and the base model is thirty bucks less.
That's... a similar price to other mini PCs running Intel chips like the J4125, though this
is a little more energy efficient, at least on paper. And, of course, it includes Windows 11 Pro—
—on ARM.
And that's where some of the experience falls apart.
After installing FireFox, the first thing I did was some Ethernet benchmarks.
I downloaded iperf3, and opened PowerShell... and sat there waiting for the command prompt.
PowerShell! It took 9 seconds just to open and get to a prompt. I can understand if a
GUI-heavy app takes a few seconds longer on a tiny mobile CPU, but a terminal app?
Microsoft needs to do better here.
And common tasks like web browsing and opening apps are sluggish. Compared to
cheaper Intel Atom PCs, it's not too bad, but those are usually half the price. The general
experience with Windows on ARM, at least on devices like the Dot 1, is frustrating.
I wanted to test out Minecraft, since it has a Java version that's supposely compatible.
I was reading I might need to patch something to get it working, but heck,
I couldn't even download it from the Microsoft Store! I let it sit
for an hour or so but it got stuck at some point and I can't even cancel the download.
Then I tried downloading Rocket League from the Epic Games store...
and that store app wouldn't even finish loading.
So then I tried downloading Burnout Paradise on Steam, and it was just, really slow.
Burnout wouldn't open because the library it needed couldn't run on Arm,
and about 20 minutes after that, out of the blue,
Rocket League just appeared on my desktop. I double-clicked it, and then for about 2 minutes,
it looked like it was locked up. But finally, something opened full screen.
And then the screen was black. After a couple more minutes, the main screen loaded,
and I could actually get into a little tutorial, but it was completely unusable.
And it kept soft-crashing, to the point where I couldn't even get to task manager to kill it.
Somehow a day after I tried installing it on Windows Store,
Minecraft suddenly appeared, and heck, it actually ran halfway-decent. I mean,
you're not gonna be streaming on Twitch here, but it was playable.
But it was still slow to launch, and every once in a while, it felt like it was locked up.
Windows on ARM is a second-class experience right now.
Most apps aren't cross-compiled for ARM, so even if you can get it to run,
unlike with Apple's Rosetta translation layer, it's gonna run slow and glitchy.
It isn't all bad, though. A few apps like Firefox and Geekbench already have ARM-native
versions for Windows. But it's a chicken-and-egg problem. Microsoft won't fully commit to ARM, so
most software developers won't even put ARM on their roadmap.
With Apple, they dictated ARM support was the future, and they included an extremely
good Intel emulation layer. This made it so developers were motivated to switch,
but it also helped users who were upgrading, since they could run their old apps without any hiccups.
Mostly. I'm still working on my virtualization setup on Apple Silicon.
But let's get back to the specifics for the Dot 1. I ran through a bunch of benchmarks,
and some were surprising.
First of all, the Ethernet connection was extremely slow. I mean, by any modern standard.
It could put through 94 megabits, which is fine for a 100 megabit connection. But,
like, it's 2022. This thing should be at least a gigabit.
The reason it's stuck at 100 megabits is because it's using a cheap USB
2.0 to Ethernet bridge. But even there, they could've used a Gigabit
bridge and just accepted 200 or 300 megabits, like the Raspberry Pi 3 did.
But they didn't. I mean, 10/100 is okay for some use cases,
but it was painful for me, even for things like game downloads.
WiFi is better. It's WiFi 5, or ac, and using it with my router a meter away, I was able to
get about 250 megabits. That's less than half what I get on my iPhone on the same network,
but it is more than double the weak Ethernet port.
The annoying thing was, no matter what, I couldn't get WiFi to autoconnect. Every time
I rebooted or cold-booted, I'd have to go into the Network settings and manually click connect,
even though the 'Connect automatically' checkbox was checked.
No clue why, but that meant the Dot 1 would default back to Ethernet,
which as I mentioned, is slow. Moving on to the built-in storage,
the Dot 1 comes with a UFS 2.1 chip from Samsung, with 128 GB of flash storage. It's decent,
getting half a gigabyte per second read speeds, over 200 megabytes per second write,
and a little more than 20 megabytes per second for small block sizes.
It's nothing like an NVMe drive or even a high end SATA SSD, but it's definitely
better than the eMMC storage you find in some of the cheaper mini PCs out there.
Power consumption is where the Dot 1 really shines. If you want to run Windows 11 with
the lowest possible power consumption, this device is about perfect. It idles around
4 watts, and during the heaviest load, it only gets up to around 7 watts.
That's about on par with the Pi 4's power consumption, but this thing can be up to
twice as fast with the same power use. Not that it makes a huge difference under Windows,
but it just shows how much better Windows could be on the Dot 1.
Since it has a native ARM build, I ran Geekbench a lot. I wanted to see if the CPU would throttle
in the fanless case. All that's joining the SoC to the case is a thick thermal pad.
And I found out that it does start thermal throttling after moderate use. The SoC says
it has 2.4 GHz cores, but judging by Windows own reporting, it rarely clocks over two GHz.
And under load, like when I was downloading a game on Steam, it was staying closer to one gigahertz!
But those numbers definitely affect benchmarks. On a cold boot, Geekbench got up to 500 for single
core, and 1500 for multicore. That soundly beats the Pi 4 and most Intel Atom PCs.
But those numbers fall a bit after ten minutes of moderate load.
CPU clocks go down, and the benchmark numbers would get down to as low as 383 and 1187.
I couldn't get any apps like Hardware Info or NZXT Cam to measure temps or clocks per core,
but I could see the cores weren't maxing out once things got too toasty.
I pulled off the bottom cover, stuck on a heat sink, and ran it with a fan,
and that way I was able to get maximum performance all day long.
Just a heat sink and open air wasn't enough to prevent throttling, I had to use the fan.
Looking at the bottom during benchmarking, you can see the hot spot where the thermal pad is,
but it's not really pulling heat off the SoC fast enough.
Also, I stuck little feet on the bottom to raise it up. The thermals are a tiny
bit better but it's definitely not built for sustained performance.
The mobile GPU performance, especially for video decoding,
is decent. I was able to play back YouTube videos at 1080p and 1440p
without a problem, though 4K playback falls apart at 60 frames per second.
General use was sluggish, but for ARM-native apps like FireFox and Edge, it wasn't too bad.
For any Intel-only apps, though, it's hit or miss, and overall a frustrating experience.
You'd hope that with an exclusive partnership, Qualcomm and Microsoft could've built some X86
translation right into the silicon like Apple did, making it way faster... but no.
So what about Linux? After all, the Raspberry Pi can run Linux natively,
and unofficially runs Windows 11 almost as well as this Dot 1.
Well, Linux support is complicated. There are some efforts in the community to boot
Linux on Qualcomm chips to get Linux builds running on popular ARM-based Windows laptops.
But the problem is most of these things require an image or a build process specific to each
manufacturer's hardware. And nobody's done the bringup work for a Dot 1 yet. So right now,
the only way to get Linux on here would be to spend a lotta time making a custom Linux build.
I'm no stranger to that, but I'd rather wait for the community to take it on,
since there already are a few patches that bring some level of support in the kernel.
Qualcomm does seem to have some involvement in getting support for their chips added to Linux,
but there's no quick way to build Linux for a specific ARM PC like this one.
So where does this thing stand?
I mean, it could be nice if you need to run Windows for a kiosk, or a little edge PC.
And if you have a lotta patience, it could make a passable light desktop PC.
But Microsoft can't end their exclusivity deal with Qualcomm soon enough.
Making Windows run on other ARM platforms—heck, even virtualized on M1—could motivate developers
to build cross-platform, so more apps work faster on ARM.
Because in Windows' case, the X86 translation layer is pretty bad. Porting apps for ARM
should make them run acceptably even on slower ARM SoCs,
since they won't have to work so hard just translating system calls.
But we'll see. Apple's proven that you can have your cake and eat it too,
with ARM. Microsoft, so far, has proven they can get Windows to run on ARM. But that's it.
Until next time, I'm Jeff Geerling.