Are you SLAT Compatible? WP8 SDK Tip 01

Windows Phone 8 SDK has some new requirements you might not be aware of.

Firstly, it requires Windows 8 64-bit version.  I’ve already run into a few folks who had the 32-bit version of Windows 8 installed and were unable to run the phone tools.  Make sure you have Windows 8 64-bit edition.

The emulator is pretty spectacular in WP8 SDK, but there are a few more requirements for you.  The emulator runs in Hyper-V.  Hyper-V is only available in Windows 8 Pro Edition.  So to be able to run the WP8 SDK emulator you must have Windows 8 Professional 64 bit edition.  Making sure you read that, it must be the – Professional --- edition.

The emulator’s Hyper-V requirement requires a processor that supports Second Level Address Translation ( SLAT ) enabled hardware.  SLAT support was introduced to Hyper-V circa Windows Server 2008 as a  mechanism to reduce overhead during address mapping for virtual machines.  Since Hyper-V R2 on Windows 8 requires SLAT hardware, so does the WP8 SDK Emulator.

GOT SLAT?

There are two methods to check if you have SLAT hardware.  The best route is download the SLATStatusCheck tool from CodePlex ( https://slatstatuscheck.codeplex.com/ ).  This tool runs is a WPF 4.5 app which very simply indicates if you  have SLAT compatible hardware or not.  The tool is open source if you want to see how to do the checks yourself in code.

slatstatuscheck

The other route is CoreInfo.exe, a tool available from SysInternals ( https://technet.microsoft.com/en-us/sysinternals/cc835722.aspx ).  When you run CoreInfo.exe with a “-v” parameter, you will have a “*” next to  the “EPT Supports Intel extended page tables (SLAT)” entry.  Note coreinfo must be run in an admin level command prompt.

good-slat

CoreInfo can sometimes lie!  If you’ve already got Hyper-V running, it may erroneously return a “false negative” on the slat capabilities.  CoreInfo even tells you this in a screen entry (which I overlooked) – “Note: CoreInfo must be executed on a system without a hypervisor running for accurate results”.  Note that SLATStatusCheck returns the correct results regardless of whether Hyper-V is running or not.   The screen show below shows a false SLAT result off my Samsung Series 9 .

badslat

Hopefully this gives you an idea of some of the system requirements its going to take to get the WP8 SDK up and going, and help you avoid some frustrations.  Can’t wait to see some of the great apps you folks are working on!

 

MORE RESOURCES

Comments

  • Anonymous
    December 17, 2012
    I think this requirement was a big E.. realworldsa.blogspot.com/.../windows-phone-8-sdk-what-big-time-flop.html

  • Anonymous
    December 17, 2012
    @tadanderson - yeah, I feel the same way about apple requiring a mac to do iphone dev, and by license not allowing hackathon scenarios.  tough run.

  • Anonymous
    December 17, 2012
    @jhealy - I feel that mac pain too.  Sitting here with a new MacBook Pro by my side.  One thing the Mac has going for it though, is it is my best windows 8 environment.  Although I got the ThinkPad Twist last week so I can test the touch features.  Lugging 3 computers to work everyday blows!!! It was good of you to put this post together.  It will help some of those still struggling to get the Windows Phone 8 SDK emulator working.

  • Anonymous
    December 17, 2012
    @tadanderson - definitely seen some nice win8 on mbp but its all bootcamp/on the metal.  one thing you'll miss is the touch experience.  hard to really see what your app is going to do w touch without a nice touch device.  find a buddy w slate or something and ask to borrow for debug.  carpe developer.

  • Anonymous
    December 17, 2012
    This is all very well, but how do I know the machine that I am buying is going to be SLAT compatible when I cannot run the tools you mention?

  • Anonymous
    December 17, 2012
    @jim - I've either posted online to see if its supported on the hw vendors forum, or gone to best buy with the tools on a usb and run them.  doesn't make the sales clerks happy.  not a great solution, but its what I've got.

  • Anonymous
    December 17, 2012
    Hey, what's wrong with old good SystemInfo.exe? Just in the bottom of its output: Hyper-V Requirements:      VM Monitor Mode Extensions: Yes                           Virtualization Enabled In Firmware: Yes                           Second Level Address Translation: Yes                           Data Execution Prevention Available: Yes

  • Anonymous
    December 17, 2012
    @Pronichkin - never knew that existed.  kudos for the tip.  I'll mod the article and put that in, giving you credit.