Microsoft are seriously <i>killing it</i> in emulation these days.<p>First I was amazed with them getting Xbox 360 (PPC) games running <i>at full speed or better</i> on the Xbox One (x86) and now we have x86 on ARM.<p>They have some wizards working on this stuff.<p>Edit: I wonder if Dave Cutler is involved in this x86 on ARM stuff? I think he was with the Xbox 360/Xbox One.
This excites me. I work with a lot of geospatial industry tools, many mobile tools are still based on old window CE/pocket PC/windows mobile platforms; I hope to see these snapdragon devices overtake this area.<p>Mobile data collection tools on iOS and android devices are rather poor (at least open source ones), hopefully this will help solve this problem—we'll just be able to use windows applications that work and are better developed. The windows ecosystem still seems easier to me than iOS / Android, perhaps that's just my bias or that I see more development options.<p>This could be a huge turning point for Microsoft's mobile divisions.<p>x86 drivers are still something I'm curious about here...<p>[edit: I should also mention, the reason why geospatial tools comes into play here is because the snapdragon CPUs have integrated GSM and GNSS (GPS) on the die. Currently, x86 based tablets have to use a separate component, and many don't come with it or even provide GNSS as an option]
I am seriously impressed with Microsoft. I haven't used windows in years but they are releasing tons of useful things. VSCode is great on Ubuntu and every version of OS X I have run it on. Plus tons of other cool things like bash on win; etc.<p>Also, I have a bizspark Azure subscription and it's not a perfect UX; but man does it beat AWS
For any Microsoft insiders with knowledge about this, a few questions:<p>1. In the talk they claim that they get "near native" speed from the translation. Can we have some real number of what can be expected? What about warm up time?<p>2. Is the x86 translation layer only available in user space, or can x86 drivers be loaded for hardware that doesn't have arm drivers yet (or the manufacturer doesn't care about making them)<p>3. Are there any plans in the future for supporting x64 code as well in the translation layer?<p>Edit: One more:<p>4. Are there any plans on supporting Arm v7 in the future, e.g. with Surface/Surface 2 support?
Man, that League of Legends desktop icon on the test machine is such a tease. I would love to know what the status of x86 gaming on ARM devices would be, especially for something competitive that runs on most anything like LoL
Does this emulation work for x86-64 executables too?<p>EDIT: no [1].<p>[1] <a href="https://www.theverge.com/2016/12/7/13866936/microsoft-windows-10-arm-desktop-apps-support-qualcomm" rel="nofollow">https://www.theverge.com/2016/12/7/13866936/microsoft-window...</a>
Odd thought: the existence of an ARM Windows, makes it much simpler for <i>Apple</i> to ship ARM PCs.<p>The macOS development stack has been re-tooled to output LLVM bitcode within its "fat" binaries for a good while now. It'd be very simple for Apple to throw the switch on a compile farm ala the one Google has for Android APKs, and suddenly have ARM downloads for everything on the Mac App Store (without requiring any re-submissions.) Which means it wouldn't be hard at all for Apple to ship a "functional" ARM macOS computer... just, until now, such a machine wouldn't have had a very good Windows story. No Boot Camp, no cheap virtualization, etc.<p>Suddenly, that story is a solved problem.
I'm surprised that nobody has mentioned FX!32. That was the binary translation layer that Windows NT on DEC Alpha used back in 1996 or so to run x86 Windows binaries. There is an old Digital Technical Journal article about it here: <a href="http://www.hpl.hp.com/hpjournal/dtj/vol9num1/vol9num1art1.pdf" rel="nofollow">http://www.hpl.hp.com/hpjournal/dtj/vol9num1/vol9num1art1.pd...</a><p>Everything old is new again!
HN is probably not the right target for this type of device. Either way we need Windows 10 on ARM to succeed for Intel to have more competition. I also do think it will be successful if it works at least as well as Intel's Atom-based Celeron and Pentium laptop chips, especially in emerging markets.<p>Intel shot itself in the foot by replacing the Core architecture in mobile Celerons and Pentiums with Atom, and also by starting to rename lower performance Core M chips to Core i3 and Core i5. This will make it easier for ARM and AMD to "catch-up" and even beat Intel at these levels, because Intel got greedy and tried to trick the market with lower-performing chips at the same price points as for previous (and more powerful) generations.
There have been rumors of a 'surface phone' that runs Win 10 (not mobile) for a couple years now. Most expected some kind of future Intel chip to enable that, but ARM support certainly opens up the possibility. Just what Windows phones need - another OS change!
Interesting - something they should have done rather than the orphan WindowsRT, in my opinion.<p>I wonder if this ends up being the inheritor of Windows CE for embedded ARM-flavoured devices. I also wonder if this means that the Win10 ARM kernel has the full Windows API - so if you built an ARM PE executable that could run natively. I suspect 95% of the pieces are in place for that but it's not yet been productised.
Please correct me If I am wrong. But I think with WSL and this, Microsoft proved they are much much more superior than Google and Apple when it comes to serious system software development (they have to be, they have developed one of the most complex Kernel of the all times and maintained and improved it for decades. Yes I am linux guy too. But Widnows Kernel is extremely complex and well architectured piece of software ever written). Yes, Google does have very good applications, apple does have too.<p>But when it comes to hardcore system software development stuff. They are unbeatable. Emulating entire x86 on ARM? This is mind blowing.<p>They have pulled good emulation before too (one I think was inside XBOX).<p>But this is going to be serious. I would say very serious.<p>Extremely good battery life would give Microsoft, very good edge over Apple.<p>1) Qualcomm will be the winner. and so other ARM CPU manufacturer. and Intel is the biggest loser here.<p>2) Microsoft will hit market with this. After this they will have extremely good position to release good phone, and here we stand, I see successful future for Windows Phone.<p>3) From Computer Architecture perspective, the bottleneck is not memory or CPU speed. It is IO and energy. I don't know how this will impact on IO. But I am almost sure this is unbeatable from energy efficiency, and when I (and almost all people I know) buying a laptop. battery life is almost the most important aspect of it.
They are doing this because they want the benefits of great ARM battery life. But they are emulating x86 on ARM. So they believe that emulated x86 on ARM will have a better battery life than native x86. The only way I think this could be possible is if they measure battery life of an idle device. Maybe someone can disabuse me of this belief.
Really interesting.<p>I can see a potential milestone Windows 10 S on an Arm V8 based laptop with all day battery+. Sort of a Surface RT but without any excuses.<p>If Apple follows suit and creates a light weight, network centric laptop experience around iOS, then you'll have three contenders for the 'appliance' environment, ChromeOS, Windows 10 S, and iOS. Each with their own 'laptop' design ethic, Pixel, Surface, MacBook.
If that runs great on phones, and has virtualization support for e.g. running ARM Linux guests, I would change both my Android phone and my Ubuntu laptop for one phone (e.g. Snapdragon 835 or better + 8-12GB RAM + 256GB flash + USB 3.0 OTG), using a dummy screen + keyboard as laptop replacement.
Does the x86/x64 cpu emulation work for JIT code or other self-modifying code? (Copy protected games, for example?) In the linked presentation they just briefly mention doing a load time(?) transpile of x86 to arm64 and caching the result on disk. What about exe packers that map memory rw then rx after unpacking, such as UPX?
Windows 10 on ARM would allow Apple Bootcamp on ARM-based MacBooks. There have been rumors about Apple moving to ARM and potentially bringing processors in-house. I wonder if that influenced Microsoft's thinking.
Strategically interesting because, up to now, the Dalvik bytecode runtime and the subsequent pre-compiling ART runtimes were the best way to do ISA-independent application environments. Apple's fat binaries got in early enough in their (smaller) developer community for Apple to avoid being tied to an ISA. Microsoft was handcuffed to an x86 legacy boat anchor. But now they have escaped, and those other approaches are less of an advantage.
Wow, This is brilliant. Microsoft is making leaps and bounds improvement to keep their consumer base happy.
Almost ten years after switching to Linux, I think I might gladly use a windows machine as a second PC.
Can someone explain how they are achieving high execution speed? I would have expected the speeds (or at least the start-up times, if we have dynamic recompilation) for x86 on ARM to be outright abysmal.
Anybody know when we can expect a phone out that can emulate x86 Windows 10? End of 2017 is the first estimate I heard but I'm not sure how realistic that is.
I dont know much about where to find these chip or what I am looking for but...<p><a href="http://i.imgur.com/mRdk6ZD.jpg" rel="nofollow">http://i.imgur.com/mRdk6ZD.jpg</a><p>This is an ancient chip, however I also found MediaTek ones for ~ $10, which had 4 cores and were 1.6ghz SoC.<p>Sounds to me like we could seriously see $100 laptops that actually function soon.
If they're supporting x86 emulation to run desktop apps will they support compiling native desktop ARM apps?<p>They're essentially supporting the end result, I would hope they don't force developers to go through emulation to try to encourage them to write a universal windows app
Great potential for a Win10 phablet I can develop on that also lets me make phonecalls.
Not for big projects, but an anywhere device. Does Win10 support non VoIP calls?