Surface Duo emulator release notes

You can download the latest version of the emulator from Microsoft Download Center. Refer to the installation instructions for more information.

2021.317.2 (March 18th, 2021)

This release contains the following updates:

  • Fix the TwoPage spanning issue in Surface Duo Samples.
  • Some other bug fixes for the emulator.

2021.205.4 (February 18th, 2021)

This release contains the following updates:

  • Introduce Surface Duo Samples, which is a collection of code samples built in Kotlin.
  • Refresh the existing app samples.
  • Some other bug fixes.

2021.114.2 (January 27th, 2021)

This release contains the following updates:

  • Bring in platform update from Google.
  • Fix the reset script not working in Windows issue.
  • Check ANDROID_HOME before overriding Android SDK path in the launch script.
  • Some other bug fixes.

2020.1210.4 (December 17th, 2020)

This release contains the following updates:

  • Introduced hero apps to showcase the dual screens, including TwoNote, SourceEditor, PhotoEditor, Widget.
  • Preloaded Microsoft Outlook.
  • Removed Calendar app.

2020.1118.1 (November 20th, 2020)

This update includes bug fixes and removes the "Tent" button to match the hinge slide control in the extended controls window.

2020.1014.2 (October 21st, 2020)

This release contains the following updates:

  • 3D device posture view in the Extended controls window.
  • New controls for hinge angle adjustment and changing posture.
  • Fixed the rotation issue with the old emulator versions.
  • Added wipe-data start option (factory reset).
  • Updated the config for Number of Cores and RAM to reflect the real device.
  • Surface Duo-related updates since the last release.

Extended controls window with 3D posture preview

Read more in this blog post.

2020.806.1 (September 3rd, 2020)

This update includes bug fixes and adds support for dual-screen web development in Microsoft Edge. The dual-screen CSS and JavaScript APIs can be enabled by typing edge://flags in Edge and enabling the Experimental Web Platform features.

Read more in this blog post.

2020.710.3 (July 16, 2020)

This update includes bug fixes and adds support for Jetpack Window Manager.

Read more in this blog post.

2020.429.2 (May 7th, 2020)

This release contains the following updates:

  • Support for using a keyboard in all posture and flip modes.
  • App Drawer and App searches support.
  • Improved Notifications support.
  • Improved Settings and quick settings experience to support dual screens.
  • Enhanced Camera experience (you can access that via the Emulator too!).
  • Several platform improvements to better support app compatibility around rotation, resizing, fullscreen, and spanning scenarios.

Read more in this blog post.

2020.202.1 (February 20th, 2020)

Updates in this release:

  • Changes to how size is reported to an app.
  • Updates to DisplayMask API.
  • Surface Duo Image Build Flavor is now a USER build and not USERDEBUG.

Read more in this blog post.

First preview release (January 31st, 2020)

The first Surface Duo emulator release includes:

  • Native Java APIs to support dual-screen development, including the DisplayMask API, Hinge Angle sensor, and new device capabilities.
  • Simulates postures, gestures, hinge angle, and mimics the seam between the two screens.

Change the emulated device hinge angle

This version of the emulator does not have a dedicated hinge angle control. Instead the Pressure (hPa) sensor control was re-purposed to send hinge angle change events.

You can access the pressure control from the Extended controls window (the ... ellipsis button at the bottom of the emulator toolbox). Then choose Virtual sensors > Additional sensors tab, and move the slider or edit the text box for Pressure (hPa) with values between 0 and 360.

Pressure sensor in the additional virtual sensors window

See this hinge angle blog post for more details and a sample.

Change the emulated device posture

This version of the emulator does not have a dedicated device posture control. Instead the Relative humidity (%) sensor control is re-purposed to send posture change events.

You can access the pressure control from the Extended controls window (the ... ellipsis button at the bottom of the emulator toolbox). Then choose Virtual sensors > Additional sensors tab, edit the text box for Relative humidity (%) with values between 0 and 16 (avoid using the slider since it's hard to pick precise values).

Relative humidity sensor in the additional virtual sensors window

The values correspond to these postures:

Posture name Value
Closed 0
Peek (Right) 1
Peek (Left) 2
Book 3
Palette 4
Flat (DPM) 5
Flat (DLM) 6
Brochure (Right) 7
Brochure (Left) 13
Tent (Right) 8
Tent (Left) 14
Ramp (Right) 15
Ramp (Left) 16
Flip-P (Right) 9
Flip-L (Right) 10
Flip-P (Left) 11
Flip-L (Left) 12

Values 8 through 14 (tent and flip) can be expected to turn off one of the screens.

Read more in this blog post.