Building Best-In-class Miracast Solutions With Windows 10

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 22

Building best-in-class

Miracast solutions with


Windows 10
October 2016

Abstract
Miracast is a wireless display standard designed for mirroring screen content to an array of
devices that collectively provide a great user experience. Quality Wi-Fi, graphics,
composition, media encoders/decoders, and third party components are fundamental to this
experience.
This document is intended to provide Wi-Fi IHVs, graphics IHVs, PC OEMs, and Miracast
receiver manufacturers guidance to help ensure products designed for Miracast, deliver a
best-in-class Windows 10 experience.

Copyright
This document is provided "as-is." Information and views expressed in this document,
including URL and other Internet Web site references, may change without notice.
Some examples depicted herein are provided for illustration only and are fictitious. No real
association or connection is intended or should be inferred.
This document does not provide you with any legal rights to any intellectual property in any
Microsoft product. You may copy and use this document for your internal, reference
purposes.
2016 Microsoft. All rights reserved.
Please refer to Microsoft Trademarks for a list of trademarked products.
Intel is a registered trademark of Intel Corporation.
All other trademarks are property of their respective owners.

2016 Microsoft. All rights reserved.


2

Table of Contents
Abstract.................................................................................................................................. 1
Overview................................................................................................................................. 5
Miracast in Windows 10....................................................................................................... 5
Understanding Windows Miracast functionality...................................................................6
Miracast receiver connect app............................................................................................. 8
PC manufacturers designing for Miracast................................................................................9
Wi-Fi devices...................................................................................................................... 10
Graphics devices................................................................................................................ 10
Audio devices:................................................................................................................... 11
Hardware manufacturers (IHVs) designing for Miracast........................................................12
Wi-Fi device features for Miracast......................................................................................12
WDI driver testing for Miracast:.........................................................................................12
Supporting Miracast features:............................................................................................ 12
Extended channel switch announcement (eCSA)...............................................................12
For IHVs creating Miracast Receivers.....................................................................................13
Miracast-specific features to support.................................................................................13
Wi-Fi features..................................................................................................................... 13
IP address allocation in EAPOL-key frames.....................................................................13
Extended channel switch announcement (eCSA)...........................................................13
Updates to WPS information elements (IEs) for telemetry..............................................14
Graphic features................................................................................................................ 14
Support for the hardware cursor....................................................................................14
Media features................................................................................................................... 14
Diagnostic capabilities................................................................................................... 14
Support for Intel friendly name.......................................................................................14
Support for Intels receiver device URL..........................................................................14
Support for Intels receiver manufacturer logo...............................................................14
Support for Intels receiver manufacturer name.............................................................15
Support for Intels receiver model name........................................................................15
Support for Intels receiver version................................................................................15
Support for enhanced diagnostics..................................................................................15
Support for source receiver version................................................................................16
Support IDR requests..................................................................................................... 16

2016 Microsoft. All rights reserved.


3

Support for additional video formats..............................................................................16


Performance enhancements..............................................................................................16
End of frame marker...................................................................................................... 16
Adjusting the latency to provide a better experience in each scenario..........................16
Stream enhancements....................................................................................................... 17
Support for CABAC......................................................................................................... 17
Dynamically switch the resolution and frame rate.........................................................17
Extended functionality....................................................................................................... 17
UIBC support.................................................................................................................. 17
Microsoft real time bitrate modulation...........................................................................17
Technical details and validation............................................................................................. 18
How to verify that you are running a WDI driver............................................................18
IP address allocation in EAPOL-key frames technical details:.........................................18
Extended channel switch announcement (eCSA) technical details.................................18
Updates to WPS Information Elements (IEs) for Telemetry Technical Details..................19
Support for H/W Cursor Technical Details.......................................................................19
Validating Window 10 Miracast Extensions.....................................................................19
References............................................................................................................................ 21

2016 Microsoft. All rights reserved.


4

Overview
Miracast is a wireless display standard designed for mirroring your screen to an array of
devices. Quality Wi-Fi, Graphics, Composition, Media encoders/decoders and third party
components are fundamental to this experience.
This document provides Wi-Fi IHVs, Graphics IHVs, PC OEMs and Miracast receiver
manufacturers guidance to help ensure products designed for Miracast, deliver a Best-inClass Windows 10 experience.

Figure 1: Miracast Components

Miracast in Windows 10
Support for Miracast began in Windows 8.1, and since that time Windows investments in
Miracast as a projection experience has increased. Windows 10 delivers the most notable
features to date, including:

A native connection experience that allows a user to find and connect to Miracast
receivers.
Implementation of the Miracast standard to interoperate with the broadest set of
hardware.
A native Miracast RTSP stack fine-tuned to work for Miracast, which means no
additional software is required outside the Windows 10 OS.
Support for UIBC (User Input Back Channel), so that a Miracast receiver can be used
to control the Miracast source.
Support for Miracast extensions that enable additional capabilities that dramatically
improve the Miracast experience.

2016 Microsoft. All rights reserved.


5

High quality interaction with industry leading Microsoft Miracast receivers as well as
leading 3rd party Miracast receivers.
A soft receiver - Miracast receiver app (Connect) ships inbox in the Windows 10
Anniversary update on compatible devices.
Support for the projection of Protected Content.
The ability to remember a profile for reconnecting to Miracast receivers that are
frequently used which reduces subsequent connection times.

Understanding Windows Miracast functionality


Windows 10 provides native functionality that fades into the background to provide a
seamless Miracast experience. As you are building your solution it is important to
understand what that functionality is.
First and foremost, Windows provides a native connection experience that allows a user to
connect to a Miracast receiver. Once that connection is made the UI fades into the
background. A Miracast connection can be made in several ways:

Action Center. In the Action Center (Figure 2), click Connect.


Connect UI. Select Windows logo key+ K (Figure 3).
Device Picker UI. Windows Apps that support casting contain a device picker UI,
such as the Cast to device feature in the Windows Movie & TV App (Figure 4).

Figure 2: Connect Quick Action


Picker UI

Figure 3: Connect UI

Figure

4:

Device

2016 Microsoft. All rights reserved.


6

And if there is a need to remove a previously paired device Miracast device:

Removing Previously Paired Devices in Miracast: Go to Settings, click


Devices, click Connected Devices, select the device to remove, and then click
Remove device (Figure 5).

Figure 5: Removing a Miracast Sink from a Win10 Miracast source device


In addition to an integrated user experience Windows also provides the following Miracast
functionality:

A single extensible RTSP stack across all Windows devices. Smooth functionality with
any Win10 device brings interoperability with hundreds of millions of Windows 10
Miracast senders and receivers.
The ability to stream both clear and protected content (HDCP) if HDCP keys are
present.
UIBC (User Input Back Channel), which allows inputs from the Miracast receiver
(touch, stylus, mouse, keyboard and gamepad) to control the Miracast sender, ifand
only ifthe user explicitly allows this.
Several extensions from Intel and MSFT (4k AVC (H264), latency management, bitrate
modulation, 3:2 support, and more). Miracast extensions allow additional
functionality not otherwise found in the Miracast specification to be supported.
Push button pairing, auto push button, and PIN based paring, the most common
methods for pairing with a Miracast receiver.
Persistent profiles, which remembers if you have connected to a given Miracast
receiver in the past. This gives faster reconnections to the same Miracast receiver.
And if persistent profiles are not supported on the receiver, then Windows 10 adjusts
to that situation as well.

2016 Microsoft. All rights reserved.


7

Automatically adjusts to its role during connection negotiation. Because Miracast


uses a Wi-Fi Direct connection, Windows clients have the ability to assume one of
several Wi-Fi Direct roles dynamically. It is important to note that while the Windows
client will prefer to act as the Wi-Fi Direct GO (Intent 14) it is fully capable of acting as
a GC or and Auto-GO as well.
IP address assignment during the connection sequence, reducing the time to
connect.
Windows will reconnect quickly to previously paired Miracast receivers. Reconnection
time to well-designed Miracast sinks can take less than three seconds.

Miracast receiver Connect app


In the Windows 10 Anniversary Update, Microsoft released an app-based Miracast receiver
feature. This Connect app feature gives any Miracast Sender the ability to connect and
project to a device that is running Windows 10 Anniversary Update and which is capable of
using Miracast.
To start the Connect app, select the Windows Logo key
. On the application list, select the
Connect app. Windows validates the Sink device supports receiving a Miracast request.
Once validated, Windows displays a Connection UI dialog similar to that of Figure 6.

Figure 6: Connect App

2016 Microsoft. All rights reserved.


8

You can configure the Connect app to:

Run on a lock screen.


Require a PIN to allow pairing.
Require a user to grant access prior to a source connection.

These settings are located in Projecting to this PC, found by selecting Settings, and then
System.

Fig 7: Projecting to this PC settings


For more info about the Windows 10 Connect App guidelines, see the Continuum for phones:
FAQ.

PC manufacturers designing for Miracast


To design a best-in-class Microsoft Windows 10 Miracast experience PC Manufacturers of
desktops, laptops, tablets, and other form factors thoughtfully select Wi-Fi and Graphics
Devices. Consider the following when approving components:

2016 Microsoft. All rights reserved.


9

Wi-Fi devices
Windows 10 can perform Miracast over both the 2.4Ghz and 5Ghz bands and works well with
an 802.11n or 802.11ac capable Wi-Fi adapter.
Miracast streams data in real-time. Thoughtfully selecting a radio and antenna configuration
vastly improves the performance of the Miracast experience. Typically, an 802.11ac radio
using the 5Ghz band and a 2x2 antennae configuration produces a higher quality Miracast
experience than any 802.11n or 1x1 combination.
Ensure that Wi-Fi adapter manufacturers provide drivers specifically designed for the
Windows 10 Wireless Driver Interface (WDI). Wireless drivers developed to the WDI
framework are precisely designed for Miracast usage. These drivers demonstrate
successfully higher connection rates and yield quality Miracast sessions.
Lastly, verify Wi-Fi manufacturers successfully validated the following Windows Hardware
Lab Kit (HLK) tests:

Microsoft.Test.Networking.Wireless.WiFiDirect.BasicDiscoveryTests.*
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicPairingTests.*
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicReconnectTests.*

Details on the Microsoft Hardware Lab Kit (HLK) can be found on the download page for the
HLK.

Graphics devices
The Microsoft Miracast stack functions upon WDDM 2.0 (Windows Display Driver Model) and
greater. WDDM 2.0 was introduced with Windows 10.
Miracast Senders: A Miracast senders graphics device/driver must support a hardware
accelerated AVC (H264) Encoder. Note: HDCP 2.0 or greater is required to project protected
content from most major video streaming content providers.
Miracast Receivers: A Miracast receivers graphic device/driver must support a hardware
accelerated AVC (H264) Decoder. Note: HDCP 2.0 or greater is required to receive protected
content from most major video streaming content providers.
To design a best-in-class Microsoft Windows 10 Miracast sender/receiver the graphics
device/driver should support hardware accelerated HEV encode and decode. This enables
higher resolutions, for instance 4K, at higher bitrates using less bandwidth than AVC.
Required

WDDM 2.0
Hardware accelerated AVC (H264) encoder (Miracast sender)
Hardware accelerated AVC (H264) decoder (Miracast receiver)

Optional:

HDCP 2.x transmit key (Miracast sender)


HDCP 2.x Receive key (Miracast receiver)
Hardware accelerated HEVC (H265) encoder (Miracast sender)

2016 Microsoft. All rights reserved.


10

Hardware accelerated HEVC (H265) decoder (Miracast receiver)

Audio devices:
At minimum, an audio device/driver should support LPCM. The Miracast specification lists
optional audio codecs, AAC & DD+. To maintain lower latency, Windows 10 only supports
LPCM.
Note: Microsoft is evaluating additional audio codec support in future releases of Windows.

2016 Microsoft. All rights reserved.


11

Hardware manufacturers (IHVs) designing for Miracast


To design a best-in-class Microsoft Windows 10 Miracast experience requires Device
Manufacturers (IHVs) to adhere to high quality design and driver development standards.

Wi-Fi device features for Miracast


Guidance for Wi-Fi Device Manufacturers (IHVs) developing a Miracast solution are listed as
follows:
Declare capability support for each of these functions through WDI.
Wi-Fi Direct Device

: Supported

Wi-Fi Direct GO
Wi-Fi Direct Client

: Supported
: Supported

P2P Device Discovery

: Supported

Extended Channel Switch Announcement : Supported


Miracast Sink

: Supported

P2P GO ports count

:1

P2P Clients Port Count

:1

WDI driver testing for Miracast:


Wi-Fi Device Manufacturers should successfully validate the following Windows Hardware Lab
Kit (HLK) tests:

Microsoft.Test.Networking.Wireless.WiFiDirect.BasicDiscoveryTests.*
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicPairingTests.*
Microsoft.Test.Networking.Wireless.WiFiDirect.BasicReconnectTests.*

Supporting Miracast features:


There are specific Miracast features that Wi-Fi Device Manufacturers should support to
achieve a best-in-class Microsoft Windows 10 Miracast experience.

Extended channel switch announcement (eCSA)


In almost all cases where a Windows 10 device connects to a Miracast receiver it is also
simultaneously connected to a Wi-Fi access point for Internet connectivity. In many cases
like this the receiver and the Wi-Fi access point will be on different wireless channels. This
type of multi-channel mode typically causes video quality to degrade, because the wireless
device must continually switch between channels to maintain simultaneous connectivity to
both endpoints.
In several cases like this, a Windows client can determine a multi-channel condition and can
use eCSA to transform from Multi-Channel to Single Channel conditions.

2016 Microsoft. All rights reserved.


12

For IHVs creating Miracast Receivers


There are a number of items that any Miracast receiver maker should take into
consideration:

Support persistent profiles: Windows supports and prefers Invitation on any


subsequent reconnections to a Miracast receiver. If, however, the receiver does not
support Invitation and returns a proper status (8 - Fail; Unknown P2P Group) then
Windows 10 will retry with a new pairing on each connection attempt.
If you plan to implement UIBC on a Miracast receiver, disable the Nagle algorithm,
as it queues frames before sending. Queueing cursor and keyboard frames results in
a poor experience. These type of packets should be sent as quickly as possible
without queueing.
During the establishment of the RTSP session, keep TCP retry intervals very low.
Performing exponential back off early in the cycle results in long connect times if a
single message has to be retransmitted.
If the Miracast receiver is acting as a GO, a peer may attempt to reconnect to you. In
this case you will receive an association request directly from that peer. If you no
longer have a profile for that peer, fail the association with an association response
frame which includes a P2P IE with status (8 - Fail; Unknown P2P Group). Windows 10
will retry the connection with a new pairing attempt.

Miracast-specific features to support


As part of controlling the Miracast source implementation, weve added support for several
extensions that improve the overall experience. IHV and OEMs building a Miracast receiver
should consider supporting the follow features and extensions for the best Miracast
experience.

Wi-Fi features
IP address allocation in EAPOL-key frames
Implementing IP addressing allocation in EAPOL-key reduces the amount of time taken to
connect by including the IP address that the remote client should use in the Wi-Fi Direct
exchange itself. The client connects more quickly by skipping the need to perform DHCP
address assignment after the connection is established.

Extended channel switch announcement (eCSA)


In almost all cases where a Windows 10 device connects to a Miracast receiver it is also
simultaneously connected to a Wi-Fi access point for Internet connectivity. In many cases
like this the receiver and the Wi-Fi access point are on different wireless channels. This type
of multi-channel mode typically causes video quality to degrade since the wireless device
must continually switch between channels to maintain simultaneous connectivity to both
endpoints.

2016 Microsoft. All rights reserved.


13

Windows client can sometimes determine a multi-channel condition and can use eCSA to
transform from Multi-Channel to Single Channel conditions.

Updates to WPS information elements (IEs) for telemetry


Windows captures the success of Miracast connections across the hundreds of Miracast
receivers that are in the market. By setting a few simple fields Windows can identify the type
of device Windows clients are connecting to. This allows us to reach out to you as a
hardware partner if we notice that there is an incompatibility or sudden loss of quality.

Graphic features
Support for the hardware cursor
Movement of the mouse cursor significantly impacts the perceived end to end (E2E) latency
of the Miracast session. E2E latency is how long it takes a user to move the mouse until that
movement is rendered on the Miracast display. Before hardware cursor, the mouse was a
part of the encoded video stream, meaning it has the same E2E latency as the Miracast
stream. Typically, this was over 100ms. Hardware cursor adds the ability to send the mouse
image as well as the coordinates to the sink, where the receiver can render them over the
Miracast stream. Sending the mouse data out of band from the Miracast streams allows the
mouse latency to drop to sub 30ms.

Media features
Microsofts Miracast RTSP stack is extended to provide useful information while diagnosing
Miracast failures, extended functionality, and better stream quality & E2E latency.

Diagnostic capabilities
Microsoft Miracast stack implements a number of 1st and 3rd party extensions that are
detailed in this paper. Some of these extensions are useful while diagnosing Miracast failures
and creating reports. These extensions include:

Support for Intel friendly name


Microsoft Miracast receiver supports Intels extension for a friendly (human readable)
receiver name. This helps diagnose failures and reporting.

Support for Intels receiver device URL


Microsoft Miracast receiver supports Intels extension for providing a URL for product
information for the Miracast sink. This helps diagnose failures and reporting.

Support for Intels receiver manufacturer logo


Microsoft Miracast receiver supports Intels extension for specifying an image representing
the manufacturer of the Miracast sink. This helps diagnose failures and reporting.

Support for Intels receiver manufacturer name


Microsoft Miracast receiver supports Intels extension for Intels extension for specifying the
name of the manufacturer of the Miracast sink. This helps diagnose failures and reporting.

2016 Microsoft. All rights reserved.


14

Support for Intels receiver model name


Microsoft Miracast receiver supports Intels extension for specifying the model name of
Miracast Sink. This helps diagnose failures and reporting.

Support for Intels receiver version


Microsoft Miracast receiver supports Intels extension for specifying the firmware of the
Miracast sink. This helps diagnose failures and reporting.

Support for enhanced diagnostics


Microsoft Miracast source supports an enhanced diagnostics protocol extension that enables
the Miracast Receiver to report error codes and reasons to the Miracast Source.
Return Code

C00D36F0

C00D3E8C

C00D6D74

C00D36CB

C00D4278

C00D36C0

Error Message

Failure Condition

MF_E_CANNOT_PARSE_BYTESTREAM

Cannot parse byte stream; the


incoming data is not a valid MPEG2 stream.

MF_E_INVALID_FORMAT

The stream is valid, but the format


(resolution, frame rate, channel
count, and so on) cannot be
handled.

MF_E_TRANSFORM_CANNOT_CHANGE_ME
DIA TYPE_WHILE_PROCESSING

The format of the H.264, AAC, or


AC3
[ITU-H.264201201]
bit
streams changed, but the change
cannot be handled.

MF_E_INVALID_STREAM_DATA

The H.264, AAC, or AC3 bit stream


is not valid and cannot be
decoded.

MF_E_NET_TIMEOUT

The Wi-Fi Display Receiver timed


out waiting for a keep-alive or RTP
data.

MF_E_INVALID_TIMESTAMP

The presentation time stamps in


the
MPEG-2
Packetized
Elementary Stream packets are
corrupted, and the Wi-Fi Display
Receiver can no longer render the
stream

Support for source receiver version


Microsoft Miracast receiver supports display source identification, which allows the version
number of the Miracast source and allows for a unique identifier for the current Miracast
session. These attributes help diagnose failures and reporting.

2016 Microsoft. All rights reserved.


15

Support IDR requests


Microsoft Miracast source supports sending instantaneous decoder refresh (IDR) requests
during an RTSP M13 message. This IDRs can improve video stream if too many dropped
packets have occurred or if the Miracast receiver cannot request an IDR frame.

Support for additional video formats.


Microsoft Miracast source supports additional video formats, including 4k and HEVC
encoding when available, including:

CEA resolutions and refresh rates with extension


VESA resolutions and refresh rates with extension
Display native resolution refresh rates with extension
Profiles bitmap with extension
Levels bitmap with extension

Performance enhancements
Microsoft supports extensions to make Miracast sinks more performant in certain situations.
These extensions are:

End of frame marker


Microsoft Miracast source repurposes the M-Bit of the RTP packet header to denote the end
of the frame in the RTP packet. A Miracast receiver looking for the M-bit can save time by
starting to decode the frame contained in the RTP packets instead of waiting for the next
RTP packet to arrive with the header of the next frame.

Adjusting the latency to provide a better experience in each scenario


There are always tradeoffs between providing higher stream quality vs. ensuring lower
latency. Interactive content benefits from having minimal latency and can compromise
somewhat on quality, whereas media content is best when there is a high quality stream but
can compromise on latency. Microsoft enables the receiver to dynamically react to what the
user is doing. By introducing latency roles, a Miracast receiver can adjust its latency based
on the users intent.

Value

Description

Low

Specifies that the Wi-Fi Display Receiver SHOULD keep latency under 50
milliseconds.

Normal

Specifies that the Wi-Fi Display Receiver SHOULD keep latency under 100
milliseconds.

2016 Microsoft. All rights reserved.


16

High

Specifies that the Wi-Fi Display Receiver SHOULD buffer additional frames in order
to ensure smooth playback, as long as the latency stays under 500 milliseconds.

Stream enhancements
Microsoft Miracast source supports extensions that produce better stream quality. These
extensions are:

Support for CABAC


Microsoft Miracast source adds support for Context-Adaptive Binary Arithmetic Coding
(CABAC) for AVC (H264) Baseline Profile and High Profile. This produces more efficient
encoding and therefore uses less bandwidth to transmit the Miracast stream.

Dynamically switch the resolution and frame rate


The dynamic resolution and refresh rate extension allows the Miracast Source to change the
video resolution or video refresh rate of the video stream without sending an additional RealTime Streaming Protocol (RTSP) message to the Miracast Sink. If supported, the Miracast
receiver monitors the sequence parameter set/picture parameter set (SPS/PPS) in the H.264
stream for changes to the video resolution or video frame rate. The receiver adapts to such
changes without displaying any visible changes such as flicker or a black screen.

Extended functionality
Microsoft Miracast source supports extensions that provide extended functionality to the
Miracast experience. These extensions are:

UIBC support
User Input Back Channel (UIBC) is an optional Wi-Fi Direct feature for sending input
commands from the Miracast receiver to the Miracast sender for processing. The user can
then interact naturally with the Miracast receivers peripherals.
For example,
Keyboard\Mouse\Touch\Pen inputs attached to a Miracast receiver can act as input to the
Miracast Source.

Microsoft real time bitrate modulation


Microsoft Miracast source supports RTCP to track a users current network condition. Using
packet information from RTCP in conjunction within format change capability, the Microsoft
Miracast source modulates the bitrate to provide a smooth streaming experience even in
poor network conditions. In addition, if a users network conditions are good, the bitrate
increases, providing a better stream quality.

Technical details and validation


This section provides sources for technical details for the individual features referenced in
this document, As well as guidance on how to validate a given feature.

2016 Microsoft. All rights reserved.


17

How to verify that you are running a WDI driver


You can validate that a Wi-Fi driver is a WDI driver by typing the following at a CMD prompt:
NETSH WLAN SHOW WIRELESSCAPABILITIES
This returns a list of values in the output including:
WDI Version (Windows)
WDI Version (IHV)
If these values are all zeros, (e.g. 0.0.0.0) then this is not a WDI driver. If these values are
non-zero, a WDI driver is present. This is an example of the return values from a WDI driver:
WDI Version (Windows)

: 0.1.0.21

WDI Version (IHV)

: 0.1.0.1

IP address allocation in EAPOL-key frames technical details:


The Wi-Fi_P2P_Technical_Specification_v1.5 specification contains new methods to do IP
address allocation during connection establishment instead of performing post-connection
DHCP. Section 4.2.8, IP Address Allocation in EAPOL-Key Frames (4-Way Handshake) shows
how to implement this functionality.
To validate, use a wireless sniffer. The IP address request KDE and IP allocation KDE appear
in the EAPOL-key exchange frames.

Extended channel switch announcement (eCSA) technical details


Extended Channel Switch Announcement is defined in the 802.11-2012 specification. This
specification covers the implementation in great detail in several sections including 6.3.37,
8.5.8.7, 8.4.2.55, and 10.10 among others. Please refer to this specification for technical
information.
How to validate: You can validate that a WDI Wi-Fi driver supports eCSA by performing the
following at a CMD prompt: NETSH WLAN SHOW WIRELESSCAPABILITIES. You will see a list
of values in the output including the following:
Extended Channel Switch Announcement

: Supported

Updates to WPS Information Elements (IEs) for Telemetry Technical Details


We request that you fill in the corresponding WPS Information Elements (IEs) in WPS, Wi-Fi
Direct & Wi-Fi Display correct. The specific mappings that we use for Windows are:

WPS:Manufacturer: Please put in the name of the Manufacturer, likely OEM or OEM
+ Chipset IHV, ex: Microsoft

2016 Microsoft. All rights reserved.


18

WPS:Model: This is the Unique Model for the device, ex: MWDA
WPS:Model-Number: This is used to store the Firmware Version, ex: 1.3.8350

You can validate that the Windows 10 device can properly parse the Miracast receivers
Manufacturer, Model and Model-number values by performing the following: Connect to the
Miracast receiver, then go to Device Manager, and look under Software Devices. Here you
will see the Miracast receiver name listed. Look at its Properties. On the Details tab look for
the following 3 properties: PnP-X manufacturer, PnP-X model name, and PnP-X model
number.

Support for H/W Cursor Technical Details


A Miracast sink vendor can use the hardware cursor validation tool and a small suite of
cursor to validate their hardware cursor implementation. For additional details please see
[MS-WDHCE]: Wi-Fi Display Protocol: Hardware Cursor Extension

Validating Window 10 Miracast Extensions


Win10 based Miracast source and sink support all of the above Miracast extensions. When
creating a Win10 based Miracast source and sink you can validate that the extension is
supported using an over the air sniffer like Wireshark. Section 3 of [MS-WFDPE]: Wi-Fi Display
Protocol Extension provides an M3 request and response for each extension defined in this
document.
For example, to validate Support for Enhanced Diagnostics the M3 request and response
captured by a sniffer would look similar to:

The following is an example of an M3 request for enhanced diagnostics

GET_PARAMETER rtsp://localhost/wfd1.0 RTSP/1.0 CSeq: 2 Content-Type: text/parameters


Content-Length: 69
wfd_video_formats wfd_audio_codecs microsoft_diagnostics_capability

The following is an example of an M3 response for enhanced diagnostics

RTSP/1.0 200 OK CSeq: 2 Content-Length: 388 Content-Type: text/parameters


wfd_video_formats: 00 00 01 01 00000001 00000000 00000000 00 0000 0000 00 none
none wfd_audio_codecs: LPCM 00000003 00 microsoft_diagnostics_capability: supported

2016 Microsoft. All rights reserved.


19

OS
Support

Driver
Support

Receive
r
Support

Documentation

2016 Microsoft. All rights reserved.


20

H/W Cursor

Windows 10

None

Yes

MS-WDHCE

Latency Switching

Windows 10

None

Yes

MS-WFDPE

Windows 10

None

Yes

Windows 10

Wi-Fi

Yes

WiFi_P2P_Technical_Specification_v1.5
802.11-2012 Specification

Windows 10

None

Yes

MS-WFDPE

IP Address Allocation
in EAPOL-Key Frames
Extended
Channel
Switch
Announcement
Dynamic
Resolution/Frame
Rate
End of Frame Marker

Windows 10

None

Yes

MS-WFDPE

CABAC Support

Windows 10

None

Yes

MS-WFDPE

Updates
Telemetry
UIBC Support

Windows 10

None

Yes

MS-WFDPE

Windows 10

None

Yes

MS-WFDPE

Windows 10
Anniversary
Update
Windows 10

None

Yes

MS-WFDPE

None

Yes

MS-WFDPE

Windows 10
Anniversary
Update
Windows 10

None

Yes

MS-WFDPE

None

Yes

MS-WFDPE

Windows 10

None

Yes

MS-WFDPE

Windows 10

None

Yes

MS-WFDPE

Windows 10

None

Yes

MS-WFDPE

Windows 10

None

Yes

MS-WFDPE

Windows 10

None

Yes

MS-WFDPE

Windows 10

None

Yes

MS-WFDPE

Windows 10

None

Yes

MS-WFDPE

10

for

11

Microsoft Real Time


Bitrate Modulation

12

Dynamically switch
the Resolution and
Frame Rate
Support
for
Additional
Video
formats
Support IDR requests

13

14
15
16

17
18

19

20

21

Support for Source


Receiver Version
Support
for
Enhanced
Diagnostics
Support for Intels
Receiver Version
Support for Intels
Receiver
Model
Name
Support for Intels
Receiver
Manufacturer name
Support for Intels
receiver
Manufacturer logo
Support for Intels
Receiver Device URL

2016 Microsoft. All rights reserved.


21

22

Support
for
Friendly name

Intel

Windows 10

None

Yes

MS-WFDPE

References

[MS-WFDPE]: Wi-Fi Display Protocol Extension


[MS-WDHCE]: Wi-Fi Display Protocol: Hardware Cursor Extension
Wi-Fi_P2P_Technical_Specification_v1.7 (available through http://www.wi-fi.org/)
The 802.11-2012 specification (available through http://IEEE.org )
Wi-Fi_Simple_Configuration_Technical_Specification_v2.0.1.5
(available
through
http://www.wi-fi.org/)
Details on the Microsoft Hardware Lab Kit (HLK) can be found here.

2016 Microsoft. All rights reserved.


22

You might also like