Note
This document describes how drivers can implement a custom Miracast stack in Windows 8.1. As of Windows 10, the OS ships with a built-in Miracast stack that can work on any GPU and it is no longer recommended that drivers implement a custom Miracast stack. This documentation is therefore deprecated and Microsoft may remove support for custom Miracast stacks in a future version of Windows.
I had the same problem when testing a Surface Hub and found that Microsoft Windows 10 Security Baseline is blocking Miracast when the laptop is using the Public Windows Firewall because the baseline doesn’t allow the local firewall rules to be merged with the rules from the GPO. Miracast is a built-in feature in a Windows 10 device, to be able to update its driver you may follow these steps, Right-click on the Windows icon on the bottom left of your screen. This app provides settings and firmware updates for the Microsoft Wireless Display Adapter.
Wireless (Miracast) displays can optionally be supported by Windows Display Driver Model (WDDM) 1.3 and later drivers. This capability is new starting with Windows 8.1.
- As of Windows 10, the OS ships with a built-in Miracast stack that can work on any GPU and it is no longer recommended that drivers implement a custom Miracast stack. This documentation is therefore deprecated and Microsoft may remove support for custom Miracast stacks in a future version of Windows.
- Try updating the Display drivers either from device manager or the latest driver in HP Support website and check if the issue persists. Follow the steps to update the audio drivers: a. Press Windows key + X key and click Device Manager. Expand Display Adapter and Select Graphic. Right-click on the Graphic and click on Update driver.
- Microsoft has built some great new technologies into Windows 10 to make it more efficient and power, but they've also included some niceties like Wireless di.
For more information on the requirements of drivers and hardware to support Miracast displays, refer to the Building best-in-class Wireless Projection solutions with Windows 10 guide and the relevant WHCK documentation at Device.Graphics.WDDM13.DisplayRender.WirelessDisplay.
Miracast design guide
These design guide sections describe how display miniport drivers and Miracast user-mode drivers support Miracast displays:
Miracast reference
These reference sections describe how to implement this capability in your drivers:
User-mode device driver interfaces (DDIs)
Wireless display callback functions called by Miracast user-mode drivers
The reference pages in this section describe wireless display (Miracast) user-mode functions that the operating system implements. Only Miracast user-mode drivers can call these functions.
Pointers to the Miracast display callback functions are returned in a MIRACAST_CALLBACKS structure.
Topic | Description |
---|---|
PFN_GET_NEXT_CHUNK_DATA | Provides info about the next Miracast encode chunk that was reported to the Microsoft DirectX graphics kernel subsystem when the DXGK_INTERRUPT_TYPE interrupt type is DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE. |
PFN_MIRACAST_IO_CONTROL | Called by the user-mode display driver to send the kernel-mode display miniport driver a synchronous I/O control request. |
PFN_REGISTER_DATARATE_NOTIFICATIONS | Called by the user-mode driver to register with the operating system to receive network quality of service (QoS) notifications and the current network bandwidth of the Miracast connection. |
PFN_REPORT_SESSION_STATUS | Called by the user-mode display driver to report the status of the current Miracast connected session. |
PFN_REPORT_STATISTIC | Called by the user-mode display driver to report the statistics of the Miracast link to the operating system. |
Wireless display functions implemented by Miracast user-mode drivers
The reference pages in this section describe wireless display (Miracast) functions that a Miracast user-mode driver must implement. This type of driver runs in a standalone DLL.
In response to an operating system call to the QueryMiracastDriverInterface function, the Miracast user-mode driver must supply pointers to these functions in the MIRACAST_DRIVER_INTERFACE structure, except for pfnDataRateNotify, which is has a pointer declared in RegisterForDataRateNotifications.
Topic | Description |
---|---|
PFN_CREATE_MIRACAST_CONTEXT | Called by the operating system to create a user-mode Miracast context. |
PFN_DESTROY_MIRACAST_CONTEXT | Called by the operating system to destroy a user-mode Miracast context. |
PFN_HANDLE_KMD_MESSAGE | Called by the operating system to handle the asynchronous kernel-mode message that the Miracast user-mode driver receives when the display miniport driver calls the DxgkCbMiracastSendMessage function. |
PFN_DATARATE_NOTIFICATION | Called by the operating system to notify the Miracast user-mode driver that the bit rate of the Miracast network link has changed. This function is registered with the operating system when the RegisterForDataRateNotifications function is called. |
QUERY_MIRACAST_DRIVER_INTERFACE | Called by the operating system to query the Miracast user-mode driver interface, MIRACAST_DRIVER_INTERFACE. |
PFN_START_MIRACAST_SESSION | Called by the operating system to start a Miracast connected session. |
PFN_STOP_MIRACAST_SESSION | Called by the operating system to start a Miracast connected session that had earlier been started by a call to the StartMiracastSession function. |
Wireless display (Miracast) structures and enumerations
All user-mode structures and enumerations that are used with Miracast display device driver interfaces (DDIs).
Topic | Description |
---|---|
MIRACAST_CALLBACKS | Contains pointers to wireless display (Miracast) runtime callback functions that the Miracast user-mode driver can call. |
MIRACAST_CHUNK_DATA | Contains encode chunk data that is used when a user-mode driver calls the wireless display (Miracast) GetNextChunkData function. |
MIRACAST_CHUNK_ID | Stores info that identifies a wireless display (Miracast) encode chunk. |
MIRACAST_CHUNK_INFO | Contains info about a specified wireless display (Miracast) encode chunk. |
MIRACAST_CHUNK_TYPE | Specifies the types of wireless display (Miracast) chunk info that is to be processed. |
MIRACAST_DATARATE_STATS | Contains info used in the wireless display (Miracast) pfnDataRateNotify function about the audio/video encoder bit rate and failed or retried Wi-Fi frames. |
MIRACAST_DRIVER_INTERFACE | Contains pointers to wireless display (Miracast) functions that are implemented by the Miracast user-mode driver. |
MIRACAST_PROTOCOL_EVENT | Specifies the types of wireless display (Miracast) protocol event that the user-mode display driver should report. |
MIRACAST_SESSION_INFO | Contains info on a wireless display (Miracast) connected session. |
MIRACAST_STATISTIC_DATA | Contains Miracast statistics data that the user-mode display driver reports to the operating system. |
MIRACAST_STATISTIC_TYPE | Specifies types of Miracast statistics data that the user-mode display driver generates. |
MIRACAST_STATUS | Specifies status types that the user-mode display driver uses to report Miracast connection status. |
MIRACAST_WFD_CONNECTION_STATS | Contains bit rate info on the Wi-Fi Direct connection. |
These additional user-mode structures and enumerations support Miracast displays and are new or updated for Windows 8.1:
- DISPLAYCONFIG_TARGET_BASE_TYPE (new)
- DISPLAYCONFIG_VIDEO_SIGNAL_INFO (AdditionalSignalInfo child structure added)
- DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE constant added)
- D3DKMDT_VIDEO_SIGNAL_INFO (AdditionalSignalInfo child structure added)
- DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE constant added)
Kernel-mode DDIs
Wireless display (Miracast) display callback interface
The Miracast display callback interface contains functions that are implemented by the Microsoft DirectX graphics kernel subsystem to support wireless (Miracast) displays. This interface is supported starting in Windows 8.1.
This section contains reference pages for these kernel-mode functions, which are called by Windows Display Driver Model (WDDM) 1.3 and later display miniport drivers:
Topic | Description |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE | Sends an asynchronous message to the user-mode display driver. |
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | Called in kernel mode when the message that was sent to the user-mode driver with a call to the DxgkCbMiracastSendMessage function has completed or has been canceled. |
DXGKCB_MIRACAST_REPORT_CHUNK_INFO | Called by the display miniport driver to report info about an encode chunk. |
The display miniport driver must fill in pointers to these functions in the DXGK_MIRACAST_DISPLAY_CALLBACKS structure.
Wireless display (Miracast) interface
This section contains kernel-mode functions that are implemented by display miniport drivers that support wireless (Miracast) displays. This interface is supported starting in Windows 8.1.
Pointers to the Miracast interface functions are returned in a DXGK_MIRACAST_INTERFACE structure.
Topic | Description |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | Called in kernel mode when the message that was sent to the user-mode driver with a call to the DxgkCbMiracastSendMessage function has completed or has been canceled. |
DXGKDDI_MIRACAST_CREATE_CONTEXT | Creates a kernel-mode context for a Miracast device. |
DXGKDDI_MIRACAST_DESTROY_CONTEXT | Destroys an instance of a Miracast device. |
DXGKDDI_MIRACAST_HANDLE_IO_CONTROL | Called by the operating system to request that the display miniport driver process a synchronous I/O control request in response to a user-mode display driver call to the MiracastIoControl function. |
DXGKDDI_MIRACAST_QUERY_CAPS | Queries the Miracast capabilities of the current display adapter. The operating system calls this function only when the display adapter is first started and then stores the capabilities that are returned. |
These additional kernel-mode structures and enumerations support Miracast displays and are new or updated for Windows 8.1:
Update Miracast Windows 10
- D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY (D3DKMDT_VOT_MIRACAST constant added)
- D3DKMDT_VIDEO_SIGNAL_INFO (AdditionalSignalInfo child structure added)
- DXGK_CHILD_STATUS (Miracast child structure added)
- DXGK_CHILD_STATUS_TYPE (StatusMiracast constant added)
- DXGKARGCB_NOTIFY_INTERRUPT_DATA (MiracastEncodeChunkCompleted child structure added)
Want to add a wireless display to your Windows 10 PC? It’s easy. Just use the popular, built-in feature, Miracast. Read on to find how…
What you’ll learn in this article:
What is Miracast?
Miracast is a standard wireless connection technology. It enables you mirror the device screen like laptops, tablets, smartphones to the displays like monitors, TVs and projectors without a USB cable. So you can simply regard Miracast as “HDMI over Wi-Fi“.
Miracast Display Port Driver Windows 10
Miracast now comes built into some devices, Windows 10 is one of them. If your display device doesn’t have the Miracast support, a Miracast adapter such as a Microsoft Wireless Display adapter can help you solve this problem.
Read on to see how to use Miracast…
Miracast Download For Windows 10
How do I set up and use Miracast on Windows 10?
- Check to see if the Windows 10 system on your PC is ready to go:
- Type connect in the search box from your Start menu.
- You’ll then see if the Windows 10 on your computer supports Miracast.
a) If you see the left below window, then you can set up Miracast on your Windows 10 computer.
b) If unfortunately, you see the right below window, don’t panic, follow How to solve Miracast not working on my Windows 10 computer to troubleshoot the problem first.
- Set up the Miracast on your Windows 10 computer and your display device:
- Turn on the display device you want to project to, like a TV or a projector. If your display device doesn’t have built-in Miracast support, plug a Miracast adapter such as a Microsoft Wireless Display adapter in your display device.
- On your Windows 10 PC keyboard, press the Windows logo key and I (at the same time) to invoke the Settings window.
- Click Devices.
- It will be shown in the Bluetooth & other devices section by default. Click Add Bluetooth or other device.
- Click Wireless display or dock.
6) The Windows 10 should detect your display device which you turned on before. Click your display device to project your Windows 10 computer to it.
Miracast Display Port Driver Windows 10 Pro
How do I solve Miracast not working on Windows 10?
See the error saying “The device doesn’t support Miracast, so you can’t project it wirelessly” when you check if the Windows 10 on your computer is ready to go? Don’t worry. The following solution may help you fix the problem.
- Is the Windows 10 system on your computer from a upgrade of Windows 7 or other earlier version?
If so, the Windows 10 system on your computer may not have the built-in Miracast support. In this case, you can make use of a Miracast adapter, like Microsoft wireless display adapter.
- Is the Window 10 system on your computer is of a clean-installed version?
If so, it should support Miracast then. Then why does this error still happen? Probably your display or Wi-Fi drivers are to blame. You can solve the problem through updating your drivers.
To update these drivers, the direct way is to download from the manufacturer’s website. If you’re not comfortable playing with device drivers, we recommend usingDriver Easy. It’s a tool that detects, downloads and (if you go Pro) installs any driver updates your computer needs.
- Download and install Driver Easy. Then run it on your Windows.
- Click Scan Now. All drivers problems of your computer would be detected less than 1 min.
- Click Update All to automatically download and install the correct version of all the drivers that are missing or out of date on your system (this requires the Pro version – you’ll be prompted to upgrade when you click Update All).
Note: You can do it for free if you like, but it’s partly manual. - Reboot your Windows 10 computer and try to set up Miracast again.
Driver For Miracast Windows 10
Are you able to enjoy using Miracast on Windows 10? Feel free to comment below with your own experience or for any question.