Remote Control of Windows 10 Endpoints

Document ID : KB000072391
Last Modified Date : 07/12/2018
Show Technical Document Details
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.
Development has published the following patches for r14 SP2, to address the problem with loading the mirror driver:

Note these patches were initially released as the following test fixes and are exactly equivalent:
T5SM158 (Win10 1709 RCVideo capture x64)
T5SM159 (Win10 1709 RCVideo capture 32bit)

Attached to this KB article is a script provided by CA Support to help automate the installation of the updated RC mirror driver.  Refer to the "RC Driver Update" found at the bottom of this article.  You will need to right-click and "save as" or "save link as" in order to download the attachment.

Here is how to install the new mirror driver:

Method 1: Batch Script run directly on the endpoint
- Extract the ZIP on the target system and run MirrorInst.cmd.
--> The script will verify ITCM is installed, the RC feature is installed and the system architecture (x86 vs x64).
--> Once verified it will copy the appropriate RCMirrorInstall.exe and execute RCMirrorInstall.exe -install.

Sample output:
User-added image

Method 2: Software Package based on Batch Script
- It's the same script from Method #1 above, except it's pre-packaged for Software Delivery.
- Copy/Paste the folder containing the reginfo folder and the fix files, into DSM Explorer --> Software --> Software Package Library.
- Once imported, you can use this package to push to agents.
- The procedure is setup to use the $rf macro, so job output will be returned back to Software Delivery.

User-added image
Additional Information:
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.
File Attachments:
RC Driver Update