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.
- Recurring "Restart required" notification for "CA IT Client Manager r12 Secure Control Adapter".
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
Special Note regarding DirectX Hardware Acceleration:
After installing the ITCM agent, applying the updated RC driver, and setting the HardwareAcceleration=1 parameter, you may notice there is still a secondary display adapter in dxdiag that is preventing applications that use hardware acceleration from working. To resolve this, connect and disconnect an RC session once. Upon disconnect of the RC session, run dxdiag to confirm the erroneous secondary display adapter has now been removed.