W10 Mobile x86 .exe Emulator

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
To be clear, Windows 10 on ARM is about PCs and not phones.
source
Microsoft's announcement of full Windows 10 on ARM will eventually bring the full power of Microsoft's unique universal OS to a pocketable form factor.
source
Well look at that!

For about a month now, pretty much all consumer "tech websites", including WCentral, have been insisting that MS intends to run Windows x86 desktop software on ARM based W10M devices. The video Rosebank linked to above was just one of many such examples. They have changed their tune and are now confirming that MS actually intends for this to work on full W10, not W10M. That's exactly what I've been saying all along.

Here's another change:

the hardware required for Windows 10 on ARM starts with the recently announced Qualcomm Snapdragon 835
source
So, in contrast to what most WCentral staff have occasionally suggested, this actually won't run on any current hardware, also exactly like I've been saying.

What WCentral and others are still missing, is that MS is currently talking about this in the context of mini tablets or even ARM based laptops (not phones). As such, a device using an Intel Core M CPU is perfectly feasible (they are actually really close to being feasible for phones too). What then is the point of using an ARM based CPU, if we could just as well get the real deal and save ourselves the overhead of emulation?

Is Qualcomm's non-CPU related technology (NFC, SensorCore, Cellular Radios, DSP, etc) so much better than anything we could ever expect to find in an Intel SoC, that it's worth using Qualcomm's solutions to build 3-in-1 devices, despite the performance hit caused by emulating the x86 ISA? Is it something else? Would be nice to get some clarification on that.

It will also be interesting to learn exactly what is in the SD835 that allows it to emulate the x86 ISA so efficiently.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
I was just reading up on this from MJF recent tweet, its interesting and I think what ARM can offer with the 835 certainly suggests it is a very capable mobile cpu, the only reason I can see for why they are doing this is to reduce the size of the device until the operating system is running on a mobile "phone" device. Brings me full circle, x86 emulation on a phone or device (ARM) that little bit closer.

A program could be made to run .exe files via the Emulator, Converting x86 for use with ARM processors.

1 simple Emulator could revolutionise the Windows 10 mobile platform .

"There are a lot of dots getting connected here between the realities of today's technologies and the Surface phone, and it's becoming obvious how Microsoft's going to bridge the remaining gaps. Inking, mixed reality, UWP, OneCore, Windows Hello, Windows 10 on ARM, far-field speech-communication, Continuum, and more all promise a world where the device in your pocket can do much more than just run dinky phone apps. You are seeing that world being created right in front of your eyes.
Windows 10 on ARM is game changing. Make no mistake about it: the path to the ultimate phone just became much clearer. "
>>http://www.windowscentral.com/surfa...ource=wp&_ga=1.88380312.2094001824.1478878069
thus bridging the app gap, I am seriously surprised this cant be done.
.
 
Last edited:

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
the only reason I can see for why they are doing this is to reduce the size of the device until the operating system is running on a mobile "phone" device.

Makes no sense. The SD835 will surely also power phones, so why not here? Why start off with larger devices that would, at least in terms of CPU performance, be better off with an Intel Core M that doesn't incur the cost of emulation?

I was just reading up on this from MJF recent tweet, its interesting and I think what ARM can offer with the 835 certainly suggests it is a very capable mobile cpu

Of course it's capable, but no matter how capable, it will always be slower (and draw more power) than a solution that doesn't rely on emulation. Surely that is clear at this point.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
Of course that is clear, but as you and I both pointed out, the ARM CPU offers other features the Intel does not, so there is a balance, and I feel that balance is tipping (as we move forward now) in ARMS favour with regards mobile computing. Its very exciting actually and I have also read that this Technology is currently running on an 820 cpu.
Interesting you mention "IntelM that doesn't incur the cost of emulation"
But if you think about cost as a figure ???$$$ then things make much more sense.
Qualcomm Snapdragon 820 runs about $70. But an Intel Core M processor starts at $281
 
Last edited:

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
^ That is a very good point. A cost difference of $200 could explain this move all by itself. I've never been interested in a device with a Core M CPU myself, so I just assumed they would be a lot cheaper, but no. Looks like Intel is more interested in short term profits than it is in existing for another decade.

Interesting you mention "IntelM that doesn't incur the cost of emulation"

Not sure what you mean by that. Of course an Intel Core M doesn't incur the cost of emulation. There is no emulation for x86 software on that CPU as it runs natively.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
I was just interested you used the term "cost" to describe that the Intel coreM would not incur a cost of Emulation, this sparked my idea about Cost in the literal sense in Monetary terms.
 

Rosebank

New member
Oct 6, 2016
445
0
0
Visit site
I know its running on an 820 (but that's pretty much the best we have atm) for testing this out, I doubt it will run on anything lower than the 835 but that's a guess, they are looking to overlap the 2 operating systems eventually, W10m offering a cheaper option compared to a device running the full blown windows OS. Also the ranges being spoken about for the NEW device is 6, 10, and 14 inch display formats. The 6 inch device commonly known as a phone or Phablet might have a new Label completely?
 
Last edited:

Joe920

Active member
Nov 13, 2012
1,677
0
36
Visit site
So are the people developing this the same people that would otherwise be making W10m less buggy? Because that would explain a lot..
 

Spectrum90

New member
Oct 11, 2014
409
0
0
Visit site
Well look at that!

For about a month now, pretty much all consumer "tech websites", including WCentral, have been insisting that MS intends to run Windows x86 desktop software on ARM based W10M devices.
...
It will also be interesting to learn exactly what is in the SD835 that allows it to emulate the x86 ISA so efficiently.

After a month of a5cent non-sense, we actually have x86 emulation on ARM.

Performance looks pretty good in the demo with the snapdragon 820 CPU.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
Sorry but nowhere in this entire thread have you said anything of the kind.

In this thread I explicitly mentioned that W10M can't run Win32 desktop software in post #12:

And again, at this point we haven't even addressed the OS, which Marry Jo Foley would have if she had a technical background. If MS really intends to run Win32 desktop software in continuum mode on a phone, then we'd have to use W10 rather than W10M.

I've actually been saying this very thing for a very long time already, repeatedly and in many threads, because this isn't the first time the topic of W10M's (in)ability to run Win32 desktop software has been raised. This is the earliest mention I could find in two minutes, but there are many more. That you missed it or don't understand this is excusable, but I wish the "tech press" also had some understanding of this sort of thing. It would instantly have removed half of the garbage that was being reported.
 
Last edited:

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
After a month of a5cent non-sense, we actually have x86 emulation on ARM.

Ah, you again, the person who's every idea and prediction have been proven false over the last year. Welcome back.

In a nutshell, my points in this thread boiled down to two things:

  • x86 emulation won't run in a way that anybody would find acceptable on current hardware (latest reporting confirms that)
  • It doesn't make sense to emulate x86 software on phones, as Intel's Core M has reached a point where it's viable for phablet sized devices. That begs the question why we should accept the performance hit of x86 emulation, when we can have the real thing without that performance hit. I didn't consider anything except technical criteria however. If I made a mistake that was it. I think Rosebank might have hit the nail on the head by pointing out the cost difference between Snapdragon 8xx and the Core M chips. However, I did say that if MS is in fact attempting to emulate x86 on ARM, then we're missing part of the puzzle. That cost difference could very well be that puzzle piece.
I see no non-sense, but you're welcome to quote the things you disagree with if you think otherwise.
 

EspHack

New member
Jun 11, 2013
1,279
0
0
Visit site
Well look at that!

For about a month now, pretty much all consumer "tech websites", including WCentral, have been insisting that MS intends to run Windows x86 desktop software on ARM based W10M devices. The video Rosebank linked to above was just one of many such examples. They have changed their tune and are now confirming that MS actually intends for this to work on full W10, not W10M. That's exactly what I've been saying all along.

Here's another change:


So, in contrast to what most WCentral staff have occasionally suggested, this actually won't run on any current hardware, also exactly like I've been saying.

What WCentral and others are still missing, is that MS is currently talking about this in the context of mini tablets or even ARM based laptops (not phones). As such, a device using an Intel Core M CPU is perfectly feasible (they are actually really close to being feasible for phones too). What then is the point of using an ARM based CPU, if we could just as well get the real deal and save ourselves the overhead of emulation?

Is Qualcomm's non-CPU related technology (NFC, SensorCore, Cellular Radios, DSP, etc) so much better than anything we could ever expect to find in an Intel SoC, that it's worth using Qualcomm's solutions to build 3-in-1 devices, despite the performance hit caused by emulating the x86 ISA? Is it something else? Would be nice to get some clarification on that.

It will also be interesting to learn exactly what is in the SD835 that allows it to emulate the x86 ISA so efficiently.

our mythical x86 decoder! of course!

no really, this is just win RT that now lets your ARM chip run win32 apps other than office and paint, preferably compiled for ARM, but only 32 bit x86 otherwise, the entire OS will run natively on ARM, its just partial x86 app support, afaik the demo is running on SD820, and somehow photoshop ran decently

now the phone specific bits that were being developed on w10m will probably go to full w10, just like hololens' specific software is getting bundled with w10 creators update, and then "mobile" will be just the 3rd main edition of windows after home and pro

as for why go through all the trouble here? power efficiency of course, imagine your laptop being always on and always connected, most people only need x86 software from time to time, this makes perfect sense in this scenario, and so far only ARM chips manage to do this

and maaan do you remember how serious was surface 2's battery life? imagine that at 14-15" on a big fat laptop, ofc it will die a while after you start up some emulated x86 app, but that wont be all the time :p
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
our mythical x86 decoder! of course!
:winktongue:

no really, this is just win RT that now lets your ARM chip run win32 apps other than office and paint, preferably compiled for ARM, but only 32 bit x86 otherwise, the entire OS will run natively on ARM, its just partial x86 app support
Exactly how I see it too.

afaik the demo is running on SD820, and somehow photoshop ran decently
They don't say what it's running on, but there is a section where the system control panel is visible which lists the SD820. Since this is pre-production hardware/software it's impossible to say if that's correct. But if it runs that well on an SD820, then why restrict it to the SD835? On the other hand, the Photoshop feature that was demonstrated was delegated to the GPU. That was practically cheating, as it wasn't actually running on the CPU at all. Same applies to the game, as it did nothing but render a static scene on the GPU. To convince me MS will have to demonstrate some RTS game play against an AI player (or something else that is CPU bound). Then I'll be convinced too.
:wink:

now the phone specific bits that were being developed on w10m will probably go to full w10, just like hololens' specific software is getting bundled with w10 creators update, and then "mobile" will be just the 3rd main edition of windows after home and pro

While possible, I very much doubt that is what MS has planned. W10M has the same reasons to exist as Windows 10 IoT, or Windows Holographic. While W10 can integrate all the features of the smaller SKUs, and replace W10M entirely in some instances (like the one we're discussing), that doesn't make the stripped down and more specialized SKUs worthless.

For example, having W10 on a phone sized device means you also get all the maintenance tasks and administrative headaches that come with full W10. In contrast to what Daniel Rubino claimed, such a device would also be susceptible too all the malware in the Windows ecosystem. If x86 software can run, then x86 malware can run too. A Win32 desktop app also isn't sandboxed. W10M avoids all of those issues. Furthermore, W10M requires only a third of the storage space to install, and can run with far less RAM. That allows MS to bring UWP compatible hardware to price points that they simply can't hit with the hardware requirements of W10.

Unless MS decides that the UWP has no business running on cheap hardware (which IMHO is already contradicted by the existence of Windows IoT), then I don't see W10M going away anytime soon.

as for why go through all the trouble here? power efficiency of course, imagine your laptop being always on and always connected, most people only need x86 software from time to time, this makes perfect sense in this scenario, and so far only ARM chips manage to do this

Intel Atom chips support connected standby. With the introduction of Intel's 7th generation Core CPUs, the entire Intel CPU lineup now supports connected standby as well (MS calls it modern standby). That's why I don't think this is a valid argument anymore. We can obviously find ARM chips that draw far less power than an Intel Core M CPU, but here we're talking about the highest end ARM chips only. I have no idea how many watts an SD835 draws, but I doubt it will be notably different from an Intel Core M chip. That's just a guess, but as you can tell I'm skeptical that the power efficiency argument holds that much weight, particularly after also considering the emulation overhead, which would be far less efficient than using the real thing.

Rosebank's price argument seems far more convincing to me. The fact that Qualcomm's offerings come with more mobile focused features also seems more convincing to me, but less so than the price angle.
 

BackToTheFuture

New member
Aug 9, 2013
44
0
0
Visit site
I'm chipping in again.

The reason why only pure 32-bit applications are to be emulated is, IMO, down to leveraging the WOW64 architecture, where it enables 32-bit code to run on 64-bit CPU.
1. On x86-64, the CPU runs 32-bit code natively, so WOW64 simply turns a switch to tell the CPU to run in 32-bit mode, and no performance hit. This is what happens on most of our PCs at the moment.
2. On IA-64 (Intel Itanium), WOW64 performs binary translation, with massive overhead. Statements from Microsoft are here: https://msdn.microsoft.com/en-us/library/windows/desktop/aa384219(v=vs.85).aspx

WOW64 on ARM will also perform binary translation, with the unavoidable cost. It will work, but not efficient, as high CPU usage means less battery life, negating the power consumption advantage that ARM has. The only convincing argument is the low part cost of ARM.

However, I have a hypothesis that, instead of on-the-fly translation, they will translate all the x86 binary to ARM at INSTALLATION TIME. That sounds more probable.

They can enable legacy support on W10M as well, by asking user to install a service patch at their own discretion. By default, W10M should be a trimmed down, light weight version of full Windows.
 

a5cent

New member
Nov 3, 2011
6,622
0
0
Visit site
However, I have a hypothesis that, instead of on-the-fly translation, they will translate all the x86 binary to ARM at INSTALLATION TIME. That sounds more probable.

I thought about that too. While theoretically possible, I imagine that would be extremely difficult to do well (reliably and still somewhat efficiently) without being able to make any assumptions about the runtime state of the CPU. I wouldn't want to do it, but I agree that it can't be ruled out either.

However, I have since found this:

https://www.google.com/patents/US20120260067

If that is what MS is working with, it's similar to the decoder we mentioned earlier.
 
Last edited:

BackToTheFuture

New member
Aug 9, 2013
44
0
0
Visit site
I thought about that too. While theoretically possible, I imagine that would be extremely difficult to do well (reliably and still somewhat efficiently) without being able to make any assumptions about the runtime state of the CPU. I wouldn't want to do it, but I agree that it can't be ruled out either.

Translation at install time means recompiling binary x86 code to binary ARM code once, so when it runs on the ARM machine, it's purely ARM binary, nothing else needed at runtime. If the application isn't so CPU-specific, it should not be a problem, when they were able to translate on-the-fly. Code is code after all.

However, I have since found this:

https://www.google.com/patents/US20120260067

If that is what MS is working with, it's similar to the decoder we mentioned earlier.

This is different. WOW64 is software, they could do it on other architecture, they could do it on ARM as well.

The design you linked is of a hybrid architecture, similar to what AMD/VIA announced in 2014. It has never come to fruition (yet). I don't know about other CPU families, but nowadays, on x86 CPUs, the electronics do not perform the x86 instructions directly, but x86 instructions are first translated to hardware microcode, then these microprograms are carried out on bare silicon transistors. Adding an ARM decoder to the CPU is not so far-fetched, where ARM instructions are translated to microcode, the core design does not change. The problem is, the CPU die becomes bigger with more transistors, and such hybrid CPU costs more than a pure x86 one, not to mention may sip more electricity.

My opinion still is, WOW64 on ARM is just a stop-gap solution, until Intel finally gets their acts together. I think Intel gimped Atom's performance on purpose in order to sell more Core CPUs with much higher margins.
 

Members online

Forum statistics

Threads
322,916
Messages
2,242,890
Members
428,004
Latest member
hetb