top | item 13128255

ARM-Based Windows 10 Portable PCs? Hell Yes

79 points| e271828 | 9 years ago |thurrott.com | reply

117 comments

order
[+] skrebbel|9 years ago|reply
Download my great free Windows program now! Please choose:

    EXE installer     32-bit x86   64-bit x64   32-bit ARM   64-bit ARM
    MSI installer     32-bit x86   64-bit x64   32-bit ARM   64-bit ARM
    Portable Zip      32-bit x86   64-bit x64   32-bit ARM   64-bit ARM

(Download my great free macOS program now!

     Click here
)

This is already a usability problem, and adding 2 more target chipsets makes it worse.

Given both bandwidth and smart programmers, couldn't Microsoft make an installer creator that works on all the above architectures and installs the right version of the program? No problem shipping 4x too much code right - most installers that are big at all, are big because of assets, not code size.

I guess politics vs the Windows Store team would prevent this from happening within Microsoft, but given how awful the Windows Store is and how it still can't be used to download and install boring oldschool desktop applications, this is a usability nightmare waiting to happen - despite the obvious benefits of not being locked into a single chipset architecture anymore.

[+] rossy|9 years ago|reply
This sounds like an application/website problem rather than an operating system problem. You don't need to distribute both an EXE and an MSI installer. That's like distributing both a .pkg installer and a .dmg/.zip for your Mac program. Just pick one technology. Most programs don't need both.

You don't need to use Microsoft's installer technology either. Installers are simple programs. You can roll your own or use third-party installer technology like NSIS. I remember old versions of Chromium had a very simple "installer" which was just a dialog that ran on first launch and asked you for some basic settings.

The architecture problem is easily solvable too. Simple programs can just target the lowest common denominator (32-bit x86.) You can simulate "fat binaries" by having a 32-bit x86 wrapper program that includes builds for other architectures as data, extracts the correct one to the Temp directory and runs it (I think Bvckup 2 does this.) For large programs, you can have an online installer which picks the right version and downloads it (with options on the website to download an offline installer.) Also, the website itself can point the user to the correct download. It doesn't even need JavaScript to do this, since the user's architecture will be in their user agent string. Use this information to emphasize the correct option in the UI. Maybe even hide the other options behind an "Other downloads" link.

[+] m_mueller|9 years ago|reply
I encourage anyone who wants to know how to manage software transitions to watch Apple's presentations about Next, Rhapsody and OSX between 1997 and 2000. This was IMO a textbook example of how to move over a whole ecosystem to a more modern underpinning, even under very difficult circumstances (where Apple's leadership first had to think about how they can survive another year even).
[+] Osiris|9 years ago|reply
Wasn't one of the points of the .NET Framework to make architecture independent apps? The CLR is compiled to the native instruction set, but apps are only compiled to IL and thus are dynamically recompiled to the native instruction set.

So, ideally, you'd just have one download.

[+] ac29|9 years ago|reply
macOS (nee OS X) has supported PPC (32-bit and 64-bit), x86-32, and x86-64 over the years. Furthermore there are plenty of applications that require 10.6+, 10.8+, etc. I get your point, but macOS is at least at fragmented as Windows in terms of needing multiple binaries.
[+] jazoom|9 years ago|reply
Looks like trying to pick the installer for Linux except there are also different distributions.
[+] dragonbonheur|9 years ago|reply
It's not really different from choosing among 32 bit or 64 bit programs, or even, for Linux software choosing the package that's best for your distribution. It's not really a pain point. People can read. People who use Windows and Linux know how computers work. People are smart. People should not be babysat by their operating systems. It's gonna be OK. Don't worry.
[+] shams93|9 years ago|reply
If they want the surface phone to be a slam dunk they need to give it ability to run android apps as well as UWP and emulated win32, if the could get a license from Google to merge in the android app store with the windows app store it would fill in a lot, add the ability to run win32 and the ubuntu for windows console and you have a pretty killer does everything device.
[+] pwnna|9 years ago|reply
Interesting development. Could this be a good thing that encourages OEM to standardize on something like the IBM-like PC that we have for x86 systems so we don't have to deal with each individual boards in Android or the traditional GNU/Linuxes?

Furthermore, if the x86 emulation turns out to be as fast as they promised and demo'ed, will this kind of technology be developed for desktop linux? Is it even necessary as most apps tend to be open source and can recompile already?

[+] mirasmithy|9 years ago|reply
+1 A major issue with ARM boards is you can't expect [name-your-arm-os] to run on all ARM boards. Each implements it's own boot sequence and drivers aren't the best. Something like this might push for a unified spec.
[+] filereaper|9 years ago|reply
I'm actually more interested in getting a standard ARMv8 laptop rather than a tablet to run Linux on it.

Windows 10 being an entry point to get these machines into the market is perfectly fine.

[+] Jedd|9 years ago|reply
> ... as such, it will be late 2017 or sometime next year ...

Well, that could be clearer.

> Perhaps Surface phone isn’t a phone in the traditional sense. Perhaps it is, instead, just a new kind of PC with a small—for PCs; I’m hearing 6-inches—screen.

This sounds a lot like what others have been doing / try to do for a while now with Android devices (albeit not hugely successfully ... yet). So it's not surprisingly that Microsoft is considering jumping on that bandwagon.

[+] RandomOpinion|9 years ago|reply
Interesting. I must say that I'm surprised that MS didn't give up on Continuum after Intel hosed them by cancelling their Broxton smartphone x86 chip. MS might just be throwing good money after bad.

The two keys will be performance and compatibility for the x86 emulation. If they can get it to the point where it's effectively as fast as Intel's low power Atoms while still keeping broad Win32 app compatibility, then Microsoft's Continuum concept is back on track to become a game changer.

[+] scholia|9 years ago|reply
> I must say that I'm surprised that MS didn't give up on Continuum after Intel hosed them by cancelling their Broxton smartphone x86 chip. MS might just be throwing good money after bad.

Intel didn't hose Microsoft, it hosed Intel.

Microsoft was already developing for ARM so nothing changed for Microsoft. Intel stopped developing for smartphones and tablets so something changed for Intel.

Windows 10 is free on small screen devices so Microsoft didn't even lose any revenue....

[+] cm2187|9 years ago|reply
I tried a surface pro as a replacement for an ipad, but I found it to be extremely frustrating. Beyond the bugs and blue screens, I found the battery life to be way shorter, and the surface to take a long time to wake up, not an instantaneous experience like an ipad, where you can forget it in a bag for 10h and use it straight away. More like a laptop.

Would an ARM based windows device achieve an ipad style battery life and instantaneous experience? Or is it more linked to the architecture of the system?

[+] notimetorelax|9 years ago|reply
They mention in the article that battery life, while not in use, is one of the key advantages.
[+] dcw303|9 years ago|reply
which version of Surface Pro? 2 / 3 / 4 ?
[+] Eridrus|9 years ago|reply
Even assuming they can hit performance targets with this, which sounds hard but not impossible, what's the major use case?

Continuum? Windows laptops with better battery life?

Most win32 software is going to suck on a touch screen, so I'm not really seeing this help them in mobile.

[+] ZenoArrow|9 years ago|reply
>"Windows laptops with better battery life?"

Not going to happen. There's a performance hit that almost certainly comes along with emulation. Battery life is likely to get worse with x86 Windows emulation on ARM.

Also, by the time Intel stopped pushing x86 in mobile devices they were producing chips that were competitive with ARM chips when it came to power draw.

[+] Splines|9 years ago|reply
Maybe this makes sense for a better continuum experience?

Phone mode = UWP touch apps

Docked continuum = Full desktop x86 apps (and UWP)

[+] kalleboo|9 years ago|reply
People have been speculating for the past year if Apple could switch their Macs to ARM, and keep compatibility with a emulation layer like they did during the PowerPC->Intel transition. I guess Microsoft beat them to the point... Will be interesting to see how well it performs in real life.
[+] eikenberry|9 years ago|reply
I think Linux beat them both to the point... many years ago.
[+] EvanAnderson|9 years ago|reply
Presumably these will all have Secure Boot enabled with no option for the user to disable it. >sigh<
[+] btmiller|9 years ago|reply
If this works out, this is the final piece of the puzzle for Apple moving to ARM chips in their Macs. Windows emulation is too big of a feature to leave out. Then again, who knows with Apple of late. Either way, very interesting news!
[+] douche|9 years ago|reply
The last time we had ARM Windows machines, we got the Surface RT. I still have one of these that I occasionally bring to meetings to fool around and maybe put a ticket in with. It is not a great piece of equipment...
[+] cm2187|9 years ago|reply
It's not that bad. Win 8 inside was terrible. The hardware was OK. Not a big fan of the sharp edges when holding it.

But to me the main problem was having built an iOS style environment, completely locked down, with no way to install anything unless you pay money to microsoft through the windows store (and redevelop your app). There was no technical reason to prevent regular .net apps from running directly on windows RT.

So it was a subpar experience compared to iOS without the power and flexibility of windows.

[+] mark-r|9 years ago|reply
It generally takes Microsoft 3 tries to get something right. Unfortunately their next ARM device will only be #2.
[+] cptskippy|9 years ago|reply
Are you speaking just of the software or does the hardware have issues as well?
[+] 9erdelta|9 years ago|reply
For me it is more like hell no. I am having a hard time getting over stuff like, you know, waking up one day and Chrome is no longer my default browser.
[+] xorxornop|9 years ago|reply
How the hell does this happen. Seriously, I've ran Windows for like over 10 years now. It's happened a grand total of 3 times, ever, and 2 of those were back in the Windows 9x days, and the last one was between W8 and 8.1 (a major service pack).

Never since then. Oh, I'm even in the fast update pool. What do you people _do_?

[+] loeg|9 years ago|reply
> First, Qualcomm’s System on a Chip (Soc) designs have improved so dramatically in the past four years that their performance rivals that of mainstream Intel Core chipsets for PCs.

Hah!

> And even better, Microsoft has developed an emulation technology that allows Win32 applications to launch and run unmodified on ARM-based PCs. And to do so with what I am assured is excellent performance.

I don't believe it.

[+] taspeotis|9 years ago|reply
> I don't believe it.

My understanding is Microsoft actually has some pretty cool and fast tech for this already: the Xbox 360 emulation on Xbox One.

[+] cm2187|9 years ago|reply
Not many CPU bound apps running on an ordinary laptop.
[+] starik36|9 years ago|reply
I am skeptical that the emulation can achieve reasonable speeds. I would like to see first that Qualcomm’s chips are even up to par with Intel's. Secondly, can a heavy duty Win32 app like iTunes or TurboTax or Photoshop could run reasonably fast via emulation, something that has historically been a problem.

I'll believe it when I see some benchmarks.

[+] setq|9 years ago|reply
Call me cynical but this feels like another platform to be abandoned when no one buys them as per the old Windows ARM tablets. Those who bought them abandoned quickly.

There will probably be a crazy restriction like App Store only.

Oh and the whole MSI 32/64/ARM pile of crap as well.

[+] cm2187|9 years ago|reply
Well, that would be repeating the Surface RT failure. I can only assume they are not going to make the same mistake twice, so I doubt it will be locked down like Windows RT was.
[+] RachelF|9 years ago|reply
We'll see. Full Windows x86 emulation will likely be slow.

It will be a harder sell the second time around, too as Windows RT burned a lot of people, and fewer trust Microsoft than before.

[+] mikhailt|9 years ago|reply
It's native ARM version of Windows 10 and for UWP apps, as well as any x86 apps recompiled for ARM. The rest of the classic x86 32-bit apps will run via the emulation, like Rosetta on macOS in the past when running PPC apps on Intel.

That means unlike WinRT, almost all of your apps will be usable, no confusion about it like what befell the WindowsRT.

[+] MekaiGS|9 years ago|reply
This is not full x86 emulation, it only emulates x86 when you are running x86 apps. Windows/Office and other apps are running in native mode.
[+] glhaynes|9 years ago|reply
Nearly all of their target market would be unfamiliar with Windows RT.
[+] cm2187|9 years ago|reply
I'd assume the .net framework would run natively
[+] protomyth|9 years ago|reply
Doesn't seem like any reason that it wouldn't be native.
[+] dragonbonheur|9 years ago|reply
An interesting development, but it is a shame that this will require a new chip from Qualcomm, while there have been full desktop Linux distributions for several ARM chips and boards for quite a while now. Microsoft's software is really full of bloat.
[+] xorxornop|9 years ago|reply
It probably doesn't require the chip... I'm thinking they are using some form of hardware accelerated binary translation.

Re: Windows on ARM, I run Windows IoT on a Raspberry Pi. Shows they have a good lot of it running, eg the full UWP UI system, kernel etc. Imagine it's the translation part that's deleted things.