HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Agenda The Always Connected PC Evaluating Effort Recompiling and Debugging

Signing and PackagingHBI: MicrosoftFor WinHEC Confidential 2018 11-05-18 Summary and Best PracticesShared under NDA © 2018 Microsoft Q&A Always Connected PC

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft

Windows 10 Amazing battery life LTE Connectivity Instant On I traveled from Thursday – Sunday last week with only my ARM64 device. I used it for email, Twitter, web surfing, Skype meetings, a WebEx screen test, and even for looking at some code in Visual Studio. What I didn’t do was recharge the battery. It resumes instantly when I want to use it, and with the SIM card it’s always connected. – Ginny Caughey MVP HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Always Connected PCs Available

Snapdragon 835 ASUSHBI: NovaGo MicrosoftFor WinHEC Confidential 2018HP Envy X2 Lenovo Miix 630 TP370QLShared11-05-18 under NDA © 2018 Microsoft

Samsung Snapdragon 850 Lenovo Yoga C630 It’s “Just Windows”

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Compiled for Compiled for Compiled for X86 X86 ARM64 ARM64 Compiled for ARM64Compiled for Compiled for ARM64 ARM32 ARM64 ARM64 ARM64 ARM64

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Compiled for ARM64 x86 Emulation x86 Code x86

x86 app (e.g. Photoshop) Edge, Cortana, Shell… Expected Workload Type x86 System DLLs performance x86 System DLLs x86 System DLLs

CPU-intensive Native System DLLs CHPE DLLs Native Code  Native System DLLs Native System DLLs WOW Abstraction Layer CHPE DLLs For User mode WinHEC 2018 I/O-intensive  HBI: Microsoft Confidential X86-to-ARM Shared11-05-18 under NDA CPU Emulator System Services (NTDLL) GPU-intensive  © 2018 Microsoft System Services (NTDLL)

Windows Kernel + Drivers mode Kernel Kernel

CPU Graphics Disk/Networking H/W Always Connected PC at a glance

Brings amazing battery life and connectivity It’s still Windows (and runs x86 apps)

Drivers do needHBI: to MicrosoftForbe WinHEC recompiled Confidential 2018 for ARM64 Shared11-05-18 under NDA © 2018 Microsoft Testing and Signing and Evaluating Recompiling debugging shipping HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft https://aka.ms/Win10onARM HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA Developer reference for Windows 10 on ARM © 2018 Microsoft Testing and Signing and Evaluating Recompiling debugging shipping HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Evaluating Scope Driver-only projects Will need to be rebuilt as ARM64 using the latest tools Possible to not need any code changes Be aware of custom ASM code and 3rd party dependencies

UI componentsHBI: MicrosoftFor WinHEC Confidential 2018 Can remain x86 or move to ARM64 Shared11-05-18 under NDA Highly dependent on workload and dependencies © 2018 Microsoft Recompiling UI Components

Keep as x86 if: Not particularly performance intensive or if I/O- or GPU-bound Dependent on frameworks not yet available for ARM64

Rebuild as ARM64HBI: MicrosoftForif: WinHEC Confidential 2018 CPU Intensive Shared11-05-18 under NDA Need to match bitness of driver Need to be loaded into a native process © 2018 Microsoft Testing and Signing and Evaluating Recompiling debugging shipping HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 2017 Update to the latest preview Download the 15.9 preview at https://visualstudio.com/pre Select C++ compilers and libraries for ARM/ARM64 Not already using VS2017? Allows you to compile your codeHBI: for MicrosoftARM64For WinHEC Confidential 2018 Produces faster and more secure codeShared for other11-05-18 architecturesunder NDA too Can still target down-level OS (e.g. Windows XP) Can sign your drivers within VS 2017 © 2018 Microsoft Kits

Windows Driver Kit (WDK) Version 1709 or later is required to support ARM64 drivers Windows 10 SDK Version 1709 or later is requiredHBI: to support MicrosoftFor WinHEC ARM64 Confidential drivers 2018 The most recent preview is recommendedShared to support11-05-18 under ARM64 NDA applications © 2018 Microsoft Demo HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA OpenVPN Recompilation © 2018 Microsoft HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Testing and Signing and Evaluating Recompiling debugging shipping HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Get an ARM64 Device Testing requires a physical ARM64 device There are no ARM64 VMs or supported emulators today Device availability Always Connected PCs are on sale in many regions around the world Reach out to us if you are blockedHBI: by MicrosoftFor device WinHEC availability Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Setup for Debugging Kernel debugging support KDNET is supported with USB NICs on all ARM64 devices WinDbg supports ARM64 ARM64 symbols are available as with any other architecture

Visual Studio supportHBI: MicrosoftFor WinHEC Confidential 2018 Remote debugging to an ARM64 targetShared is supported11-05-18 under in Visual NDA Studio 2017 3rd party tools © 2018 Microsoft More tools continue to add support for ARM64, such as DebugLogger Testing and Signing and Evaluating Recompiling debugging shipping HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Signing Attestation sign or WHQL sign

HLK Test in ARM64 Mode, or ARM64 Mode + x86 on ARM Mode

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Signing

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Signing Attestation sign or WHQL sign

HLK Test in ARM64 Mode, or ARM64 Mode + x86 on ARM Mode

HBI: MicrosoftFor WinHEC Confidential 2018 Not ARM-specific W10 and EWDKShared11-05-18 test under sign, NDA but deploying requires MSFT sig © 2018 Microsoft • How to sign across releases Signing

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Shipping Windows Update ARM64 drivers are fully supported on Windows Update Ensure a smooth experience for customers by submitting drivers when ready Installers If an app needs to install the correctHBI: Microsoftdriver,For WinHEC use the Confidential IsWow64Process2 2018 API to detect ARM64 On a webpage, offer the correct downloadShared by checking11-05-18 under window.navigator.userAgent NDA © 2018 Microsoft Testing and Signing and Evaluating Recompiling debugging shipping HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Summary and best practices Always Connected PCs are here Windows 10 on ARM enables amazing portable scenarios while still being Windows Updating for ARM64 is doable Updating drivers for ARM64 is worthwhile and may not take much effort Make sure you’re on the latestHBI: version MicrosoftFor of the WinHEC Visual Confidential Studio 2018 tools Shared11-05-18 under NDA Don’t forget © 2018 Microsoft NDIS drivers need to support version 6.30 to run on ARM64 Use IsWow64Process2 to detect when running on ARM64 Christiano Aman, President of Qualcomm

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Jerry Shen, CEO of ASUS

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Roanne Sones, Head of Windows Platform

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft Call to action Session Objective(s): Understand new scenarios possible with Windows 10 on ARM Provide guidance on how to support Windows 10 on ARM Rebuild drivers to support ARM64 The tools and documentation are ready HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft For More Information https://aka.ms/Win10onARM

HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft

Contact [email protected] if need more info. HBI: MicrosoftFor WinHEC Confidential 2018 Shared11-05-18 under NDA © 2018 Microsoft