Microsoft's x86 on ARM64 Emulation: A Windows 10 Redstone 3 Fall 2017 Feature (zdnet.com) 123
Mary Jo Foley, reporting for ZDNet:Since January 2016 (and maybe before), there's been talk that Microsoft was working on bringing x86 emulation to ARM processors. Sources of mine are now saying that this capability is coming to Windows 10, though not until "Redstone 3" in the Fall of 2017. Here's why this matters: Microsoft officials continue to claim that Continuum -- the capability that will allow Windows 10 Mobile devices to connect to external displays and keyboards -- is going to be a key for the company, its partners and its customers. There's been one very big limitation to Continuum so far, however: It only allows users to run Universal Windows Platform (UWP), and not full-fledged x86 apps. What if an ARM64-based device could run x86 apps via emulation, the same way that the WOW (Windows on Windows) emulator allowed 32-bit apps to run on 64-bit Windows? That would make Windows 10 Mobile, which as of now, continues to support ARM only, and Continuum a lot more interesting, especially to business users who need certain Win32/line-of-business apps.
Re: (Score:1)
Not so much use for a lot of the legacy (especially legacy in-house applications) x86 apps that aren't being updated and which will perform perfectly adequately even under emulation on ARM.
Re: Just unlock the thing (Score:2)
I don't think Microsoft would ever allow that. Back in either 2010 or 2011, Microsoft decided that they want windows to turn into a crappier version of iOS, only "better" because it runs on desktops AND phones. Sound stupid? That's because it is.
Remember the windows 8 start menu? That was just a preview of what Microsoft wants, and the backlash just told them to slow down, but they still have their hearts set on controlling 100% of the user experience. This can also be thought of as a realization of the goa
I hope they don't cripple it (Score:1)
Re: (Score:2, Insightful)
Re: (Score:2)
Some pretty major changes have been going on since Satya took over.
Like buying companies like Nokia and then firing everyone then dropping the product(s). Yeah. Big changes.
Re: (Score:2)
Re: (Score:2)
If they're planning to let you run arbitrary win32 exe's on ARM, why don't they just provide you with the tools to port your win32 exe instead of relying on X86 emulation? Or do they think their emulator works as a sandbox to mitigate the security issues in win32 code?
Why Stop There? (Score:3, Funny)
Rather than just provide x86 emulation on ARM, we can use x86 emulation on ARM to run Oracle's x86 Java implementation. We can run the jRuby interpreter in that. And we can use jRuby to run this ATARI 2600 emulator [github.com].
I bet a lot of you folks can suggest a more absurd one than that.
Re:Why Stop There? (Score:4, Insightful)
I bet a lot of you folks can suggest a more absurd one than that.
I got one. How about: the modern web.
Re: (Score:2)
That reminds me of the Birth and Death of Javascript [destroyallsoftware.com]
Re: (Score:1)
Run Bochs on a Mac SE/30 in order to run MS-DOS. Then run Executor on the MS-DOS. (Executor is an old MacOS emulator that let you run System 6 and earlier Mac software on a PC).
Re: (Score:1)
Just tagging this on:
Executor [wikipedia.org] still exists, and is open source now. [github.com] But it appears nothing is being done with it.
Re: (Score:2)
Re: (Score:2)
Keep in mind, a 10 year old single core PC is equivalent to a 3 year old dual core netbook.
An emulator that does some decent JIT is probably going to be reasonably fast. I don't know if it's 25% or 50% or 75%, but I don't think it's 10%.
Re: (Score:2)
3 year old dual core netbook
I thought the laptop companies had already stopped making netbooks before November 2013. (Source [slashdot.org], from 3 years and 10 months ago)
Re: (Score:2)
They quit calling them netbooks, yes.
But companies are still actively making and marketing 12" laptops and convertible tablets with ultra-low power (aka slow) x86 processors.
Dell offers laptops with Windows 10 and Intel Core m3-6Y30 0.9 GHz. That processor is from last year, it has a base frequency of 900 MHz and a boost up to 2.2 GHz. If you run anything other than Windows 10 on it, it probably won't boost though.
Re: (Score:2)
But companies are still actively making and marketing 12" laptops
Therein lies the rub. A 12" screen starts to climb out of the size class where a laptop can fit in a bag that doesn't scream "this is an expensive laptop; please steal it and take it to a pawn shop".
Re: (Score:2)
I think the branding of "netbook" became toxic, so we don't see it anymore. But the equipment still exists, people still buy them. sub-$300 tiny underpowered laptops are still offered by the usual suspects. In my experience netbooks are a waste of money, and I usually recommend people save up until they have around $650 to spend for a laptop, depending on their needs.
I don't think Chromebook sales are enough to really matter, compared to PC sales they are around 2% of the market. Probably closer to 10% (wil
Can I get the tiny without the underpowered? (Score:2)
sub-$300 tiny underpowered laptops are still offered by the usual suspects. In my experience netbooks are a waste of money, and I usually recommend people save up until they have around $650 to spend for a laptop
I have a 10" Dell netbook from six and a half years ago, but it's showing its age, and I fear not being able to find replacement parts once it finally does bite the dust. Is there a market for laptops that are smaller than 12" but not underpowered?
Re: (Score:2)
No, you aren't likely to find a 10" laptop going forward. You might find a decent convertible/2-in-1 (tablet-laptop) of that size, although I was not able to find any currently available that had decent specs. Almost all of the 10.1" 2-in-1s are ARM-based and run Android, so not a very good substitute for your netbook.
There are a few vendors doing tablets and 2-in-1 using the quad core Intel Atom X5 (z8000-series Cherry Trail). The benchmarks I've seen have it as the lowest performing Intel of 2015, it's no
Re: (Score:2)
The use case is hobby coding projects in a language that's nowhere near as complicated to compile as (say) C++. For this kind of work, even an underpowered choice would be better than a device that can neither run Windows apps (even those usable in Wine) nor show two different apps on the screen at once.
Re: (Score:2)
As a professional developer for Android OS, kernel and driver. Sometimes Android makes stupid choices and lives with those stupid choices for several releases.
Microsoft's core VM team for .NET is probably pretty good at designing and writing JITs.
But Microsoft is unlikely to dump any resources in doing this right unless they have a key customer paying them to do it.
fallacy, poindexter (Score:3)
emulation of x86 for apps not sufficient, that doesn't make drivers work.
Re: (Score:2)
you're funny, I wasted 2 hours yesterday downloading hundreds of megabytes of "drivers" for my relative's windows box (3 driver all total). Windows didn't have the "drivers".
I don't have to do that for my Linux and BSD machines.
Re: (Score:2)
you're funny, I wasted 2 hours yesterday downloading hundreds of megabytes of "drivers" for my relative's windows box (3 driver all total). Windows didn't have the "drivers".
I don't have to do that for my Linux and BSD machines.
Unless you want to run the closed source drivers anyway. And that is only if there ARE closed source drivers. I recently ran into catch 22 hell when I tried to get the b44-based driver installed on an older laptop while at my mom's place (no access to other computers to download the driver from). I ended up having to scare up a network cable and sit in the basement next to the router while I got the driver downloaded and installed.
So, yeah, not exactly the "hundreds of megabytes" problem, but to say that Li
Re: (Score:2)
Oh you could download drivers? What luxury.
Hundreds of megabytes sounds like something that would take about 10 minutes not 2 hours. But hey at least you got there.
Re: (Score:2)
no the 2 hours is because of install and reboot times
I buy hardware that will run my wares, so I have the luxury of Linux and *BSD drivers.
Re: (Score:2)
You got to download drivers and run your wares?
Luxury!
Why, back in my day we had to type our wares in from Compute's Gazette. And we didn't have a tape drive either! No, we had to put a sign on the keyboard that said "do not touch". Then we could run our wares..... if we were lucky!
Re: (Score:2)
no the 2 hours is because of install and reboot times
Aaah so a 5 year old $50 computer.
Re: (Score:2)
What do apps use to talk to the hardware?
Drivers!
Re: (Score:2)
Maybe other apps? It's hard to tell.
It's not like he's ever making sense anyway.
FX!32 on WinNT Alpha (Score:1)
Microsoft had the same basic thing on Windows NT 4 for Alpha. It had the FX!32 x86 emulator. IIRC it was a dynamic recompiler that saved off the recompiled code for faster operation the next time the app was run. Doesn't .Net also do this?
Re: (Score:3)
Re:FX!32 on WinNT Alpha (Score:5, Interesting)
I remember using it to play Starcraft on a Alpha 21164 using a Win2k beta. First run would be slow, then subsequent runs would get faster and faster...
Re: (Score:2)
From what I recall, it was a bit different. It intercepted x86 win32 system calls, substituted them w/ Alpha win32 system calls, and the rest of the stuff was the raw x86 to Alpha translations. Sun used a similar concept in Wabi emulation of Windows on their SunOS workstations
This one seems to be purely a raw translation of x86 to ARM, since the goal here is to support legacy Windows applications (written for XP, 7) on Windows 10 Mobile.
Re: (Score:1)
Re: (Score:2)
The Alpha CPU wasn't slow, even for then, but what was different then was that multiprocessing and multithreading applications weren't common, especially as mainstream Windows at the time was Windows 98, which didn't support SMP. That coupled w/ the fact that uniprocessing Alphastations and Alphaservers were expensive enough that Alpha based SMP workstations were out of the question.
What changed was after Windows XP merged the codebases of both 2000 and ME, mainstream Windows supported SMP. Intel took a
Re: (Score:1)
Re: (Score:2)
The Alpha CPU wasn't slow, even for then,
The Alpha was not slow for then, but by modern standards the 400MHz Alphas that were common in Windows NT Alpha machines are slow: my low-end smartphone is faster. The speed of the Alpha was part of the reason FX32! worked so well: a typical Alpha was about twice the speed of the fastet processor Intel sold, so even paying a pretty high emulation penalty let you run things very fast.
This isn't the case with ARM, and especially the kinds of ARM cores that you're likely to find in mobile devices. They're n
When you finally thought ... (Score:2)
... that you had enough memory in your phone.
You never heard about Bochs (Score:2)
Re: (Score:2)
Bochs is a software emulator running under a wide variety of OSes emulating a wide variety of CPUs. And it's opensource.
The point is that you don't need Microsoft's solution in order to run ARM apps in Windows and to run Windows applications within your favorite.
Re: (Score:2)
1988 Review in PCW [computinghistory.org.uk]
1991 Edition of the manual [computinghistory.org.uk]
In one year Windows Phone will be a ghost town (Score:2)
Re: (Score:2)
Is there anything about this better than an RDP solution now?
Or are they holding back on the external KVM part of the solution until they can run x86 binaries? I would think with external KVM and an RDP app would be all you would need in a corporate context to run RDP apps.
I have a hard time seeing emulated x86 running well, especially in mobile phone hardware footprints.
So as not to pay for a cellular data plan (Score:2)
Is there anything about this better than an RDP solution now?
You mean other than not having to pay hundreds of dollars per year to a cellular carrier for a data plan so that you can run RDP while riding the city bus or otherwise out of range of Wi-Fi?
Re: (Score:2)
I'm guessing the use of an external KVM eliminates that kind of mobile phone use scenario, unless you carry a KVM setup on the bus with you.
Re: (Score:3)
I recently made the move to Android myself.
Funny thing is, since that time, I have been more interested in looking to see what other people are using and I have seen more Windows Mobile devices in people's hands than I would have thought. My rough estimate is 1-2% of the people I have seen on public transportation have Windows Mobile devices.
Re: (Score:2)
Not sure it would require a lot of resources if you run e.g. an average 15-year-old Windows application. Back then PC came out with 128MB RAM, I also had one with 80MB RAM (Windows 98SE) which I upgraded a bit and wow the most ridiculous thing is we could do everything back then we can do today (web browsing, IM, playing movies and music on the computer, video games). Well, there was MSN chat and the video games were better.
Re: (Score:2)
Only one more year to wait to see how well, or poorly. x86 programs run on Windows Mobile devices. The problem will be that, I presume, that only 0.1 percent of Windows Mobile will have the horsepower to actually make this a useful thing to do. Looks to me like a Surface Phone could come out at the end of 2017 that will do the job with outstanding hardware, a high price, and will sell very well. Anything else will be ignored.
As someone who owns a Lumia 550 - the low end of Windows 10 Mobile phones, I quite agree, even though I like the phone.
For starters, Windows 10 Mobile already has support for Microsoft Office and Edge so I hardly see what are the desktop applications it needs to run. People don't usually use phones for content creation. If Microsoft was doing something like their erstwhile ARM based Surface, I'd see the point, but for this phone, I just don't. OneNote is particularly great on this phone.
While Windows
Oh, thank God... (Score:2)
Re: (Score:2)
Why not Windows 10 Mobile on x86? (Score:4, Interesting)
Is there some reason to not go this route? It seems a lot more obvious to me; no emulation needed. Continuum on Windows 10 Mobile on x86 solves most of these problems. I think Microsoft's last best chance for Windows Mobile to be anything other than a footnote is to support corporate desktops, and x86 phones that are also a corporate workers desktop seems like something they can manage in short order. At that point, good old-fashioned Microsoft inertia takes over and plenty of people start using their work platform as their personal device as well.
I don't see it conquering the world, but it's probably a profitable niche at least.
Re:Why not Windows 10 Mobile on x86? (Score:5, Interesting)
Is there some reason to not go this route? It seems a lot more obvious to me; no emulation needed. Continuum on Windows 10 Mobile on x86 solves most of these problems. I think Microsoft's last best chance for Windows Mobile to be anything other than a footnote is to support corporate desktops, and x86 phones that are also a corporate workers desktop seems like something they can manage in short order. At that point, good old-fashioned Microsoft inertia takes over and plenty of people start using their work platform as their personal device as well.
I don't see it conquering the world, but it's probably a profitable niche at least.
Since Intel gave up on mobile [recode.net] (and AMD never was on mobile and doesn't have the money to invest in this anyhow), going forward, why would anyone attempt to build an phone with x86 hardware? How could it possibly be a profitable niche?
You just have to face the facts, on mobile, it's ARM or nothing for the forseeable future...
Re: (Score:2)
Re: (Score:2)
I think MIPS has a fair chance in the market as well, but you are right that x86 won't cut it
Imagination Technologies purchased MIPS for only $60M and attempted to entice SoC manufacturers to use their cores for mobile. But mobile never played out for them and the company started losing money with that strategy so now Imagination is also retreating to the embedded space [fool.com] from mobile like Intel. So we are back to ARM being the only realistic choice.
Re: (Score:2)
MIPS is a horrible ISA (and I say this as someone who works on a MIPS compiler). Branch delay slots haven't made much sense since pipelines grew to be longer than three stages (and the branch likely instructions with their delay slots that are only used sometimes are a pain to model). The lack of complex addressing modes makes low-power designs hard (putting an add and a shift into your load pipeline is cheap, adding an extra instruction or two for every load or store is not). The ABIs are all horrible;
Re: (Score:2)
Because Intel's mobile SOCs are getting into budget devices and little else.
None of the phone vendors has much interest in moving away from ARM, and Microsoft isn't big enough in mobile to make them do it.
So, Microsoft can either play nice with ARM hardware or wither further into irrelevance (in the mobile market).
Most workstations have ample CPU power to emulate ARM apps---it makes sense to extend cross-platform support in this manner rather than trying to shoehorn a new ISA into a market where they have m
Re: (Score:2)
Because Intel's mobile SOCs are getting into budget devices and little else.
None of the phone vendors has much interest in moving away from ARM, and Microsoft isn't big enough in mobile to make them do it.
So, Microsoft can either play nice with ARM hardware or wither further into irrelevance (in the mobile market).
Most workstations have ample CPU power to emulate ARM apps---it makes sense to extend cross-platform support in this manner rather than trying to shoehorn a new ISA into a market where they have minimal presence.
To this day, Windows has a hardware abstraction layer below the kernel from back when they wanted to run on Alpha CPUs. Native ARM support is possible if they ever decide it's worthwhile.
Microsoft already decided to pull the lever on native ARM support as this was required to make Windows RT (which ran on ARM SoCs). In addition to the windows kernel, Office** on RT was a native ARM app that used the WinAPI. However, in typical Microsoft fashion, they decided it was only worthwhile to support native ARM for their own apps (after allowing others to beta this feature, they turned it off support for non Microsoft ARM-apps in the production release of RT).
**apparently visual basic was too hard
Re: (Score:2)
Why not Windows 10 Mobile on x86?
I bet they wanted to, they must have known Windows RT was a bad deal but it took them quite a while to get an Intel CPU in a non-"pro" tablet. With Intel cancelling their Broxton SoC in April, I don't think there's any suitable x86 hardware platform in production or on the roadmap. And with Qualcomm announcing the Snapdragon 835 on 10nm any process lead Intel had is caught up and possibly overtaken and Android/iPhone owns the market so Intel bailed. So now Microsoft has to bet on ARM and the unified windows
Re: (Score:2)
If you did have a phone made of x86, how exactly would that salvage the Windows Mobile platform? As it is, the current ARM based Lumias do run Microsoft Office: you can see and even edit the Word document or Excel spreadsheet that you created on the laptop (assuming it's either stored on OneDrive or transferred to your phone). In fact, the phone is great w/ OneNote: I've used it for things like Shopping lists, travel plans and so on.
The main shortcomings of this platform is that in the US, they often
Re: (Score:1)
Re: (Score:2)
I have a 8" x86 tablet running Windows 10, and it may be one of the worst mobile devices I've ever possessed. I got it for free with the purchase of a 13" laptop from the Microsoft store, so I can't bitch too much, but oh my god is Windows 10 a terrible terrible terrible small screen experience. I wish I could unlock the thing and installed x86 Android on it. As it is, it sits in a drawer and maybe, if I feel like paying for the mini HDMI cable and a Bluetooth keyboard, I might throw it on my TV to run VLC
Re: (Score:2)
"terrible terrible terrible on screen experience"
FTFY! :)
Re: (Score:2)
Last year I got one of those, mainly because it included a 1 year subscription of Office that I could keep in case the hardware was not good enough.
I'll agree that the small screen (1280x800) experience was not great, even after upgrading from 8 to Windows 10. For me, not being able to use Firefox (or Chrome) using just the touchscreen was what convinced me to sell the hardware and just keep the O365 subscription.
The tablet was a Lynx 7" with an atom CPU just like what powered the Tesco Hudl2 - a very good
performance would probably suck (Score:1)
I can't even get qemu to emulate a raspberry pi faster than the pi itself on a Core i7 processor. I don't suppose going the other direction would work any better.
Ancient game of RISC (Score:2)
I remember way back when, when Apple shifted Macs from 68000-based processors to the Power PC. Instantly, the fastest 68000-based Mac was the 68000 emulation mode of the Power PC. And native was faster still.
Re: (Score:2)
Native apps were faster, but apps under emulation were always pretty slow, especially on the early ppc models.
The fastest 68k based mac was actually an amiga with a 68060 processor (apple never moved beyond the 68040) running an emulator.
Re: (Score:2)
I remember way back when, when Apple shifted Macs from 68000-based processors to the Power PC. Instantly, the fastest 68000-based Mac was the 68000 emulation mode of the Power PC. And native was faster still.
As with a lot of semiconductor products they produced, Motorola did not make the effort necessary to compete using the later 68k processors so it is not surprising that emulation on a faster processor would yield good results. To be fair to Motorola, the 68k ISA was even less friendly to high performance designs than x86.
Re: (Score:2)
Intel just dumped 10 billion dollars into a sink hole trying to run ARM out of town only to end up running back home with their tail between their legs. AMD might have again have a competitive product on the desktop next year but they've been in poor shape for a long time. I can't imagine AMD management wanting to sign up to repeat Intel's expensive failures. Maybe if Microsoft offered a deal where they took all the risk/cost off their hands this might sign on. But Microsoft doesn't seem like they want to a
Re: (Score:2)
Need? (Score:2)
Is there much need for this, even in the corporate world?
I think what's much more useful in the corporate world is screencasting, so that the screen is essentially agnostic and you can project any video source on it, not be limited to x86 phone apps. That way if you want to use a windows mobile app with attachable keyboard, that's fine. If on the other hand you use an iPhone or Android app, it will still work just fine.
Microsoft has to face facts: They've lost the mobile market and have to create standard
Meesa thinks is the other way around... (Score:2)
Normaly, the less powerfull architecture is virtualized/emulated in the more powerful one.
That's why you could run (whay back when) X86 on alpha, but not the other way around.
If we asume ARM64 in Mobiles, X86 in Workstations, Desktops and Laptops, and a mix of both in tablets, we see that ARM64 is the weaker architecture, NOT BECAUSE OF THE ARCHITECTURE ITSELF (that's open to debate), but because of thermal disipation limits and power (battery) limitations.
Therefore, the emulation will probably be ARM64 emu
And still.... (Score:2)
I wonder why they used ARM at all (Score:2)
Microsoft would have been better off to choose an Intel mobile chipset and worked on this other stuff. Then when it was ready they could switch to ARM if they liked. However, chances are that even if ARM does get x86 emulation it will be terrible. It'll e
Wot, not enough exploits for ARM? (Score:2)