Since the release of Microsoft Windows 10 version 1709 (Falls Creator Update) and newer updates (1803, 1809), the mirror driver for Remote Control has stopped working as expected.
You may be experiencing anything of the following symptoms:
- Poor performance of the RC session.
- Blank or Black screens, upon successful connection to the remote host.
- Blue Screens (BSOD) or Green Screens (GSOD).
- High memory and CPU usage of the rcUtilCmd.exe process.
Client Automation -- r14 GA, SP1 and SP2.
Remote control has two connection modes: Driver and Polling
By default, ITCM has a policy set to "Auto", which will enable the RC host process on the endpoint to first try loading the RC mirror driver, and upon failure, fallback to use the polling mode. The mirror driver is attempted first, as it will have superior performance over using polling mode.
As of Win10 1709 and newer, a change was made by Microsoft, in a Windows API called EnumDisplayDevices. This change adversely affected the ability of the RC host process to find and load the mirror driver, resulting in every connection automatically using the polling mode. In many production environments, polling mode is simply unfit to fully establish or use the RC session.
In addition to the new RC mirror driver, the following policy is locally available, which will change the behavior of when the RC host process loads the RC driver. By default, the RC driver will be loaded when the process starts up, which may disable DirectX hardware acceleration on the endpoint, adversely affecting software requiring this acceleration. You may also notice high CPU or memory usage of the rcUtilCmd.exe process.
Note: this parameter is not available as default, so running GetParameterValue will return a not found type error.
ccnfcmda -cmd GetParameterValue -ps /itrm/rc/Host/General -pn HardwareAcceleration
ccnfcmda -cmd SetParameterValue -ps /itrm/rc/Host/General -pn HardwareAcceleration -v 1
0 = Load driver upon startup
1 = Load driver only at start of RC session