Windows Phone 8 Emulator runs as a virtual machine on Hyper-V

Since we’ve been digging around the leaked Windows Phone 8 SDK some of our more eager readers have noticed that there are some fairly restrictive requirements to fulfil in order to get the Windows Phone 8 emulator running.

We’ve read through the SDK documentation in detail and spent a little bit of time understanding the hardware and software requirements and have put together a little guide so that developers can check if their system will be ready to run the emulator, or if it’s time for an upgrade.

Full disclaimer here: I am not an expert on virtualisation, if you spot what you believe to be an error in the below, get in touch.

The Windows Phone 8 emulator is a little more complex than the Windows Phone 7 emulator, running as a virtual machine on Hyper-V, a new virtualisation technology available in Windows 8 (and Windows Server 2008). I won’t go into too much detail about Hyper-V as a Microsoft product, you can find out more information here (opens in new tab), but an important requirement to note is that you will need a 64 bit processor.

From Windows 8 it’s easy enough to install Hyper-V, it is simply added as a feature from the control panel, but first we have to ensure that we have the right hardware.

Hyper-V on Windows 8 requires that your BIOS supports Hardware-assisted virtualisation, Second Level Address Translation (SLAT), and Hardware-based Data Execution Prevention (DEP). If that last sentence is another language to you, fear not, as Microsoft has a simple tool called ‘Coreinfo’ that will tell you if your system is ready. Follow the steps below to check your PC. Edit: As pointed out in our comments SLAT is only required when using Hyper-V with Windows 8, not for it's server counterpart.

  • Download the Coreinfo tool here from Microsoft (opens in new tab), and extract the contents of the .zip file to the root of your C:\ drive.
  • Launch a command prompt window (type ‘cmd’ into Start if you’re not sure how to do that)
  • Change the directory of your command prompt to C: by typing ‘cd \’ and hitting the return key
  • Type ‘Coreinfo.exe –v’ into the command prompt and hit return
  • You will now see a tabled output similar to the screenshot below, which shows the information from my system.

  • Look for the ‘SVM’ row in the table, if you see an asterisk (*) next to it as in my screenshot, your system supports hardware-assisted virtualisation
  • Look for the ‘NP’ row in the table, if you see an asterisk next to it, your processor supports SLAT, if you see a ‘-‘ like in my screenshot, it does not.
  • Next type ‘Coreinfo.exe’ into the command prompt and hit return
  • This will give a much more detailed output, you need to find ‘NX’ in the left hand column and check for an asterisk next to it to confirm that your system supports Data Execution Prevention (I’ve highlighted the row in my screenshot below).

So in my case, I need to replace my aging processor when I upgrade to a Windows 8 machine if I want to be able to run the Windows Phone 8 emulator. If my research is correct, all Intel i3, i5 and i7 processors or later support SLAT, or if you prefer AMD, the Phenom family and above will meet requirements.

Of course bear in mind that this does not mean you cannot develop for Windows Phone 8 if you don’t meet the hardware requirements, there is nothing to stop you connecting a Windows Phone 8 device to your PC and deploying your apps directly to that.

Thanks to Ignacio Raffa (blog) and @robertmclaws for the emulator images

  • I'm sorry, but that's incorrect;  Hyper-V doesn't run on a 32-bit system.  You can run either a 32-bit or a 64-bit guest OS on Hyper-V, but you need a 64-bit host operating system.
  • Thanks for the correction, I had mis-read the whitepaper I was referencing. I have updated the article to reflect the true requirements
  • Using an i7-3770k here.   For intel processors it will show you the following instead of svm and np:
    VMX  *  Supports Intel hardware-assisted virtualization
    EPT   *  Supports Intel extended page tables (SLAT)
  • Is the 64bit requirement just for the emulator or the whole SDK?
  • just the emulator, from reading the last paragraph
  • The big problem with this whole system is that you can no longer run VMware, so if you are developing other software that requires VMware, you're out of luck, it's either phone or VMware (although I think it is possible you may be able to run 32-bit vms with terrible performance, but not 64 bit for sure). :-(
  • Why is that?
  • You can always have both you know, as you have now Firefox or Chrome and ie
  • Old post, but no you can't. VMWare Workstation 9 when you try to open the VM says explicitly that VMWare will not work with Hyper-V enabled. I had to disable Hyper-V, dump everything from the VMWare virtual machine that I needed into a shared folder, and then re-enable Hyper-V.
  • Any idea if this will work in Parallels on a modern Mac?
  • So I have to remember to get the Pro version of Windows 8 as the Home edition does not have Hyper-V
  • This may seem like a bit of a silly question but it's possible for anyone to run this SDK, right? I'm no dev but would like to give it a shot, just to see what it's like.
  • WP8 SDK requires Windows 8 Release Preview to install. That's the easy part, everyone can grab the RP for free. But the emulator runs on Hyper-V, and Hyper-V in Win8 requires SLAT, hence it won't work on Core2 processors. Now if we could grab the VHD and start it in the "classic" Windows Server 2008 (R2) Hyper-V... and unlock all it's features, since it may be locked down as the WP7 images were... then "everyone" could experience the WP8 emulator without buying a new PC.
  • first, that's not what the question was. If your PC is so old that it doesn't support hyper-v, it's time to upgrade. developers shouldn't use old machines
  • My PC DOES support hyper-v. I can install Windows Server 2008 R2 with hyper-v and host VMs on it. Why wouldn't I continue using this machine?
  • To answer your question, yes, anyone can get it. It's just not an official release right now, but if you get the file you can install it on your Windows 8 64 bit PC. If you wait a few weeks you can download it directly from Microsoft (just like you can get the current tools).
  • Yeah, the hardware requirements don't bother me. An i5 running Win 8 64-bit should do, I believe. I'll just wait until the official SDK is available my Microsoft since that'll be easier than digging around.
    Alright, sweet guys, thanks for the info.
  • Ridiculous. It's like they want to make it as difficult as possible for people to develop for this platform.
  • So this means that windows phone application won't be running on Surface or Windows 8 like iPhone and iPad ?
  • This is wrong information. HyperV does. NOT require SLAT. Trust me, I run a data center with plenty of hyperv servers, and yes that includes hyper-v 3.0 (server 2012/ win8)
  • Mikro, the SLAT requirement is taken directly from the Windows Phone SDK documentation, we can only go from that. If you have hyper v running on processors without SLAT could you indicate the models you are using?
  • Intel X5482 and yes it does support SLAT. However, Hyper-V 3.0 on the server DOES NOT require SLAT. It appears as though on Windows 8 (desktop) SLAT is required for Hyper-V.

    I appologize, I was technically wrong saying SLAT isn't required for Windows 8 desktop for hyper-v to run; HOWEVER, SLAT is NOT required for Hyper-v 3.0 to run on Windows Server 2012.
  • I see, thanks for clarifying (and particularly for your apology, we don't often get those when there are discussions in our comments!) I will update the language in the article now to reflect the fact that these requirements are only for the Windows Phone 8 emulator on Windows 8 :)
  • I can confirm what mikroland is saying :) slat was only added as a requirement for windows 8, not the server 2k8/2k12 variants.( It is required for remotefx, which is definitely a hyper v feature worth mentioning). FYI I have all named OSes running atm, all either tested with or using hyperv
  • I understand that you could not know everything about "virtualisation" but for god sake, check your grammar before posting... it's virtualization
  • American vs. British English often uses z or s for words like this. As such, no correction is needed. For God's* (or perhaps gods' if you so believe this way) sake, try not to be a pompous ass if you're not capable of being mistake free.
  • Seriously? for one that would be a spelling mistake, not a grammar mistake. Second, that is the correct, original, English spelling of the word
  • If you guys don't mind, going back to subject, is the WP8 emulator able to run on a Hyper-V running on a CPU without SLAT/NPT support...and is NPT available on a K10 AMD CPU (this list seems to indicate it is?) which would be the one of the two things stated in this article one should have to run WP8...I can't find any other references requiring anything else (NX?) to run the emulator (could you be wrong, could it run on AMD, even earlier CPUs than Phenoms)?
  • How annoying, we've got several quad core Core 2's that storm through Windows just fine...what a needless expense to tack on to developers.
  • I am certainly no expert in this subject, but I have a question about ALL i3, i5, i7 processors supporting what is needed for the Windows Phone 8 emulator. For example, the i7 3770 supports VT-d and the i7 3770K does not. As I understand it, this is a key property. Can someone with more knowledge than I comment on this? If I had posted this a little earlier I could have been much more informative, but, unfortunately, my brain isn't what it was about 30 minutes ago! Here is a link about VT-d:
  • I also would like to know if it's possible to run Windows Phone 8 emulator using i5-4670K or i7-4770K processors (overclocked)
  • My PC: lenovo e49
    core i5 3210
    Check coreinfo (VTx, SLAT suport)
    os: win8.1 pro 64bit
    But i don't run windows phone emulator
    help me to run??
  • AMD A series processors (A10, A8) will support running windows Phone 8 emulator ? i am planning to buy a AMD A10 laptop for WP8 developments. please reply me...
  • Yes it will. I have an A10 laptop. HP G6-2313AX